802.11 Null Data 帧

无线 AP 空口抓包,发现有好多 Null Data 帧,都是 STA 发往 AP 的。打开 Null Data 帧,除了 Pack Info、MAC Header、FCS 外,就没其它信息了。其中 Pack Info 还不是报文本身的内容,只是这些报文到达抓包器时的状态信息,由抓包器或者 OminiPeek 软件产生的。

Null_Data帧

那么,STA 为什么要发送一个不包含任何数据的空帧呢?是因为,STA 想让 AP 知道,我还连着你,没下线。AP 还可以知道 STA 的 RSSI 变化。

Null 帧看起来有点奇怪。它是由 MAC 标头与 FCS 标尾所组成。在传统的以太网中,Null 帧无非就是额外的负担;在 802.11 网络中,移动工作站会利用 Null 帧来通知基站省电状态的改变。当工作站进入休眠状态,基站必须开始为之暂存帧。如果该移动式工作站没有数据要通过传输系统传输,也可以使用 Null 帧,同时将 Frame Control(帧控制)位的 Power Management(电源管理)bit 设定为 1。基站不可能进入省电模式,因此不会发送 Null 帧。

​ ——《802.11 无线网络权威指南》

802.11 Ack 帧

对于每个成功接收的分组数据,802.11 规范要求向接收方发送 ACK 消息。而且为了简化协议头,ACK 消息将不包含序列号。

802.11_Ack帧

单播(unicast)帧都需要用 ACK 帧来确认,ACK 帧是 unicast 的。ACK 帧只有接收地址(receive)而无源地址(src)和序列号(sequence),接收 ACK 的一端会根据这个知道它收到了一个 ACK 帧(其实根据协议,应当把发送单播帧和收到它相应的 ACK 看作一个原子的不可分割的整体,表示一次成功的通信)。

参考

802.11常见的帧