OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),是一种链路状态协议。
OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。OSPFv2是由RFC 2328定义的,OSPFv3是由RFC 5340定义的。
因为大部分人遇到的都是OSPFv2,本篇文章就介绍OSPFv2的邻居建立过程和邻居建立失败的可能问题。
一、OSPF邻居建立过程
以此图作为说明
1、down:邻居会话的初始阶段,表明没有邻居失效时间间隔内收到来自邻居路由器的hello包
2、init:收到hello报文后状态
3、2-way:收到的hello报文中包含自己的router-id 则状态为2-way,如果不能形成邻接关系则停留此状态,否则进入exstart 注意,DR和BDR选举等待时间40S(120S)
4、exstart:如果形成邻居关系,则从init状态转到exstart状态,开始协商主从关系,并确定DD的seq序列号
5、exchang:主从关系协商完毕后开始叫唤DD报文,此时状态为exchang
6、loading:DD报文交换完成
7、full:LSR重传列表为空,此时状态为FULL(邻居建立成功)
二、可能造成OSPF邻居建立失败的原因(主要的9种可能)
1、router-id冲突:router-id相同的相邻设备不可以正常建立邻居,不相邻设备虽然可以建立邻居,但可能出现路由问题。
2、认证配置错误:明文、密文,认证类型和认证秘钥keyid都要一致,否则无法建立邻居。
3、掩码不一致:MA的掩码需一致,p2p可以不一致。
4、区域类型不同:在OSPF中,hello、dbd、lsu中都会有option选项位
E位代表能处理外部路由LSA5 E=1
E=0 N=0就代表stub区域
5、hello dead时间不同(以华为为例)
MA和p2p的 hello dead时间分别为10S 40S
NBMA和P2MPhello dead时间分别为 30S 120S
6、mtu不一致:
MTU在DD报文中携带
如果MTU不一致,会卡在exstart或exchange,而无法进行到full。
7、被设置成了静默接口:静默接口不收发任何ospf报文,自然无法建立邻居
8、网络类型不匹配,MA和P2P,不能建立FULL的邻接关系,但通过修改hello时间可以建立full邻接关系
9、优先级为0:在OSPF中,优先级为0是不参与选举的,如果都为0,则无法选出DR,造成邻居建立失败。
如果觉得对您有用,还望给个赞,您的赞是我持续写作的动力!也欢迎私信交流。