深入理解OSPF Hello包、DBD包
1.Hello 包
(ospf协议启动,在down状态后的下一秒,hello包发出):
邻居、邻接关系的发现、建立、保活 均依赖hello包进行;
hello包中邻居间必须完全一致的参数:任意参数不同,均导致邻居关系无法建立;卡在init状态
#抓包工具抓到ospf的hello包后,可看到这些参数
1、子网掩码(华为特有)发送hello包接口的源ip地址及其掩码
2、Hello time、dead time --和ospf的接口网络类型有关
3、认证字段 --保证更新安全
4、区域ID --要求区域间存在ABR
5、末梢区域标记 --特殊区域
2.DBD包
正常情况下(没将接口优先级改为0)网络之中最少存在4台设备(DR、BDR、2台DR other)才会有邻居关系;
DR与BDR选举中,先选BDR,再选DR(实际上BDR成了DR再成了BDR);
如果网络中DR挂掉,BDR上,再选一个BDR;
(1)DBD包中携带MTU值(最大传输单元),要求邻居MTU值必须相同,否则将卡在exstart或exchange状态;
默认华为设备未开启MTU检测(MTU=0)
[r1]interface g0/0/1
[r1-GiagabitEther0/0/1]ospf mtu-enable #在端口上开启mtu检测就能用抓包工具抓到DBD携带mtu值的包
(2)隐性确认(DBD包的特性)-不使用确认包,而是从设备复制主设备的序列号来确认收到了主的DBD
(3)OSPF标记位 I MS MS
#用抓包工具抓包后,打开ospf的DBD包,可看到这些数据
I为1,表示本地发出的第一个DBD包
M为0,表示本地发出的最后一个DBD包
MS为1,代表主,为0代表从 #ospf的主从关系表示的BR,BDR