本示例将突出显示如何解决邻居问题。 在图 1 的拓扑中,所有路由器都配置为支持 OSPF 路由。

快速查看如图 2 所示的 R1 路由表,会发现并没有添加任何 OSPF 路由。 造成这种情况的原因有很多。 但是,在两个路由器之间形成邻居关系的前提条件是 OSI 的第 3 层连接。

图 3 中的输出可确认 S0/0/0 接口已启用且处于活动状态。 ping 操作成功也确认了 R2 的串行接口处于活动状态。 ping 操作成功并不意味着即将形成邻接关系,因为可能有重叠的子网。 您还需要检验相连设备上的接口是否共享相同的子网。 如果 ping 操作不成功,那么请检查电缆,并检验相连设备上的接口是否正确配置且正常运行。

针对为 OSPF 启用的接口,一个匹配 network 命令必须在 OSPF 路由过程下配置。 可以使用 show ip ospf interface 命令检验活动的 OSPF 接口。 图 4 中的输出可以检验 Serial0/0/0 接口是否已启用 OSPF。 如果两台路由器上的相连接口未启用 OSPF,两个邻居将无法形成邻接关系。

使用 show ip protocols 命令检验 OSPF 设置。 图 5 所示的输出可以检验是否已启用 OSPF ,并通过 network 命令列出通告为已启用的网络。 如果某个接口的 IP 地址属于已启用 OSPF 的网络,该接口将启用 OSPF。

但是,请注意 Serial0/0/0 接口会显示为被动。 前面已讲过,passive-interface 命令会停止传入和传出路由更新,这是因为该命令能够导致路由器停止通过接口来发送和接收 Hello 数据包。 因此,路由器不能成为邻居。

为了禁用接口成为被动接口,请使用 no passive-interface 路由器配置模式命令(如图 6 所示)。 在禁用被动接口后,路由器之间就会形成邻接关系,如自动生成的信息性消息所示。

快速检验如图 7 所示的路由表,确认当前 OSPF 正在交换路由信息。

可能出现的另一个问题是在两个相邻路由器的相连接口中,MTU 大小不匹配。 MTU 大小是路由器从每个接口转发出去的最大网络层数据包。 路由器默认 MTU 大小为 1500 字节。 但是,当 IPv4 数据包使用 ip mtu size 接口配置命令或 IPv6 数据包使用 ipv6 mtu size 接口命令时,此值可以进行更改。 如果两个相连路由器的 MTU 值不匹配,它们仍将尝试形成邻接关系,但由于无法交换其 LSDB,相邻关系还是会失败。