OSPF的数据包
OSPF 数据包的头部结构
- Hello :组播周期发送,邻居关系的发现,建立;周期保活邻居关系
- 邻居发现 :自动发现邻居路由器
- 邻居建立 :完成hello报文中的参数协商,建立邻居关系
- 邻居保持 :通过Keepalive(保活)机制,检测邻居运行状态
- DBD :数据库描述
- LSR :链路状态请求
- LSU :链路状态更新 ---- 携带各种LSA
- Lsack :链路状态确认
注
- LSA :链路状态通告,具体的一条一条拓扑或路由信息,在不同环境下产生不同的拓扑或路由,一条信息为一个LSA
- LSDB:链路状态数据库,本地所有的LSA集合
- LSDB同步 OSPF的收敛行为,整个网络LSDB需要一致
- LSA洪泛 OSPF的收敛行为,需要整个网络接收到同一条LSA
hello包具体内容
- 邻居间在进行邻居关系建立时,hello包有几个参数必须完全一致,否则无法建立邻居关系: Hello time和dead time 、 区域ID(ABR)、 认证字段 、 末梢区域标记
- 华为设备还要求邻居间建立邻居的接口ip地址子网掩码必须一致
- 在hello包中存在本地已知邻居的RID,用于保活这些邻居
- hello time 10s或者 30s,Dead time 为hello time 的4倍;
[r2]display ospf peer 查看邻居关系信息
[r2]display ospf peer brief 查看邻居表摘要
OSPF Process 1 with Router ID 2.2.2.2
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 1.1.1.1 Full
0.0.0.1 GigabitEthernet0/0/1 3.3.3.3 Full
关于DBD包的几个参数:
- 1、MTU
OSPF协议会在DBD包中携带与邻居直连接口的MTU值;要求邻居的MTU值必须完全一致,否则将卡在exstart状态机;默认华为设备间不检测这个MTU值;
[r1]interface GigabitEthernet 0/0/1
[r1-GigabitEthernet0/0/1]ospf mtu-enable 在于邻居间直连的接口上开启MTU检测
若一端开启,另一端也必须开启;
- 2、隐性确认
一台设备使用和另一台设备一样的序列号来确认对端的数据 OSPF中从来对主进行隐性确认; - 3、描述字段
- I 为1标识本地发出的第一个DBD
- M为0本地发出的最后一个DBD
- MS 为1代表主 、为0代表从