Wi-Fi 技术学习:802.11ax MU-PPDU的帧格式与字段解析全解

MU-PPDU:

我们已在另一篇文章中探讨过 MU-OFDMA 传输的第一部分(MU 触发帧)。

当满足以下任一条件时:

  1. AP 已发送 MU-RTS 触发帧
  2. 设备返回 CTS 响应,或 AP 主动发送 CTS

此时 AP 即可开始发送数据。我们会看到 AP 向触发帧中包含 AID(关联标识符)的客户端设备发送 MU PPDU。

当 AP 收到客户端设备返回的 ACK(确认帧)后,本次传输流程即完成。

图 1:(采用 MU-RTS/CTS 及 Nav 设置的 MU-OFDMA 传输)

在我们开始用 Wireshark 分析 MU-PPDU 之前,有必要先了解 802.11ax 标准中存在多种不同的帧格式。

  1. HE-SU:这是单站点到另一站点的传输方式,属于单用户模式(上下行通用,UL-DL)。

HE-EXT-SU

这种 PPDU 适用于远距离传输

  • 单用户模式(上下行通用,UL-DL)
  • 专为户外场景设计(长距离传输)
  • 仅支持 20MHz 带宽,采用固定的调制与编码方式

HE-MU

MU-PPDU 用于下行 MU-OFDMA 传输,我们将在本文档中详细讨论这种模式。

  • 多用户模式(仅下行,DL)
  • 支持一个或多个用户

HE-TRIG

  • 基于触发帧的 PPDU(仅上行,UL)
  • 用于响应接入点(AP)发出的触发帧
  • 承载单用户传输数据

同样需要了解的是,在 IEEE 802.11-2016 标准中,前导码(preamble)被分为两部分:

一部分是传统前导码(legacy part),这是所有帧都包含的通用部分;

另一部分则是**PHY 相关前导码**,其内容取决于所使用的物理层(PHY)类型。

图 2:802.11 帧前导码

虽然前导码的信息很重要,但可能不是所有人都感兴趣。

因此,我们将重点放在更吸引人的部分 ------HE-SIGAHE-SIGB 信息字段,它们与 MU-OFDMA 或 MU-MIMO 技术直接相关。

  • L-STF、L-LTF 和 L-SIG 都是传统字段,存在于所有 PPDU 格式中。
  • RL-SIG(重复传统 SIG) 的作用是确认帧的类型,判断其为传统 OFDM、HT、VHT 还是 HE。

图 3:MU-PPDU 帧格式

在本文中,我们将仅聚焦两个字段:

  • HE-SIG-A 字段
  • HE-SIG-B 字段

HE-SIG-A 字段

HE-SIG-A 字段承载了解析 HE-PPDU 所需的信息。其内容会根据帧的类型而变化。

例如,HE SU PPDU、HE ER SU PPDU 和 HE MU PPDU 的 HE-SIG-A 字段内容各不相同。我们将仅关注 MU-OFDMA 传输中的 MU PPDU。

HE-SIG-B 字段

SIG-B 字段提供了与 OFDMA 和下行 MU-MIMO 资源分配相关的必要信息。

该字段仅存在于多用户传输中。

因此,可以说抓包文件(PCAP)中的大部分 HE 信息数据都来自 SIG-A。

单用户传输的 PPDU 中仅包含 HE 信息字段,如下方图 7 所示。

图 4:(单用户 PPDU)

我们将借助 Wireshark,通过展开 MU-PPDU 来识别抓包文件(PCAP)中的这两个字段。

注意 :在 PCAP 文件的 MU-PPDU 中,并没有名为 SIG-A 或 SIG-B 的字段,而是用 HE 信息(HE information)HE-MU 信息(HE-MU information) 分别表示 SIG-A 和 SIG-B 的内容。

理论上,抓包文件可以对这些字段进行更清晰的命名或排列,这样就不会混淆哪些字段属于 SIG-A,哪些属于 SIG-B 了。

图 5:MU-PPDU 抓包(PCAP)

既然我们正在分析 MU-PPDU,那么在抓包文件(PCAP)中就会同时包含这两个字段:

  • HE 信息(HE information)
  • HE-MU 信息(HE-MU information)

HE 信息字段还可以进一步细分为多个子字段。

前两个子字段 HE data 1HE data 2 仅为状态信息,用于指示某些值是已知还是未知。

接下来我会逐一解析这些字段,梳理它们的含义,并将其归类到 SIG-A 或 SIG-B 中。

HE 信息字段:

图 5:HE 字段

Data 3Data 6 的子字段,以及 HE-MU 信息字段,包含了来自 SIG-A 和 SIG-B 的信息。

图 6:Data 3 至 Data 6

HE-MU 信息:

HE-MU 信息仅在 MU-PPDU 中存在,因此该字段的大部分数据都对应 SIG-B。

图 8:HE-MU 信息

