ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Wi-Fi 6的ax调度到底是什么:OFDMA、MU-MIMO与TWT原理及抓包验证

Wi-Fi 6的ax调度到底是什么:OFDMA、MU-MIMO与TWT原理及抓包验证 1. 项目背景ax调度这个词是怎么火起来的最近后台和群里好几个人都在问“ax调度”有人以为是谁家新发布的分布式任务调度框架还有人以为是某云厂商包装出来的新名词。其实把“ax”拆开就清楚了它代指 IEEE 802.11ax也就是我们常说的 Wi-Fi 6。而“ax调度”说的是 Wi-Fi 6 无线协议里那一整套中心化资源调度机制包括 OFDMA、MU-MIMO、TWT 这些让 AP 像“调度中心”一样统一分配信道资源的动作。为什么这个词会火因为 Wi-Fi 6 和前几代标准最大的差异不是单纯把速率翻倍而是从“靠运气抢信道”变成了“按计划分配信道”。在办公区、教室、宿舍、机场这类高密度接入场景里真正决定体验的不是带宽而是调度效率。所以“ax调度”本质上就是 Wi-Fi 6 的 MAC 层调度器在工作时的一系列行为这篇文章就把这套机制从设计思路到抓包验证完整过一遍适合无线网络工程师、企业网管、以及对 Wi-Fi 技术感兴趣的折腾型玩家。1.1 先说清楚 ax802.11axWi-Fi 6命名这件事很容易把人绕晕。IEEE 的无线局域网标准从 802.11b/g/n/ac 一路演进到了下一代标准名就是 802.11ax。Wi-Fi 联盟为了让大家好记从 802.11n 开始给了个通俗编号802.11n 是 Wi-Fi 4802.11ac 是 Wi-Fi 5802.11ax 就是 Wi-Fi 6。所以你在看设备参数时如果出现“AX3000”“AX5400”或者驱动里出现“HE 模式”指的都是同一套东西。“HE”是 High Efficiency 的缩写这也是 802.11ax 设计目标的缩影。从协议层面看802.11ax 改动非常系统它引入了更细的子载波划分、上行和下行 OFDMA、上下行 MU-MIMO、TWT以及 BSS Coloring。这一大堆新特性背后都围绕一个中心思想让 AP 能够统一调度多个终端的收发而不是像过去那样完全依赖随机竞争。也因此很多资深的无线工程师会直接用“ax调度”来形容这一代协议的核心变化。1.2 ax调度到底在调度什么调度这个概念在无线局域网里和在操作系统里有点像都是资源分配问题。在 802.11ax 之前的时代无线介质是典型的随机接入每个终端发送数据前先监听信道信道空闲就发送如果多个终端同时发送产生了碰撞就各自退避随机时间再重试。这种机制叫 CSMA/CA简单可靠但在终端数量多、小报文密集的时候效率极低。ax调度改变的是这个“各自为战”的模型。AP 在传输周期内充当指挥者明确告诉每个终端你在哪个频率块上传、在哪个空间流上收、在哪个时间点唤醒。具体到协议实现调度发生在三个维度上频率维度通过 OFDMA 把信道切分成多个 RUResource Unit资源单元不同终端可以同时用不同频率段发送数据。空间维度通过 MU-MIMO 让不同终端使用不同的空间流相当于在天线层面上并行传输。时间维度通过 TWT 协商出每个终端的唤醒时间让设备不发送数据时进入休眠降低空闲监听带来的竞争和功耗。这三个维度共同组成了“ax调度”的主体。理解了这一点再看 Wi-Fi 6 的测速测试和高密度场景表现思路会清晰很多。2. 整体设计思路为什么 Wi-Fi 6 要引入“调度制”2.1 从“人人大喊”到“交警指挥”的演进早期 Wi-Fi 的分布式接入模型可以类比成一群人在一个房间里开自由讨论会。每个人都能说话但都要先判断别人有没有在说。如果有两个人同时开口发现冲突后就得停下来随机等一会儿再试。人少的时候这种“自由发言”体验还不错人一旦多起来空气里全是“抱歉你先说”的相互等待实际有效交流时间被大量浪费。在无线协议里这个过程更精确终端需要先等待 DIFS分布式帧间间隔然后进入退避计数器倒计时。倒计时归零之前发现信道又忙了就得冻结并重新等待。终端越多碰撞概率越高每次碰撞都会导致退避窗口指数增大。结果就是看起来每个设备都连上了 Wi-Fi但很多时候大家的流量都在空口竞争中被消耗掉了尤其是大量状态更新、心跳包、IoT 小报文这类场景效率下降特别明显。802.11ax 的做法相当于在房间里安排一个“交警”或者“会议主持人”。主持人按顺序点名张三在 1 号位置说李四在 2 号位置说王五等下一轮。每个人在指定时间、指定位置发言互不干扰。这个“主持人”就是 AP 里的调度器而“点名规则”就是各种各样的调度算法。这样做牺牲了一点设计的“公平随机性”但换取的是高密度环境下的确定性、低冲突和高吞吐。2.2 OFDMA、MU-MIMO、TWT 三种调度机制的定位ax调度并不是单一技术而是三个关键特性的组合。它们负责的资源维度不同适用场景也有明确分工。我用一张表格把它们的定位先列出来调度维度核心技术作用方式典型受益场景频率OFDMA把信道切成多个 RU多终端并行收发小报文密集、物联网心跳、网页浏览空间MU-MIMO利用多天线空间流并发传输大流量下载、视频会议、文件同步时间TWT协商唤醒窗口避免空口竞争和功耗浪费电池供电终端、无线扫码枪、传感器这三者不是彼此替代而是协同工作。一个典型的 Wi-Fi 6 传输周期里AP 先通过 Trigger Frame触发帧发送出一份“调度表”里面写清楚这次传输有哪些终端参与、每个终端用哪个 RU、用几条空间流。随后多个终端在收到触发后同时发出上行数据AP 再统一回复 Block ACK。整个过程既包含了频率上的 OFDMA 细分也包含了空间上的 MU-MIMO 叠加而 TWT 则决定了终端什么时候需要醒来参与到这一轮调度中。三种技术中OFDMA 是“ax调度”最核心的标志。它最关键的变化是把信道从“一条独享大马路”改成了“多条并行小路”哪怕每个用户只有一小段频率也能同时发送大大降低了小报文场景下的空口开销。这也是为什么很多企业 AP 的配置界面里会把“DL/UL OFDMA”单独列出来作为调度总开关。3. 核心细节解析与实操要点3.1 OFDMA 的 RU 分配与配置细节OFDMA 的实现基础是子载波分组。802.11ax 中一个标准 20MHz 信道采用 256 点 FFT可用子载波约为 242 个这些子载波会进一步组合成不同大小的资源单元 RU。常见的 RU 大小有 26-tone、52-tone、106-tone、242-tone 以及用于更宽信道的 484-tone、996-tone不同 RU 对应的物理带宽和子载波数量如下RU 类型子载波数20MHz 下最多可分配数量典型用途26-tone269 个小报文如 IoT 数据、即时消息52-tone524 个中低速率业务如语音通话106-tone1062 个较高带宽需求如视频会议242-tone2421 个全信道占用适合大流量传输调度器分配 RU 时不是简单均分而是综合业务量和信道质量来决定。比如同时有 9 个传感器上报数据每个报文只有几十字节调度器可以把 20MHz 分成 9 个 26-tone RU让 9 个传感器同时发送。这样虽然每个 RU 速率不高但从系统角度看9 个终端的发送延迟都被压缩在一个传输周期内比逐个轮询快得多。反过来如果一个终端正在下载大文件调度器会把整个信道作为单个 242-tone RU 分配给这个终端保证大流量业务不被切成碎片。同时调度器还会参考每个终端的 MCS调制编码指数。SNR 差的终端就算给它再宽的信道也跑不起来反而浪费资源SNR 好的终端则会被优先分配到较大 RU 和较高 MCS。在实际配置时多数企业级 AP 默认会开启 OFDMA但在低密度家庭环境里OFDMA 带来的收益可能并不明显。因为 Trigger Frame、资源分配字段这类控制信息本身也要占用空口时间如果同一时刻只有一两个活跃终端集中调度带来的开销反而可能让测速结果变得难看。所以很多 AP 的默认策略是“低负载时自动退回到传统传输模式高负载时才启用 OFDMA”这个逻辑通常是合理的不建议盲目关闭。3.2 MU-MIMO 的探测与空间复用细节MU-MIMO 是 Wi-Fi 5 时代就引入的概念但 802.11ax 在上下行两个方向都完善了它。下行 MU-MIMO 由 AP 同时向多个终端发送不同空间流的数据上行 MU-MIMO 则允许多个终端在 AP 的触发下同时上传数据。这里有个关键前置过程波束成形探测。AP 不知道终端在哪个位置、天线形态如何需要先发送 NDP空数据包和 NDP Announcement终端收到后根据信道状态返回 Compressed Beamforming FeedbackAP 再根据反馈信息计算天线权重矩阵决定怎么把空间流“指向”不同终端。如果这个探测过程不成功MU-MIMO 的增益就会大打折扣。我实际调过很多不达标的场景最常见的问题是终端天线和 AP 天线数量不对等。比如 AP 是 4x4 天线但终端是 1x1 天线那这个终端最多只能占用一条空间流MU-MIMO 分组时它几乎帮不上忙。要验证终端能力可以在 Intel AX200 这类网卡上使用iw dev wlan0 link查看 MCS、带宽和 NSS空间流数量。如果发现连接速率只有 400Mbps 左右通常就是 1 条空间流、80MHz、MCS9-11 的组合。另外MU-MIMO 还要求终端之间的信号隔离度足够好。如果两个终端物理位置很近AP 把它们放在同一组 MU 传输里接收端会互相干扰。因此调度器通常要结合信道相关性判断是否适合组成 MU 组这也是为什么在“满屋都是手机”的会议室里MU-MIMO 不一定总能跑出漂亮数据。关于空间复用还要提一下 BSS Coloring。BSS Coloring 不算严格意义上的调度但它是 802.11ax 提升空间利用率的重要设计。AP 会给自己的 BSS 打个“颜色”标签终端发现邻居 BSS 的颜色和自己不同时可以选择忽略部分干扰继续发送而不是像以前那样只要信道忙就退避。这在多楼层、多办公室的密集组网里非常有用也是 ax 调度的“背景增强器”。3.3 TWT 的建立流程和功耗优化要点TWTTarget Wake Time是 ax调度里最容易被忽略但又很有意思的一项。它的目标是通过协商让终端只在约定的时间醒来其他时间进入深度休眠。正因为这个机制Wi-Fi 6 设备能做到比前代更低的待机功耗。TWT 的协商过程并不复杂。终端在关联阶段或者关联后通过 TWT 建立请求帧向 AP 提出期望的唤醒周期AP 根据当前负载和接入设备数量返回一个协商好的目标唤醒时间、唤醒间隔和最短唤醒时长。如果是 Broadcast TWTAP 还可以为一组终端设置同一个唤醒窗口避免设备在醒来时集体争抢信道。实际项目中我看到过不少无线扫描枪和手持终端通过 TWT 获得明显续航提升。比如扫码枪每隔 5 分钟上传一次盘点数据如果让它在两次上传之间完全休眠省电效果非常可观。但 TWT 也有代价如果期间有下行数据要发送AP 得等终端醒来才能送达交互式应用会感知到额外延迟。所以实时性强、需要时刻保持收发包能力的业务不建议开启严格的 TWT或者至少把唤醒间隔调得很短。如果 AP 配置界面里有“TWT 业务类型”选项通常会让语音、视频、游戏等延迟敏感流量绕过 TWT 调度。另外很多老终端并不支持 TWTAP 只能忽略它们的请求这时候混合模式下的调度效率会受影响但不会导致掉线。4. 实操过程从抓包看一次完整的 ax 调度4.1 搭建一个能观察调度的实验环境要真正理解 ax调度纸上谈兵不够最直接的办法是抓包看一次实际调度的完整流程。我建议用一套组合设备来搭实验环境一台支持 Wi-Fi 6 的 AP比如华硕 RT-AX86U、TP-Link XDR5480 或者任意企业级 AP。两台以上支持 802.11ax 的终端比如带 Intel AX200 的笔记本电脑、iPhone 12 及以上、Android 12 以上机型。一台用于抓包的电脑最好也用 Intel AX200 网卡确认驱动支持 monitor 模式。Wireshark 4.x 版本用于解析 HE 帧。先关闭 2.4GHz 频段或者单独用 5GHz 频段测试避免干扰和兼容性问题。AP 端把 OFDMA、MU-MIMO、TWT 全部开启SSID 使用 WPA2/WPA3 加密。把终端放到 AP 附近保证 RSSI 在 -55dBm 以上SNR 最好大于 30dB。抓包机把无线网卡切入 monitor 模式后用 Wireshark 抓取 5GHz 频段。我习惯过滤 AP 的 MAC 地址减少无关帧数量。然后从两个终端同时发起流量比如一边跑 iPerf3 大流一边循环访问网页模拟小报文持续抓 10 到 15 分钟。4.2 抓包分析Trigger Frame 与 RU 分配记录抓包文件里最需要关注的是 AP 发出的 Trigger Frame。在 Wireshark 里可以用显示过滤器wlan.fc.type_subtype 0x1d快速定位也可以直接在协议树里看到名为 Trigger 的帧。Trigger Frame 是 ax 调度的“发令枪”AP 通过它告诉终端本次传输的详细安排。打开一个 Trigger Frame重点关注几个字段Trigger Type常见的有 Basic Trigger基础触发用于 UL OFDMA、MU-BAR Trigger用于请求 Block ACK、Beamforming Report Trigger用于触发波束成形反馈。UL BW上行带宽例如 0 表示 20MHz1 表示 40MHz2 表示 80MHz3 表示 160MHz。User Info 列表里面是每个参与终端的 AID关联 ID、RU Allocation、编码方式、MCS 等。RU Allocation 会明确告诉你某个终端这次被分到了哪个起始频率、多大的 RU。如果你看到一次 Basic Trigger 里同时包含多个 User Info并且随后紧跟多个客户端发来的 HE TB PPDU就说明 UL OFDMA 调度正在正常工作。这些 HE TB PPDU 在 Wireshark 里会显示成 Data 帧帧头可能带有相同的触发序列号你可以按时间顺序把它们和前面的 Trigger Frame 对应起来。下行 OFDMA 调度则没有 Trigger Frame 这么明显它主要通过 HE MU PPDU 来承载。Wireshark 解出 HE MU PPDU 后同样可以在协议树里看到多个 User Info 信息每个用户对应不同的 RU 和空间流配置。不过需要注意的是常规网卡的 monitor 模式不一定能完整解密 HE 帧如果抓包结果全是加密的可以临时把 SSID 改成开放网络在隔离测试环境中抓或者使用 AP 端的调试抓包功能。4.3 典型问题排查与避坑记录我在实际测试中踩过不少坑这些问题在配置 ax调度时很容易遇到整理成一份避坑清单供参考问题一开启 OFDMA 后老摄像头或者 11n 终端出现掉线或延迟变大。原因是这些设备无法理解 RU 分配需要靠混合模式保护机制转发。解决办法是把 2.4GHz 频段的 OFDMA 关闭只保留 5GHz 频段的开启状态或者把老旧 IoT 设备隔离到独立 SSID。问题二开启 MU-MIMO 后单终端测速并没有明显提升。原因很简单MU-MIMO 本来就是并发技术单用户场景没有第二个流可以和它并行自然看不到效果。要做对比测试至少让两个终端同时跑大流量观察总吞吐是否提升。问题三终端明明支持 Wi-Fi 6连接速率却很低。先用iw dev查看链路信息确认协商到的带宽是 80MHz 还是 40MHz空间流数量是关键。很多手机在省电模式下会主动降到 1x1 或者较窄带宽这时候 ax调度的效果会被明显削弱。问题四抓包时完全找不到 Trigger Frame。先确认 AP 管理界面的“UL OFDMA”是否打开再确认终端是否在关联请求里携带了 HE Capability。另一个容易忽略的因素是网卡驱动不支持在 monitor 模式下处理 HE 帧这种情况下可以尝试换一张着名的 AX200 网卡并更新驱动。问题五TWT 开启后设备出现“找不到”或者响应延迟变高。典型的做法是检查 TWT 唤醒间隔是否太激进尤其对需要频繁交互的扫码枪、会议室投屏终端建议单独关闭 TWT 或缩短唤醒周期。这些坑都不是配置页面能直接看出来的得靠现场观察和抓包对证。特别是“调度有收益”的场景判断千万不要只看单终端测速。测速只能验证链路速率要验证 ax调度就像这次抓包实验一样关注并发传输周期、Trigger Frame 数量和 RU 分配变化才是真正理解它的方式。
返回列表