OSPF报文格式
OSPF报文头部
- 版本(Version)
- 对于OSPFv2而言,该字段值恒为2
- 类型(Type)
- 描述OSPF数据包的类型
- Hello------1
- DBD------2
- LSR-------3
- LSU-------4
- LSACK---5
- 报文长度(Packet Length)
- 整个OSPF报文的长度-----单位字节
- 路由器ID
- 发出该报文的路由器的RID值
- 区域ID
- 发出该报文的接口所属于的区域的ID值
- 校验和
- 验证OSPF整体数据报文的有效性
- 验证类型
- 指示该报文使用的认证类型
- 不认证---0;简单认证----1;MD5认证----2;
- 认证数据
- 用于报文认证所对比的内容
- 若认证类型为不认证,则该字段全部用0填充。
注意:
OSPF的认证功能在存在于所有的数据交互过程中,对于任何一种数据报文,都需要进行认证。
在认证的过程中,需要对比两个字段,首先对比认证类型字段。若相同,才会对比认证数据字段
HELLO包
- 网络掩码(Network Mask)
- 该字段填充的是发送该报文的网络掩码
- 两台OSPF路由器如果通过以太网接口直连,那么双方的直连接口必须配置相同的网络掩码。(点到点网络不需要对比该参数)
- 注意:OSPF建立邻居关系需要对比子网掩码信息是华为独有,别的厂商没有这个要求。
- Hello间隔
- 两台直连路由器需要确保直连接口的Hello时间间隔相同,否则邻居关系无法建立。
- 缺省情况下,P2P和BMA类型的下,为10S;P2MP和NBMA为30S。
- 可选项(Options)
- 该字段一共8bit,每个比特位都用于指示该路由器的某个特定的OSPF特性。
- 而OSPF邻居关系建立过程中,该字段中的某些比特位将会被检查,可能影响OSPF邻居关系建立。(特殊区域的标记)
- 路由器优先级
[r2-GigabitEthernet0/0/0]ospf dr-priority ? //修改OSPF接口的DR优先级
INTEGER<0-255> Router priority value
- 路由器失效时间
- 两台直连路由器要建立OSPF邻居关系,需要保证双方接口的dead time时间相同,否则邻居关系无法正常建立。
- 缺省时间为hello的4倍。
- 指定路由器
- 网络中DR设备的接口IP地址。
- 若没有DR或DR没有选举出来,则填充0.0.0.0
- 备份指定路由器
- 网络BDR设备的接口IP地址
- 若没有BDR或未选举结束,则填充0.0.0.0
- 邻居
- 在直连链路上发现的有效邻居,此处填充的是邻居的RID值,如果发现多个邻居,则包含多个邻居字段
注意:
所有224.0.0.X格式的组播地址称为本地链路组播,目的IP地址是本地链路组播的数据包中的TTL值被设定为1。所有的本地链路组播都会存在对应的组播MAC地址,01-00-5e-后24位(组播IP地址的后24位)。