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.链路状态分组错误。
转载于:https://blog.51cto.com/songe/1788462