ospf建立邻居需要什么条件?以下六条规则全部满足,领居关系才允许建立,领居关系建立不成功,可根据这六条排错。
OSPF邻居关系建立的六个条件,缺一不可
1、Router ID不相同
2、Area 相同,两台设备处于相同区域
3、Authentication-type(验证类型)和Authentication-key(验证口令)相同
4、Hello/dead时间相同 10s一次/40s超时
5、mask相同,比如双方都是24位掩码
6、特殊区域相同
PS:六条规则全部满足,领居关系才允许建立。领居关系建立不成功,可根据以上六条排错。
以两台路由器之间建立邻居关系为例:
1、R1发送hello报文(组播或者单播,链路层类型来定),neighbor字段为空
2、R2收到hello报文,为R1建立一个邻居数据结构,并把R1的邻居状态置为init,然后向R1发送hello报文,neighbor字段中包含R1的rougerID,表示自己收到了R1的hello报文。
3、R1收到R2的hello报文之后,为R2建立一个邻居数据结构,并把邻居状态置为2way,然后向R2发送hello报文,报文的neighbor字段中包含R2的routerID。
4、R2收到R1的hello报文后,把R1的邻居状态置为2way
至此,邻居关系就建立起来了,邻居路由器之间会按时发送hello报文进行保活,如果hello报文超时,那么该路由器就会宣告这里邻居失效。
OSPF 邻居关系不能正常建立的原因和解决方法
(1)接口上没有激活 ospf
(2)物理层或者是数据链路层协议 down.
(3)建立邻居的接口被 passive掉
(4)OSPF的 hello 组播地址被 ACL Block
(5)在 broadcast链路上的子网掩码不匹配
(6)Hello/dead 间隔不匹配
(7)认证方式或者是认证密码不匹配,使用 debug ip ospf adj 来查看,可以自己使用不同的情况来验证
(8)两台路由器处于不同的 AREA
(9)Stub/transit/NSSA 区域类型不匹配