ZigBee MAC层数据包格式

ZigBee的MAC层直接使用了IEEE 802.15.4的MAC层。

 MAC子层数据包由MAC子层帧头(MHR,MAC Header)、MAC子层载荷和MAC子层帧尾(MFR,MAC Footer)组成。

2字节

1字节

0/2字节

0/2/8字节

0/2字节

0/2/8字节

可变

2字节

帧控制

序列号

目的PAN标示符

目的地址

源PAN标示符

源地址

帧载荷

FCS

MHR(MAC层帧头)

MAC载荷

MFR

                                                     图1 MAC层数据包格式

(1).MAC子层帧头由2字节的帧控制域、一字节的帧列号域和最多20字节的地址域组成。帧控制域指明了MAC帧的类型、地址域的格式以及是否需要接收方确认等控制信息;帧序号域包含了发送方对帧的顺序编号,用于匹配确认帧,实现MAC子层的可靠传输;地址域采用的寻址方式可以是64位的IEEE MAC 地址或者8位的ZigBee网络地址。

(2).MAC子层载荷,其长度可变,不同的帧类型包含不同的信息,如MAC子层业务数据单元(MSDU,MAC Service Data Unit);但整个MAC帧的长度应该小于127字节,其内容取决于帧类型。IEEE 802.15.4的MAC子层定义了4种帧类型:广播(信标)帧、数据帧、确认帧和MAC命令帧。只有广播帧和数据帧包含了高层控制命令或者数据,确认帧和MAC命令帧则用于ZigBee设备间与MAC子层功能实体间控制信息的收发。

(3).MAC子层帧尾含有采用16位CRC算法计算出来的帧校验序列(FCS,Frame Check Sequence),用于接收方判断该数据包是否正确,从而决定是否采用ARQ进行差错恢复。广播帧和确认帧不需要接收方的确认;数据帧和MAC命令帧的帧头包含帧控制域,指示收到的帧是否需要确认,如果需要确认,并且已经通过了CRC校验,接收方将立即发送确认帧,若发送方在一定时间内收不到确认帧,将自动重传该帧,这就是MAC子层可靠传输的基本过程。

你可能感兴趣的:(算法,网络,header,service)