1 MAC帧格式
MAC帧由三个基本域组成
1.MAC Header:包括帧控制(Frame Control)、时长(Duration)、地址(Address)等
2.Frame Body:数据域,具体存储内容由帧类型和子类型决定
3.FCS:帧校验序列,用于保障帧数据完整性
规范指出:
1.如果是QoS数据帧,需要附加QoS Control字段;如果是HT数据帧,需要附加HT Control字段
2.Frame Body长度是7951字节,与Aggregate-MPDU(MAC报文聚合)以及HT有关
2 Frame Control域
共2字节16位
1.Protocol Version MAC帧的版本号,目前是0
2.Type和Subtype
3.To DS和From DS 只用在数据帧中
4.More Fragment 只用在数据帧和管理帧中
5.Retry
6.Power Management 表明发送该帧的STA处于活跃模式还是处于省电模式
7.More Data AP为处于省电模式的STA缓存部分数据,STA定时查询是否有数据要接受
8.Protected Frame 是否加密
9.Order 指明接收端必须按顺序处理该帧
3 Power Save模式
AP定时发送自己的数据缓存状态,STA会定期接受接收信息(相比发送数据,开启接收器消耗电力更小)
一旦STA从AP发的这种数据缓存状态中了解到有数据要接受,STA进入Active模式并通过PS-POLL控制帧来接收
一个PS-POLL只能获取一个缓存帧
4 Duration/ID域
共2字节16位
对于PS-POLL帧,该域表示AID的值,其中最后2位必须为1,前14位取值为1~2007
对于其他帧,代表离下一帧到来还有多长时间,单位是μs
5 MAC地址
6字节的十六进制表示
前3字节是OUI,后3字节是各个厂商制造的所有网卡的一个唯一编号
第48位表示这个地址是组播地址还是单播地址,0代表单播,1代表组播(如01-XX-XX-XX-XX-XX)
地址全为1(FF-FF-FF-FF-FF-FF),代表广播
第47位表示该MAC地址是全球唯一的还是本地唯一的,称为G/L位
字节序为Big-endian,即最高字节在前
比特序为Little-endian,即最低位在前
6 Sequence Control域
共2字节16位,前4位代表片段编号(Fragment Number),后12位为帧顺序编号(Sequence Number)
Fragment Number:用于控制分片帧,MAC层将数据量过大的帧分片发送
Sequence Number:STA每次发送数据帧都设置一个帧顺序编号(控制帧没有且重传帧不使用新的帧顺序编号)