HE SIG-B 内容信道包含一个公共字段(如果存在的话),其后是用户专属字段。

如果 SIG-A 中的 HE-SIG-B 压缩字段值为 1(表示全带宽 MU-MIMO),则公共字段不会出现。

但正如上方图 6 所示,来自 SIG-A 的 Flag2 SIG-B 压缩字段为 false,这意味着它不是全带宽 MU-MIMO,因此在 MU-PPDU 中存在公共字段。

HE-MU 信息结构:

  • Flag1:如上方图 8 所示,所有 Flag1 子字段均为状态字段。
  • Flag2:部分子字段为状态字段,部分子字段包含具体数值,详见下方表 1。
  • Channel 1 RU's(信道 1 的资源单元)
  • Channel 2 RU's(信道 2 的资源单元)

注意 :目前在抓包文件(PCAP)中,尚不清楚哪些元素属于 SIG-B 公共字段,哪些属于用户专属字段。

这会带来一些混淆,因为 SIG-A 和 SIG-B 的元素会同时显示在 HE 信息和 HE-MU 信息中。

表 2:MU-HE 信息字段

现在让我们把这些信息整合起来:

  1. 如上方图 8 所示,来自 SIG-A 的 Flag2 SIG-B 压缩字段为 false,这意味着当前不是全带宽 MU-MIMO,因此 MU-PPDU 中存在公共字段,也说明我们正在使用资源单元(RU)。
  2. 当 HE-SIG-A 字段中的带宽值为 2、4 或 5 时,MU-HE 信息显示 N=2(表示 80 MHz HE MU PPDU)。
  3. SIG-B 符号数 Flag2 显示有 4 台设备
  4. 综上,我们在 80 MHz 带宽上使用了资源单元,且连接了 4 台设备。

信道 1 & 信道 2

我们还可以看到信道 1 和信道 2 的相关信息。

信道表格展示了资源单元(RU)分配的比特索引。

信道 1 或信道 2 的生效情况取决于信道带宽:

  • 信道 1 的 "已知" 字段表示信道 1 上捕获到了数据,且该信道从 20 MHz 带宽开始启用。
  • 信道 2 的 "已知" 字段表示 40 MHz 或更高带宽上捕获到了数据;如果带宽仅为 20 MHz,该字段值应为 0。

表 3:信道 1

表 4:信道 2

让我们看看在抓包文件(PCAP)中,信道 1 和信道 2 是如何呈现的。

(表 3:80MHz 带宽下的 RU 分配)

现在我们来总结完整的下行 MU-OFDMA 流程:

  1. SIG-B 中包含 MU-PPDU 内 MU-OFDMA 的相关信息。
  2. 我们的信道带宽为 80 MHz。
  3. 接入点(AP)向多台设备发送触发帧。
  4. AP 在发送 MU - 触发帧后,发送 CTS(清除发送)帧。
  5. AP 向所有客户端发送 MU-PPDU。

细节补充

  • HE 信息字段显示该帧的每个资源单元(RU)包含 242 个音调(图 8)。
  • MU-HE 信息字段的 Flag2 中带宽值为 2,这表明带宽大于 20 MHz,即我们已知的 80 MHz。
  • SIG-B 压缩字段为 false,表示这不是全带宽传输。
  • SIG-B 符号数显示有 4 个客户端。
  • 信道 1 和信道 2显示比特索引为 192,可参考 RU 分配表。

图 8:展示 MU-OFDMA 的 PPDU

总结:

通过本文可以知道MU-PPDU是802.11ax下行多用户传输的PPDU格式,AP满足触发帧与CTS条件后才能进行发送。在其含传统前导码与HE-SIGA、HE-SIGB字段,抓包中对应HE信息和HE-MU信息,前者含解析信息,后者承载资源分配数据。

相关推荐
网云工程师手记3 小时前
防火墙安全区域划分规范与接口配置实操指南
运维·服务器·网络·安全·网络安全
科技林总3 小时前
【系统分析师】7.7 统一建模语言
学习
.小小陈.3 小时前
Python基础语法详解4:函数、列表与元组全解析
开发语言·c++·python·学习
南夏一木子3 小时前
Vue学习 —— Axios异步通信
前端·vue.js·学习
dozenyaoyida3 小时前
BLE传输WiFi列表的问题分析
网络·经验分享·物联网·wifi·中文乱码·json解析·ble
skywalk81633 小时前
汉字学习汉语学习相关库hanzi-writer 、makeme hanzi和chinese-xinhua
学习·汉字
灰子学技术3 小时前
Envoy与Istio HTTP流量故障转移机制介绍
网络·网络协议·http·云原生·istio
Coisinilove3 小时前
数通第一次培训(10.13)
网络·数通·现代网络通信
Trouvaille ~3 小时前
【Linux】TCP可靠性与性能优化详解:从确认应答到拥塞控制
linux·运维·服务器·网络·tcp/ip·性能优化·操作系统