当IPv6报文长度小于IEEE 802.15.4 MAC 层的最大传输负载时,数据报可以直接传输而不需要进行分片,这时可以采用不分片的数据帧格式。不分片的报文格式如图13-5所示:
图13-5 不分片的6LoWPAN数据包格式
不分片数据分组格式的各个字段含义如下:
LF:链路层分片标记,占2位,此处应为00,表示使用不分片报头格式。
Prot_Type:协议类型,占8位,指出紧随在报头后的报文类型。
M:网状寻址字段标志位,占1 位。若此位置为1,则适配层报头后紧随着的是网状寻址字段。
B:广播标志位,占1 位,若此位置为1,则适配层报头后紧随着的是广播字段。
RSV:保留字段,全部设置为0。
如果IPv6报文长度大于IEEE 802.15.4 MAC 层的最大传输负载时,就要对IPv6 数据报进行分片操作,这时应该采用分片的数据帧格式,分片的数据帧格式如图13-6所示:
(www.xing528.com)
图13-6 分片的6LoWPAN数据分组格式
分片报头每个字段代表的含义如下:
LF:链路分片标志位,占2位,其值的含义如表13-1所示。
表13-1 LF字段数值含义
M:网状寻址字段标志位,占1 位,若此位置为1,则适配层报头后紧随着的是网状寻址字段。
B:广播标志位,占1 位,若此位置为1,则适配层报头后紧随着的是广播字段。
Datagram_size:负载报文的长度,占11 位,所以支持的最大负载报文长度为2048 字节,可以满足IPv6 报文在IEEE 802.15.4 上传输的1280 字节MTU的要求。
Datagram_tag:分片标识符,占9 位,同一个负载报文的所有分片的datagram_tag 字段应该相同。
Fragment_offset:报文分片偏移,占8 位,该字段只出现在第二个以及后继分片中,指出后继分片中的有效载荷payload 相对于原负载报文的头部的偏移。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。