OSPF建立邻接的过程:

 

建立邻接的关系首先进行数据库同步,每台路由器在DBD分组中描述它的链路状态数据库,在邻居中只交换LSA
头部,并且主和从路由器在DBD交换过程中发生,每台路由器对它收到的DBD的LAS头进行记录,发送LS请求自己
在DBD中看到LSA的头部的LSA,邻居路由器用LS更新分组回复,包含自己LSA的整个内容,这个LS更新分组发送
LAS ACK 确认,此时数据库交换完成,邻居进入FULL状态。

 

OSPF的八种状态机:

 

1.down

刚启动OSPF进程,还未收到邻居的任何信息。

 

2.attempt

只发生NBMA网络中,使用单播更新,发送HELLO分组,但从邻居没有收到任何信息。

 

3.init

只有一方收到的另一方的HELLO数据包,并且在邻居字段中收到对方的route-id.

 

4.two-way

本路由器收到对方的HELLO数据包,并且在邻居字段中看到自己的route-id.

 

5.exstart

在交换DBD之前阶段选出主/从路由器。

 

6.exchange

完成协商交换DBD.

 

7.loading

向对方发送LSA请求分组确定自己少哪些LSA,发送LSU告诉对方自己详细的LSA信息。并用LSA ACK确认。

8.full

数据同步,完成邻接关系。

 

OSPF邻居关系停在各状有态的原因:

一.OSPF邻居表为空
1.接口上没有启动OSPF

2.访问列表阻止了HELLO包分组。

3.hello间隔与DEAD时间不匹配。

4.区域ID不匹配。

5.PASSWD不对。

6.一个OSPF邻接体存在第二个IP地址。

7.frame-relay map中缺少broadbast关键字。

 

二.OSPF邻居关系停在ATTEMPT状态:

1.错误配置了neighbor语句。

2.ACL阻止了HELLO分组。

3.NBMA中单播中断。

 

三.OSFP邻居关系停在INIT状态:

1.hello在某一边丢失。

2.验证某一边启用。

四.OSPF邻居在TWO-WAY:

1.二边的优先级都为0

 

五.OSPF邻居停滞exstart/EXCHANGE状态

1.不匹配接口的MTU(可以使用ip ospf mtu-ingore忽略,在MTU小的一方打)

2.在邻居上有重复的ROUTE-ID.

 

 

六.OSPF邻居停滞在LOADING状态:

1.不匹配的MTU

2.链路状态分组错误。