8.1.7 OSPF数据包格式
Open Shortest Path First(OSPF)是一种基于链路状态协议的路由协议,因为它能够在广域网上提供更好的路由可靠性,所以它被广泛地应用于网络中。OSPF协议会通过路由器之间沟通,共享网络拓扑图,并计算出最短路径。在进行OSPF路由的过程中,需要用到不同类型的OSPF数据包,下面我们来了解一下OSPF数据包的格式。
OSPF数据包通常由六部分组成,包括:数据包头、OSPF Hello、LSU、LSA 链表和数据值。
1. 数据包头
首先是数据包头,它是 OSPF 数据包的 个部分。该部分开头是标志位(0x8902)和版本号(0x02)组成的字段。然后是路由器 ID ,其长度为4个字节。接下来是区域 ID ,其长度为4个字节。总长度为24字节。
2. OSPF Hello
接下来是 OSPF 的 Hello 部分,其长度为 20 个字节。该部分的主要目的是在路由器之间共享信息,例如节点的 IP 地址,hello 时间,网络掩码以及其他路由器的 ID。
3. LSU
OSPF通过LSU来获取网络拓扑信息,LSU部分包括LSU头和LSA链表。 LSU头是12个字节,包括LSU镜像源的路由器 ID、广告的 LS 索引号和广告长度字段。LSA链表是多个LSA类型的数据包,代表了某个路由器所认为的网络拓扑信息,包括相邻节点的ID、网络距离和路由器端口的状态。
4. LSA 链表
LSA链表是多个LSA数据包所组成的集合,代表了某个网络的拓扑信息。每个LSA数据包都包括了所属子网的拓扑连接信息、该连接的度量值等。
5. 数据值
数据值部分则是其他可以附加的信息,例如密码、转发带宽、最大传输单元等信息。
6. 校验和
最后,数据包结尾会有一个 2 字节的校验和,从链路 ID 到数据值计算,通过多项式算法得出。
以上六部分组成了 OSPF 数据包的格式。
在OSPF的数据包格式中,每种数据包有不同的类型码。例如,Hello 分组的类型码是 1, LSU 分组的类型码是 4。利用这些类型码,路由器可以分别识别路由器发送的不同类型的数据包,与此同时,与本协议兼容的路由器也可以快速地解析数据包,提高路由器AG的效率。除此之外,OSPF 也通过在数据包中添加操作码来描述一些特殊情况,例如它是否是一个新的邻居或者更新集成的部分。
