802.11之数据帧

在 802.11(Wi-Fi)协议中,数据帧(Data Frame) 是用于传输用户数据的核心帧类型之一,每个数据帧都包含了帧控制字段、地址信息、数据以及其他控制字段,数据帧是 IEEE 802.11 协议中最常见的帧类型,它主要用于在无线设备之间传递用户数据。

1. 802.11数据帧格式

+-----------------------+
| Frame Control        |  2 bytes
+-----------------------+
| Duration ID          |  2 bytes
+-----------------------+
| Address 1 (Receiver)  |  6 bytes
+-----------------------+
| Address 2 (Transmitter)|  6 bytes
+-----------------------+
| Address 3 (Depending on Mode)| 6 bytes
+-----------------------+
| Sequence Control      |  2 bytes
+-----------------------+
| Address 4 (Optional)  |  6 bytes (if used in certain modes)
+-----------------------+
| Frame Body (Data)    |  0-2312 bytes
+-----------------------+
| FCS (Frame Check Sequence)| 4 bytes
+-----------------------+
  1. Frame Control :帧控制位,描述了数据帧的类型、子类型和一些控制信息,包括加密、功率管理、重试等,Frame control包括如下字段:
    protocol(2bit):协议版本,默认为0;
    type(2bit):类型定义如下
        00:管理帧
        01:控制帧
        10:数据帧
        11:预留
    类型和子类型配合使用决定最终帧的类型;
    subtype(4bit):子类型,类型和子类型配合使用决定帧的类型;
    to ds(1bit):指示帧的目的地和来源,to ds与from ds配合使用决定决定帧的地址;
    from ds (1bit) :指示帧的目的地和来源, to ds与from ds配合使用决定决定帧的地址;
    more flag(1bit):表示是否有更多的帧片段,分段帧需要把此bit设定为1;
    retry(1bit):标识该帧是否是重传的帧,重传的帧会将此bit设定为1,以协助接收端剔除重复的帧;
    power management(1bit):此bit用来指出传送端在完成目前的基本帧交换之后是否进入省电模式,1代表工作站即将进入省电模式,0表示不进入;
    more data(1bit):指示设备是否有更多数据需要发送,为了服务处于省电模式的工作站,基站会将这些由“传输系统”接收而来的帧加以暂存,基站如果设定此bit,即代表至少有一个帧待传给休眠中的工作站;
    protected frame(1bit):安全加密,如果帧受到链路层安全协议的保护,此bit会被设定为1;
    order(1bit):表示是否采用严格的顺序传输,此bit为1代表帧与帧片段严格按照顺序传送;
  1. Duration ID:Duration 字段用于控制无线介质的访问,表示该帧将占用介质的时间,支持3种功能,设定NAV/免竞争期间所传送的帧/PS-Poll帧;
  2. Address1:帧类型不同地址意义不同,一般表示数据帧的接收方,即该帧要发送给哪个设备;
  3. Address2:帧类型不同地址意义不同,一般表示发送方,即发送该帧的设备;
  4. Address3 :帧类型不同地址意义不同,通常用于基础设施模式中,表示该帧的最终目的地址或接入点的地址;
  5. Sequence Control:帧顺序控制位,用来重组帧片段以及丢弃重复帧,包括 Sequence Number 和 Fragment Number,Sequence Number 用于标识帧序列,防止帧的重复处理;Fragment Number 用于处理帧的分片;
  6. Address4 (optional):帧类型不同地址意义不同,该地址仅在无线网桥或分布式系统(DS)使用时才需要,通常用于表示源或目标地址(可选字段);
  7. Frame Body:帧主体,代表实际要传输的数据位,其长度可变;
  8. FCS:帧检验序列,循环冗余码,一般用来检查所收到的帧的完整性;

2. 802.11数据帧的子类型

802.11 数据帧可以有多个子类型,这些子类型用于不同的场景:
Data:普通的数据帧,用于传输用户数据;
Data + CF-Ack:数据帧带有确认消息(用于点协调功能,PCF);
Data + CF-Poll:数据帧带有轮询信息(PCF);
Null Function:空帧,通常用于状态报告或功率管理信号;

3. 802.11数据帧的地址说明

根据 802.11 的工作模式不同,数据帧的地址字段用途不同,主要有两种常见的模式:
基础设施模式 (Infrastructure Mode):
Address 1:目标设备地址(通常是客户端设备);
Address 2:发送方地址(通常是接入点);
Address 3:数据的目的地地址(例如最终客户端的 MAC 地址);
自组织网络 (Ad-hoc Mode):
Address 1:目标设备的 MAC 地址;
Address 2:发送方设备的 MAC 地址;
Address 3:不使用;

4. 802.11数据帧的传输过程

当一个 802.11 设备(如客户端设备)发送数据帧时,它会根据网络类型和目的地配置好相应的地址字段,然后将数据帧发送到接入点(AP)或直接发送给另一台设备,接入点会根据需要将数据帧转发给目标设备,或者进行一些处理(如协议转换等)。

5. 802.11数据帧的使用场景

数据传输:用于在客户端与接入点之间传递 IP 数据包或其他协议的承载数据;
加密通信:数据帧可能会包含加密信息,通过 WPA、WPA2 或 WEP 加密;
网络层协议传输:通过 802.11 数据帧传输网络层数据,如 IP 包、ARP 请求/响应等。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容