WIFI协议全解析09:从数据包看协议,WiFi通信帧结构全解剖

📦 从数据包看协议:WiFi通信帧结构全解剖

“WiFi其实就是空气中的以太网。”
但与有线以太网不同,WiFi的数据传输依赖 802.11协议帧结构
你可能在Wireshark里看过 BeaconACKData 这些字样,它们究竟是什么?今天我们就把 WiFi 帧结构从头到尾讲清楚。


一、WiFi帧是什么?

在以太网(Ethernet)中,我们传输的是 MAC帧
而在 WiFi(IEEE 802.11)中,对应的是 802.11帧

802.11 帧是无线通信中最基础的数据单位,所有控制、管理和数据传输都通过它完成。

WiFi帧 ≈ [MAC头] + [帧体(payload)] + [FCS校验]


二、WiFi帧的三大类

在802.11协议中,所有帧被分为三种类型:

类型作用示例帧类型
管理帧(Management Frame)建立、维持连接Beacon、Probe、Auth、Assoc
控制帧(Control Frame)控制介质访问,确认收发RTS/CTS、ACK
数据帧(Data Frame)传输实际业务数据Data、QoS Data、Null Data

三、802.11通用帧格式(图解)

+------------------------------------------------------------------------------------+
| Frame Control | Duration | Address 1 | Address 2 | Address 3 | Seq Control | ...   |
+------------------------------------------------------------------------------------+
| Frame Body (payload, 可选)                                                         |
+------------------------------------------------------------------------------------+
| FCS (Frame Check Sequence, 4 bytes)                                               |
+------------------------------------------------------------------------------------+

WiFi 帧不像以太网那样简单,它最多能携带 四个地址字段
这也是无线通信复杂的原因之一。


四、Frame Control:帧控制字段详解

Frame Control(2 字节)是 WiFi 帧头的灵魂,它决定了帧的类型和作用。

位段名称说明
2 bitsProtocol Version协议版本(通常是 0)
2 bitsType管理帧 / 控制帧 / 数据帧
4 bitsSubtype具体子类型,如 Beacon / ACK / Data
1 bitTo DS发往分布系统(路由器)?
1 bitFrom DS来自分布系统?
1 bitMore Fragments是否有后续分片
1 bitRetry是否为重传帧
1 bitPower Management是否进入省电模式
1 bitMore Data是否有更多数据要发
1 bitProtected Frame是否加密(WEP/WPA)
1 bitOrder是否顺序传输

💡 举个例子:

  • Beacon帧:Type=00,Subtype=1000
  • ACK帧:Type=01,Subtype=1101
  • Data帧:Type=10,Subtype=0000

五、地址字段(Address 1~4)逻辑超清晰图

在以太网中,我们只有源地址和目的地址。
但在 WiFi 中,数据可能穿过 STA ↔ AP ↔ DS(有线分布系统),所以最多要四个地址字段。

Address 1:接收端MAC(Receiver)  
Address 2:发送端MAC(Transmitter)  
Address 3:最终目的或源(Depends on ToDS/FromDS)  
Address 4:用于 Mesh 或 WDS 扩展链路  
To DSFrom DSAddress 1Address 2Address 3Address 4场景
00接收方发送方BSSID-STA ↔ STA
01接收方AP源地址-AP → STA
10AP发送方目的地址-STA → AP
11下个AP上个AP目的WDS / Mesh

六、控制帧:无线通信的“秩序维护者”

控制帧的作用是管理信道竞争与确认机制

控制帧类型功能描述
RTS (Request To Send)请求发送避免冲突(CSMA/CA协议的一部分)
CTS (Clear To Send)允许发送响应RTS
ACK确认收到确保可靠性
PS-Poll省电唤醒终端请求数据

👉 在WiFi中,没有“线”保证谁先说话,只能靠RTS/CTS机制ACK确认来维持秩序。


七、管理帧:WiFi连接的“社交礼仪”

管理帧让设备知道谁是谁,谁能连,怎么连。

子类型说明对应阶段
Beacon广播网络信息扫描阶段
Probe Request / Response主动/被动发现扫描阶段
Authentication认证连接阶段
Association Request / Response关联连接阶段
Deauthentication / Disassociation断开断线阶段

八、数据帧:业务传输主力军

数据帧承载着真正的上层数据,比如 TCP/IP、HTTP、MQTT 等。

802.11 Header → LLC Header → IP Header → TCP Header → Payload → FCS

WiFi帧在传输时会被多层封装解封:

TCP 数据包 → IP → LLC → WiFi MAC → PHY

如果你用 Wireshark 抓包,会看到每一层的协议头都有对应字段。


九、一个完整WiFi数据帧示意图(文字版)

+----------------------------------------------------------------------------------+
| Frame Control | Duration | Addr1 | Addr2 | Addr3 | Seq | Addr4 | QoS | HT Ctrl  |
+----------------------------------------------------------------------------------+
| -------------- MAC Header 24~30 bytes -------------- |
| ----------------- Payload (0~2312 bytes) ---------------- |
| FCS (4 bytes) |
+----------------------------------------------------------------------------------+

💬 在 Wireshark 里,你会看到:

  • Frame Control: 0x0208 (Data)
  • Duration: 314 µs
  • Receiver: 64:bc:0c:12:aa:77
  • Transmitter: 78:11:dc:af:b9:09
  • Sequence: 1873
  • Frame Check Sequence: OK

🔍 十、如何实际抓取WiFi帧?

1️⃣ 网卡必须支持 Monitor Mode(监听模式)
2️⃣ 使用工具:

  • Wireshark(推荐)
  • airodump-ng(命令行)
    3️⃣ 抓包时选择信道(channel)并过滤 wlan.fc.type/subtype 字段

比如:

  • wlan.fc.type_subtype == 8 → Beacon帧
  • wlan.fc.type_subtype == 32 → QoS Data

✅ 十一、总结

类型功能示例帧常见场景
管理帧网络发现与连接Beacon、Probe连接前阶段
控制帧信道竞争与确认RTS、CTS、ACK通信控制
数据帧传输业务数据Data正常通信

💡 记住一句话:

WiFi通信的本质是 —— 管理帧让你进门,控制帧让你别抢话,数据帧才是真正的聊天内容。


📘 延伸阅读推荐:

* 《Beacon帧、Probe帧你必须懂,搞WiFi通信绕不开它们!》
* 《WiFi连接背后的握手过程,你的设备是如何“入网”的?》
* 《SoftAP、Station、Mesh 到底有什么区别?一文读懂WiFi连接模式!》


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欢乐熊嵌入式编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值