OSPF报文,SPF算法,邻居关系建立及排错,理论+实战

OSPF拓扑:

OSPF算法: SPF算法有时也被称为Dijkstra算法,这是因为最短路径优先算法SPF是Dijkstra发明的

查看R4 OSPF算法

LSA 序列号:

在R3 查看LSA 序列号:

然后我们再R2的Loo1接口shutdown , no shutdown

我们在R3查看database发现shutdown后LSA序列号+1,再no shudown后再+1

OSPF 报文类型:

OSPF确认机制: 隐式确认 (报文序列号的确认) 显示确认(ACK)

DBD 描述LSDB摘要主要是LSA头部信息

查看LSA中的头部信息和条目

OSPF报文:

OSPF报文类型包含: Hello DBD LS Request LS Update LS Ack

邻居关系Hello的目的:

发现邻居的方式 1、 自动发现【组播】 2、手工【单播】指定邻居

OSPF 邻居的Troubleshooting

1、Router ID 建议手动配置 ,若没有配置则选择loopback IP最大,如果没配置loopback需要选择物理接口IP地址最大的

R3修改Router ID 为 22.1.1.1 与 R2 的Router ID 一样 ,R2和R3直连无法建立邻居关系的。

我们把R1R2R3配置同一区域Area0 R1和R3配置相同的Router ID, R2分别于与R1和R3可以建立邻居关系,但R1和R3不能互相学习到路由,即同一区域非相邻设备不会装载路由表。

R1配置与R3相同的Router ID

在R2会发现学到两个相同Router ID的设备形成邻居关系:

我们从R1和R3查看OSPF路由表发现R1和R3都没有学到对方的路由

2、 Hello时间和死亡时间【OSPF网络类型有关】

Hello 10 Dead Time 40 (串行线路 广播) 30S 120S

缺省情况下 P2P、Broadcast类型接口发送hello的时间间隔值为10秒;P2MP、NBMA类型接口发送Hello报文的时间间隔为30秒。死亡时间为间隔时间的4倍

我们把R3的S1/2接口hell时间改为9S

达到Dead Time后邻居关系失效

通过Debug可以看出hell参数不匹配导致

或者去掉或者调整参数, 我们调整下R2的Hello Time与R3一样

3、同一链路 同一区域Area

4、DR优先级不影响邻居建立,影响传递路由 0-255 DR默认1 0无权选择DR

我们把R1 R2 R4 的接口的OSPF优先级都改为O, 会出现没有DR状态

我们在R4 查看邻居关系:

我们无法学习到路由但是可以看到邻居关系:

5、认证 (认证类型和认证的密码需一致)

6、MA(多点接入网络)网络中,掩码相同,如果掩码不同虽然可以ping通但是邻居关系会有问题。

原文链接:,转发请注明来源!