数据包结构
OSPFv3协议直接运行在IPv6上,因此,OSPFv3的数据由IPv6报文携带。在IPv6报文头的'下一个报文头'字段中,用协议号89代表该数据包中携带的是OSPFv3的数据。
IPv6的报头结构如图4-1所示,各字段的含义如下:
Version(版本号):参数值为6,代表IPv6报头,4比特长。
Priority(优先级):4比特长。发送方可以使用该值为其发出的数据赋予优先级。
Flow label(流标签):发送放可以用它标志属于同一个流的数据。
Payload length(载荷长度):表示报头后面携带的有效数据长度。
Next header(下一个报头):表示IPv6报头后面的报头类型。89代表OSPF协议。
Hops(跳数限制):表示报文所能经由的最大路由器数。
Source address(源地址):发送数据方地址。
Destination address(目的地地址):接收数据方地址。
图 4-1 IPv6报头格式
紧跟着IPv6报文头的后面是OSPFv3的报文头,其格式如图4-2所示。
图 4-2 OSPFv3报文头
其中:
Version# -- 代表OSPF的版本号,其值为3。
Type -- 代表OSPF数据报类型。OSPF数据报的类型包括:
Hello包,类型代码为1。
DDP,类型代码为2。
LSR,类型代码为3。
LSU,类型代码为4。
LSAck,类型代码为5。
Packet length -- 以字节为单位的OSPF数据报的长度,包含报头部分。
Router ID -- 发送该数据包的路由器ID号。
Area ID -- 该数据报所属的区域。
Checksum -- 整个OSPF数据报的校验和。
Instance ID -- 实例标志号。
OSPFv3报头的最后8比特保留,值总为0。