Wi-Fi 6 AX调度机制详解:OFDMA、MU-MIMO、TWT如何根治多设备卡顿
家里换了台支持Wi-Fi 6的无线路由器手机、电脑、电视、智能插座全连上之后测速软件里的峰值带宽确实上去了可晚上多个设备同时在线时视频通话照旧会卡游戏偶发跳Ping。这个问题我在自己家遇到过帮朋友调试时也反复见到。多数时候问题并不出在“带宽不够”而在于路由器到底怎么把无线资源“分”给几十台设备——这套分配机制就是所谓的AX调度。802.11ax是Wi-Fi 6的标准代号ax这个名字直接来自协议本身。AX调度指的是这个标准引入的OFDMA、MU-MIMO、TWT、BSS Coloring等一系列无线资源调度机制的总和。它关心的不是“你的宽带有多大”而是“路由器如何在拥挤的信道里让每台设备都按时按量拿到资源”。这篇文章适合正在折腾路由器的朋友、做无线网络运维的工程师也适合家里设备特别多、想彻底弄明白Wi-Fi 6为什么在实际使用中时快时慢的普通用户。我会从物理层的资源划分讲到MAC层的调度算法最后聊几个固件开关和实测中踩过的坑。1. 为什么“带宽翻倍”却没变快无线信道里的调度难题1.1 无线介质是共享的所有设备都在一间屋子里说话Wi-Fi和有线网络最大的区别在于介质是共享的。有线交换机给每台设备一条独立网线数据在各自的链路里走互不干扰Wi-Fi则不一样一台多天线的路由器面对几十台设备信道只有一条所有设备都要在同一个频率资源上收发。谁先说话、谁说多久、谁跟谁同时说这些都需要规则来约束。Wi-Fi 5及更早的标准靠的是CSMA/CA这种“先听后说、冲突退避”的竞争机制。每台设备在发送数据前先侦听信道信道空闲才发送如果两台设备几乎同时检测到空闲并发送就会撞在一起撞了之后各自随机退避一段时间再重试。这就像一间屋子里好几个人要发言全靠自觉举手眼看着谁先喊就谁说气氛一乱所有人都得安静下来重新等一轮。这种机制在设备少的时候问题不大可一旦设备数量上来退避和重传的开销会显著吃掉吞吐量。更关键的是一台设备哪怕只发送一个几十字节的状态包也要独占整条信道。这个“一包独占全局”的方式在每台设备都只是小流量时尤其浪费就像一条单车道哪怕只是送一封信小汽车也得占掉整条路。1.2 竞争机制的天花板设备一多效率立刻崩我最早意识到这个问题是帮朋友调试一屋子的智能家居设备。他的宽带是千兆路由器是当年的旗舰Wi-Fi 5手机贴脸测速能跑满500Mbps但家里的智能音响偶尔会没反应扫地机器人充电桩的状态提醒经常延迟十几秒。查了一圈问题不在某台具体设备而在信道里太挤了二十多台设备都在同一个信道里等着发言彼此竞争的时间占比越来越大真正用来传数据的时间反而越来越少。这个场景特别适合理解AX调度的切入点。它把过去“设备自觉排队”的分布式竞争改成“AP统一派活”的集中式调度信道被切成很多细分的资源块哪些资源块给哪台设备、在哪个时刻用、用什么调制档位都由路由器这个AP来统筹。这一步转变是从Wi-Fi 5到Wi-Fi 6实际体感差异最大的地方。1.3 802.11ax名字里的“ax”为什么就代表了调度时代802.11标准每一代都有代号11n叫HT11ac叫VHT11ax被称为HE全称High Efficiency高效。这两个字点得很准。过去几代Wi-Fi都在堆极限速率到了11ax这一代行业意识到90%的体验问题不在峰值速率而在密集场景下的资源调度效率。于是OFDMA取代了原本只为单用户服务的OFDMMU-MIMO从下行扩展到上行TWT开始帮终端省电BSS Coloring让相邻路由器可以更大胆地同时传输。AX调度不是一个单独的功能开关而是这四项技术的协同。有些路由器固件里能分别看到OFDMA、MU-MIMO、TWT、BSS Coloring的开关但它们之间是配合关系不是替代关系。拿下面的对比来理解最直观调度机制Wi-Fi 5 (802.11ac)Wi-Fi 6 (802.11ax)OFDMA无单用户独占信道有多用户按RU细分MU-MIMO仅下行4条空间流上限上下行均支持8条空间流TWT无有时间维度调度BSS Coloring无有空间复用上行资源分配靠终端随机竞争触发帧集中分配2. OFDMA把信道切成小格子AX调度的核心王牌在这里2.1 RU是什么20MHz信道原来可以切成这么多小块OFDMA正交频分多址是AX调度中最核心的一环。它和上一代OFDM只差一个字母思想却完全不同。OFDM把信道分成许多子载波但同一时刻所有子载波都只为一台设备服务OFDMA把这些子载波拆分成不同的资源单元也就是RU在同一个传输周期里分给多台设备同时使用。具体有多碎在20MHz带宽下802.11ax可以按26个子载波的最小粒度划分最多分成9个RU也可以按52、106、242个子载波的粒度组合划分。大RU适合高速率设备小RU适合只发心跳包、状态上报的IoT设备。这样一来一个原本只能服务一台设备的时间片可以同时塞进9台设备的数据。RU类型包含子载波数20MHz下最多数量典型场景26-tone RU269智能插座、温湿度计、门磁传感器52-tone RU524智能音箱、语音设备、小包业务106-tone RU1062手机视频通话、在线会议242-tone RU24214K电视、大文件下载、高速业务2.2 调度器怎么决定每个格子给谁从BSR到触发帧的完整链路OFDMA能工作靠的是AP端的调度器对“给谁、给多大、用什么调制编码”的决策。调度依据来自终端上报的缓冲状态报告也就是BSR。每台设备会周期性地告诉AP“我现在队列里有300字节的普通数据20字节的高优先级数据。”AP汇总所有设备的BSR之后会在下一个下行传输机会里发送一个触发帧。这个触发帧就像一个排班表里面写清楚每一台设备在下一个传输周期里占用哪个RU、用哪个MCS级别、持续多久。收到触发帧的设备按表在对应的时间频率资源块上发送数据不再需要互相竞争信道。这个过程就是AX调度里“调度”二字最直接的动作由中央仲裁者AP把频率资源精确地分配给多台终端。2.3 上行OFDMA才是解决拥堵的关键很多人关注OFDMA往往只看下行数据分发但实际家里网络最拥堵的是上行方向。视频通话开启麦克风摄像头、云盘同步、智能摄像头实时上传监控画面这些上行流量在过去只能靠终端一台一台轮流抢。AX调度的上行OFDMA通过触发帧轮询把多台设备的上行小包组织在同一个时间片里并发传输上行延迟和丢包都能明显改善。视频通话卡顿很多时候不是下行带宽不够而是上行排队时间长。无线信道是半双工的同一时刻要么所有设备都在收要么都在发。如果十几台设备都在上行抢信道每台设备的等待时间会被拉得很长。OFDMA把这个“串行排队”变成了“并行提交”相当于把以前大家挤在同一个收银台的场景改成了几个窗口同时结账。2.4 每个RU的调制档位还不一样调度也包括MCS选择同样是分到一个RU不同设备能跑多快是不一样的。调度器会参考每个RU上的信噪比SNR给不同设备分配不同的MCS级别。802.11ax支持从MCS0一路到MCS11速率差距非常悬殊MCS0用BPSK一个子载波只能传1比特胜在抗干扰能力最强MCS11用1024QAM配合高码率一个子载波能传的比特数是前者的十倍以上但对信号质量的要求也苛刻得多。距离远、干扰大的设备分到低阶MCS距离近、信号好的设备分到高阶MCS这同样是调度算法的工作。如果调度器只会平均分配弱信号设备和强信号设备放在同一个周期里传输要么弱设备丢包要么强设备被迫降速两边都照顾不好。AX调度里“根据信道质量动态调档”这部分恰恰是最考验算法成熟度的地方。3. MU-MIMO的空间流调度多车道并行的真实表现3.1 MU-MIMO不是Wi-Fi 6首创但这一代终于可用MU-MIMO利用多根天线形成的空间维度让多台设备在同一频率、同一时间上各自走一条空间流互不干扰。Wi-Fi 5标准里其实已经有了下行MU-MIMO但只支持最多4条空间流而且对信道探测的依赖很重实际很多设备压根没有开启。到了802.11ax这一代MU-MIMO的上行也被补上了空间流扩展到8条加上调度算法的成熟MU-MIMO从纸面功能变成了真正可感知的体验。我印象很深的是前两年测过一台支持4×4 MU-MIMO的中端路由器同时连两台平板看流媒体两台设备都能稳定跑到各自协商速率的八成以上。这在Wi-Fi 5时代的老路由器上很难做到老路由通常只是“能连上”多设备并发时速率会互相拖累。3.2 调度器如何决定“谁和谁可以并行”要理解MU-MIMO的调度可以把它想成机场的多个登机口几个航班同时登机靠的是不同的登机口把人群分开。无线里这个“登机口”就是空间流但前提是几台设备的无线信道要足够正交意思是它们在空间上确实处于不同的方向或者位置信号不会互相打架。AP通过发送空数据分组通告NDPA和信道探测帧让终端分别回报各自的信道状态信息CSI然后用算法判断哪几个终端适合放进同一个MU传输组里。如果家里两台设备凑巧坐在一起、位置很近它们在空间上的区分度就会变差调度器会把它们放到不同的时间片里而不是强行并行。这也是为什么同样的路由器设备分散在不同房间时表现更好而一堆设备挤在同一张桌子上时MU-MIMO几乎发挥不出来。3.3 现实限制终端只有两根天线8条流的宣传要打折路由器标称4×4、8×8指的是射频链路和天线数量但实际能利用多少取决于终端的天线数量。大多数手机和平板是2×2也就是最多同时用2条空间流很多智能家居设备只有1×1。调度器能把8条空间流分给多台设备但每台设备分到的流数不会超过它的能力上限。更现实的问题是天线越多设备越贵越耗电所以路由器再怎么堆8×8也改变不了大部分终端只有2×2的现实。选购路由器时除非你是重度下载玩家否则4×4已经足够覆盖大多数家庭。真正的瓶颈在终端侧一台贴着标称速率写“AX3000”甚至“AX6000”的路由器如果家里连的全是老旧双天线手机实际能跑到的并发空间流是有限的宣传数字只能看看。3.4 OFDMA和MU-MIMO是“频谱×空间”两个维度的联合调度OFDMA把频率切成格子MU-MIMO把空间切成通道两者可以同时使用。调度器在一个二维表上做填充横轴是RU频率方块纵轴是空间流不同用户占用不同方块和不同流。这个联合调度比单独开OFDMA或MU-MIMO都复杂得多所以不同芯片厂商实现的差异也体现在这里。有些方案的调度器会在终端数量多时自动退化为只开OFDMA因为MU-MIMO的探测开销在某些场景下反而划不来有些方案则激进地尝试尽量多配对结果在信道快速变化的环境里回报不佳。这部分统称“AX调度的工程质量”不同路由器之间的体验差异往往就在这里拉开。两台同样标着AX3000的路由器固件调度策略不同多设备并发时的表现可能一个天一个地。4. 容易被忽略的TWT与BSS Coloring调度不仅仅是分格子4.1 TWT把“时间”也纳入调度设备可以预约醒来时刻TWT全称Target Wake Time目标唤醒时间是AX调度里针对省电和低延迟的一套时间维度调度机制。终端和AP协商一个预约时间表这盏灯泡、这个插座每30秒醒一次每次醒5毫秒收完自己的指令再睡回去。其他时间它不用一直监听信道所以功耗可以大幅下降。对于用Wi-Fi的智能门锁、温湿度计这类电池供电设备TWT带来的续航提升是实打实的。TWT不只是省电还减少了空口上的噪声。几十台IoT设备如果都随时醒来抢信道信道会变得很吵让它们按预约时间醒来调度器就能把它们的唤醒窗口错开避免大规模同时抢占。这就是时间维度的调度。有些路由器在IoT设备很多的场景下反而延迟更稳背后就是TWT在起作用。4.2 BSS Coloring给每个Wi-Fi网络涂个颜色让邻居敢同时传家庭环境里到处是邻居的路由器大家都在同一信道或者重叠信道上工作传统CSMA/CA会被邻居的无线信号吓得不敢发送。BSS Coloring的做法是给每个基本服务集BSS一个6位的颜色编号帧里带上这个颜色。某台设备收到一帧时如果颜色和自己的BSS颜色不同就认为这是邻居的帧它不一定要完全退避只要信号强度没有高到影响自己接收就可以判断干扰是否可容忍并尝试并行传输。这项机制在公寓环境中尤其有用。整栋楼几十个Wi-Fi互相可见如果没有BSS Coloring大家都会因为侦听到对方的信号而互相谦让吞吐量一起低迷。有了颜色编号不同家庭的路由器可以更激进地同时工作整个信道的使用效率就上来了。我在朋友家实测过同一层有三四个可见的强信号Wi-Fi路由器开启BSS Coloring之后晚高峰测速比关掉时稳定不少波动范围明显收窄。4.3 UORA和多BSSID调度机制里不太起眼的补充并非所有终端都会规规矩矩地上报BSR。一些老旧芯片或者只发少量广播报文的设备没有BSR机制AP也不知道该给它们分哪个RU。OFDMA随机接入UORA就是为这种设备准备的它们使用公共争用窗口里的RU来发数据调度器留出一部分RU作为公共区域让这些设备竞争。这样即使设备不支持完整的OFDMA协商也能在OFDMA周期里找到自己的位置。多BSSID则让一个物理AP提供多个逻辑网络每个逻辑网络可以分别做调度和隔离。典型用法是把访客网络和主网络分开给访客网络限速、限制访问内网同时让主网络的调度策略不被访客流量干扰。这些补充机制和TWT、BSS Coloring一样共同构成了AX调度的全貌。如果只盯着OFDMA和MU-MIMO你会漏掉调度系统里相当重要的一环。5. 厂家固件里的AX调度开关实测中我这样调优5.1 后台里那些开关到底该怎么理解各品牌路由器固件里的称呼各不相同但核心开关就那么几类OFDMA、MU-MIMO、TWT、BSS Coloring。有些品牌把MU-MIMO和波束成形放同一个页面有些把TWT翻译成“目标唤醒时间”还有的把BSS Coloring藏在专业模式里不单独暴露。默认状态下大多数路由器会开启OFDMA和MU-MIMOTWT则是部分品牌默认关、部分默认开BSS Coloring一般由驱动自动决定。我自己的经验是先搞清楚家里终端的老旧程度。如果设备普遍是2019年以后买的手机、笔记本可以全部保持开启如果还有不少老智能家居设备先关TWT。判断方法很直接关掉TWT之后原本那些时不时离线的设备是否恢复稳定。我帮朋友排查过一个案例一台支持Wi-Fi 5的智能插座固件对TWT协商支持得不好AP开启TWT后它经常进入睡眠就醒不过来表现为每隔几分钟掉线一次关闭TWT之后立刻恢复正常。5.2 一个容易翻车的操作无脑开启MU-MIMO我早年间也有过“所有功能全开等于性能最大化”的误解结果发现一台2017年的老平板电脑在开启MU-MIMO之后协商速率反而下降测速也掉了两三成。原因是调度器为了做MU-MIMO配对需要频繁发送探测帧并等待终端反馈信道信息这台旧终端的反馈链路不完整导致每次调度周期被拉长。对于这种问题单纯关掉MU-MIMO开关往往比换路由器更有效。这也解释了为什么某些评测里出现“开了MU-MIMO还不如不开”的结论。MU-MIMO在终端位置固定且信道好的情况下增益明显但在终端移动频繁或者老设备多的时候探测开销会吃掉一部分增益。实际调试时可以把MU-MIMO和OFDMA分别开关各跑一个晚上的Ping丢包率和测速对比看谁在你这套房子里收益更大。改一个参数观察一两天再改下一个这是最稳妥的调优节奏。5.3 怎么判断AX调度是否真的在起作用很多人开了开关却不知道有没有生效。最直接的办法是看路由器后台的无线状态页大部分中高端路由会显示每台终端的协商速率、信道宽度、上下行流量。协商速率和实际吞吐差异过大往往就是调度没吃到点子上。想看得更细Linux系统下可以用这条命令查看当前连到AP上的终端状态iw dev wlan0 station dump输出里有rx bitrate、tx bitrate、rx packets、tx packets等字段能帮你判断某台设备是不是长时间占着信道却没传多少数据。Windows下可以用Wireshark抓包观察多用户触发帧是否频繁出现手机端用Wi-Fi分析工具看信道利用率。如果某个信道的利用率明明不高但速度上不去问题大概率不在信道上而在AP的调度策略或者终端兼容性上。5.4 给普通用户的三条实操建议第一宽带和路由器确定之后先把信道固定到信号最干净的那个用Wi-Fi分析工具扫一遍2.4G和5G的占用情况。AX调度再强也需要在干扰少的物理信道上才能好好发挥。第二把家里那些不用的设备踢出Wi-Fi一台常年在线但几乎不传数据的旧手机也会占用调度器的查询窗口和BSR上报资源。第三调整摆放位置让设备之间尽量分散。MU-MIMO调度最怕一堆终端挤在同一个墙角空间维度没了调度器再聪明也分不出空间流。6. 从802.11ax到802.11be调度机制下一次跳变的预判6.1 MRU和MLO会让“调度”变得更复杂也更强大下一代Wi-Fi 7也就是802.11be已经把AX调度这套思路继续往前推进了一大步。OFDMA方面引入了Multi-RU一个终端可以同时使用多个不连续的RU调度器不再是简单“分格子”而是变成“拼图”根据终端的信道质量把分散的频谱资源拼给同一个用户。更重要的是MLO也就是多链路操作终端可以同时连接2.4GHz、5GHz、6GHz多个频段调度器要在频段之间做负载分配和故障切换。这等于在频率、空间两个维度之外又加了一个整链路维度调度算法的复杂度会进一步上升。6.2 对普通用户来说下一代的调度会带来什么最直接能感受到的会是延迟和稳定性的进一步改善。MLO让电竞笔记本和VR头显可以在两个频段同时传输数据某条链路抖动时另一条链路立刻顶上这在过去是做不到的。对智能家居来说MRU让低功耗小包跟高吞吐大流量可以更灵活地共存不会出现某台4K电视把整个信道的RU占满、抄表传感器干等的情况。不过我的态度还是一贯的技术只有落到固件和终端的配合上才有意义。Wi-Fi 7路由器就算自己有很强的调度能力家里如果不换支持MLO的终端体验差距也很有限。AX调度从802.11ax时代开始建立起来的“集中式资源分配”思路会在802.11be里继续深化但用户真正应该关心的始终是“我家的设备组合适不适合这套调度机制”。最后分享一点我调了几年路由器的实际体会。AX调度是最典型的那种“上限很高但下限也看环境”的技术。它把很多本该由终端自觉完成的事集中到了路由器身上所以路由器处理器能力、固件算法、甚至散热都会影响调度效果。我踩过最深的坑是误以为开启所有调度特性就等于最优实际上家里的终端新旧混杂老设备越多越需要选择性开启。如果你家里二十多台设备里有一大半是老款IoT设备我的建议是优先保住TWT关闭后的连接稳定性再慢慢试OFDMA和MU-MIMO的组合。调试时记得改动一个参数就观察两三天不要一次全改否则出了问题你根本不知道是哪个开关引起的。