一. MAC 帧格式
IEEE 802.11 的MAC帧包括三部分:MAC Header,Frame body,FCS
- IEEE 802.11 MAC帧的最大长度2346个字节。
- MAC Header:包含MAC帧的信息。
- Frame Body:帧主体,来自网络层的数据,负责在STA间传输上层数据。
- FCS: Frame Check Sequence,采用CRC校验,32位循环冗余码,通过完整性检验的帧,需接收端发送应答帧。
MAC header 格式
Frame Control (帧控制域) 2字节
域 | 说明 |
---|---|
Protocol | 表示MAC协议的版本,默认为0 |
Type | 表示帧类型 00:管理帧,负责监督网络,处理终端设备的加入/退出,设备的关联 01:控制帧,负责区域的清空,信道的获取,载波的监听维护,数据的确认 10:数据帧,负责在设备间传输数据 11:保留不使用 |
Subtype | 表示帧的详细类型 |
To DS / From DS | 表示帧的源地址和目的地址 To DS=0,From DS=0: 所有管理帧,控制帧 To DS=1,From DS=0: 基础网络中,STA发送的数据帧 To DS=0,From DS=1: 基础网络中,STA接收到的数据帧 To DS=1,From DS=1: 无线桥接器的数据帧 |
More Fragments | 表示MAC帧是否分段;如果进行分段,除了最后一个片段,其他片段均会设置为1 通过分段,MAC层可以对数据进行分块传输,避免冲突. |
Retry | 如果该位设置为1,表示为重传的帧 |
Power Management | 表示STA完成当前的帧交换后是否进入省电模式。0:表示STA会一直保持清醒状态;1:表示将进入省电模式 AP发送的帧,该位必然为0 |
More data | 如果STA处于省电模式,AP将会缓存发送到该STA的数据帧 AP如果将此位被设为1,表示该STA有帧在AP中被缓存 |
Protected Frame | 表示是否收到链路层安全协议的保护,加密标志,若为1表示数据内容加密,否则为0 |
Order | 表示帧或者帧片段是否按顺序传输,一般用于PCF模式下 |
Duration/ID (持续时间/标识) 2字节
- Duration/ID 含有16位,根据Type和Subtype的不同而取不同的值。
0-14位 | 15位 | 作用 |
---|---|---|
0 - 32767 | 0 | 设定NAV。数值表示目前所进行的传输预计使用介质多少微秒 STA必须监听所有的MAC帧,根据接收的帧来更新NAV 对于广播或组播地址的帧 ,因为接收端不会加以应答,其持续时间为0 |
-
如果Frame Control 位中的More Fragments为0,表示该帧已无其余片段。Duration位会被设定为发送一个短帧间隔 + 应答所需要的时间。
-
如果Frame Control 位的More Fragments被设定为1,表示其后还有帧片段。Duration位便会被设定为发送两个应答 + 三个短帧间隔 + 下一个帧片段所需要的时