1、邻居建立不起来,导致ospf建立不起来
邻居建立和Hello包有关,所以我们要看看Hello包里有什么东东会影响邻居建立。
a、Route ID一致。Route ID是唯一的,所以Route ID一致会导致邻居建立不成功
b、area ID不一致。
c、认证方式不一致。(不需要认证、明文认证、密文认证)
d、认证密码不一致。
e、掩码不一致
f、Hello time和Dead time不一致
其他原因:
g、接口链路故障,或者接口没有启用OSPF,导致接口收不到对端发送的Hello报文。
h、网络类型不一致(比如一边是P2P对等网络,一边是Broadcast广播;hello报文里没有网络类型这个字段,但是两边网络类型不一致有可能Hello time一致,也会有影响,有一种特例,如果Hello time时间一致,则可以建立邻居,但是接口类型不一致会导致学不到路由信息)
Cisico路由器可以使用show ip ospf interface f0/0查看f0/0的ospf接口信息
i、区域类型不一致(特殊区域和非特殊区域)
j、接口加入了静默接口(静默(被动)接口不会发送Hello报文,简单来说就是路由器连接PC的接口,PC不需要收到路由器发送的hello包等数据包,所以为了优化链路带宽,就可以将这个接口配置为静默(被动)接口)
2、OSPF邻居卡在不同的邻居状态
(1)init状态
什么情况状态一直处于init状态?
不发送Hello报文;接收不到Hello报文(ACL访问控制过滤了OSPF报文)。
R1给R2发送Hello包,但是R2一直不给R1发送Hello包,所以对于R1 来说就不认识R2 ,就会认为R2一直处于init状态。
如果想要R2状态处于init状态,那么R2 不发送Hello包给R1 即可;或者配置R1不接收R2发送的Hello报文,可以做ACL过滤。
(2)2-way状态
当接口优先级为0的时候不进行DR和BDR的选举,DRother之间处于2-way状态
Cisico路由器修改接口优先级ip ospf priority 0
(3)Exstart/Exchange状态
Exstart状态发送的DD报文不包含LSA摘要信息,这个状态是选主从的;exchange状态发送的DBD报文包含LSA摘要信息。
Exstart/Exchange状态交互DBD报文,在Exstart状态会进行MTU的检查。Cisico设备默认会检查,华为设备默认不检查,所以值为0。Cisico可以使用ip ospf mtu-ignore忽略MTU检查。
Cisico重新启动OSPF进程R1#clear ip ospf 1 process
修改接口的mtu:R1(config-if)#ip mtu 1300
三种情况:
1、两端的MTU不一致,任意一方开启了MTU检测,可以正常进入FULL状态。
因为不开启MTU检查的一端收到对端发送的DBD报文后会直接忽略MTU检查直接接收报文,MTU向小兼容,如图:假设R5开启了MTU检查,R4不开,R4的DBD报文发送给R5的时候检查MTU值大小,本端MTU值大于对端兼容收下数据包,R5发送DBD给R4,MTU虽然大于R4,但是R4不对MTU进行检查,所以收下数据包,两端进入exstart状态。DBR-R5发送带有LSA摘要的DBD报文给DR-R4,收下,都进入exchange状态。进入loading状态,交换路由更新信息,进入FULL状态。
2、两端都开启MTU检测
(1)、从设备的MTU大于主设备情况,主设备处于exchange状态,备设备处于exstart状态。
因为交互完DBD报文之后都进入了exstart状态,从设备给主设备发送DBD报文,从设备状态变为exchange,而主设备MTU比较小,MTU检查不通过,只能丢弃这个包,主设备无法进入exchange状态。
(2)、从设备的MTU小于主设备,两者都处于exstart状态。
两边都可以发送DBD选举主从进入exstart状态,但是从设备的MTU小,从设备接收不到主设备发送的第一个DBD报文,也就不会发送带有LSA摘要信息的DBD给主设备,也就无法进入exchange状态。
版权归原作者 2g网速 所有, 如有侵权,请联系我们删除。