本文档解释了show ip ospf neighbor命令显示init状态下的开放最短路径优先(OSPF)邻居的可能原因和解决方案。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
请看show ip ospf neighbor命令的以下输出:
router2#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 170.170.5.1 1 INIT/- 00:00:34 170.170.1.1 Serial0 router-2#
在本示例输出中,init状态表示路由器2看到来自邻居的hello数据包,但尚未建立双向通信。思科路由器在其hello数据包的邻居字段中包含处于初始(或更高)状态的所有邻居的路由器ID。要与邻居建立双向通信,路由器还必须在邻居的 HELLO 数据包的“Neighbor”字段中看到自己的路由器 ID。换句话说,处于init状态的邻居的路由器已收到来自邻居的hello数据包,但在邻居的hello数据包中未看到自己的路由器ID。在这种情况下,如果路由器未收到四个连续的hello,则会断开会话,OSPF邻接关系会断开。
本地路由器未列在邻居的hello数据包中的最可能原因是邻居未收到来自本地路由器的hello数据包。原因可能包括:
使用ping和traceroute命令验证路由器之间的链路是否运行正常。如果路由器之间的ping不成功,则链路无法正常工作,您需要排除故障。请参阅与您使用的第2层技术相关的故障排除页,如ISDN、以太网、ATM等。
如果邻居接口上定义了任何访问列表,则必须在输入访问列表中允许目标IP 224.0.0.5。
OSPF hello数据包的目的地址为224.0.0.5(所有ospf路由器组播地址)。
可能存在影响组播数据包到达相邻路由器的第二层或配置问题。您可以在组播地址224.0.0.5上使用ping命令来测试这一点,并确认从相邻路由器收到了响应。 在帧中继、X.25和ISDN等非广播介质中,第2层和IP地址之间需要映射。如果是静态映射(例如,接口级frame-relay map ip 1.1.1.1 100 broadcast或dialer map ip 1.1.1.1 broadcast name router1 55346 命令),则必须配置关键字broadcast以避免每次OSPF尝试发送组播hello数据包时出现封装故障。与访问列表一起使用的debug ip packet detail命令显示是否有任何封装故障。
身份验证未在两端启用。未启用身份验证的路由器仍会处理来自邻居的hello数据包,并会看到邻居处于init状态。要解决此问题,请在两端启用身份验证。
如果运行的是Cisco IOS®软件版本11.1.9或更低版本,请检查show ip ospf interface命令的输出,以查找差异,例如:
Neighbor Count is 0, Adjacent neighbor count is 1
如果OSPF相邻邻居计数高于邻居计数,则邻居列表可能已损坏。访问Cisco Bug ID CSCdj01682(仅限注册客户)以了解详细信息。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
10-Aug-2005 |
初始版本 |