我最近被一个词折腾了挺久——ax调度。起因是办公室一台AP下面,十几个终端同时在线,视频会议、大文件同步、智能家居定时上报一股脑全上来,整体体验直接崩成幻灯片。当时去后台看了一眼,终端全协商在HE档位,速率参数一点没毛病,可空口就是在互相踩踏。后来我才意识到,802.11ax也就是大家常说的Wi-Fi 6,真正的分水岭并不在标称速率有多高,而是在“调度”这两个字上。这篇就围绕ax调度,把OFDMA、RU分配、触发帧、TWT这些容易混的概念串起来,讲清楚它们分别解决什么问题、现场怎么观察、调优时有哪些值得注意的坑。不管你是网络管理员、爱折腾路由器的人,还是做IoT设备选型,应该都能从里面找到点东西。
1. 为什么说“ax调度”才是Wi-Fi 6真正难啃的骨头
1.1 旧协议里的空口竞争:所有人都挤在同一条车道上
Wi-Fi 4和Wi-Fi 5时代,一个AP下的所有终端共享同一段信道,媒体访问控制靠的是CSMA/CA,先听后说,信道空闲才发。这个机制在单设备的时候非常高效,但只要设备一多,情况就变成了所有人抢同一条车道:两个终端同时开炮,冲突,然后各自随机退避,再重试,再冲突。
实测过一个场景,一个802.11ac AP下同时挂8台设备做上行传输,总吞吐往往只有单设备时的六成左右,剩下时间基本都耗在等待和退避上。更难受的是延迟抖动,你可能这一秒延迟2毫秒,下一秒直接飙到300毫秒,视频会议画面直接花掉,语音也变成断续的。速率提升做得再好,在这种竞争模型下也只是把车道加宽了,红绿灯却还是坏的,车多了照样堵成一团。
所以802.11ax刚出的时候,很多人只盯着速率翻倍看,这其实是最大的误读。真正的变化发生在资源分配方式上,也就是ax调度这套机制。它不再默认所有终端争抢信道,而是由AP作为统一的调度员,把频率、时间、空间这些资源显式地分给不同终端。
1.2 802.11ax的三层目标:速率、并发、确定性
802.11ax在标准里被叫做High Efficiency,高效,这个名字其实比“Wi-Fi 6”更能说明问题。它的目标不是单一地提高峰值速率,而是三个层面一起推进:首先是物理层速率提升,调制从256-QAM升级到1024-QAM,单流80MHz下的协商速率明显上了一个台阶,但这只是最表层;第二层是并发能力,OFDMA引入了频域多用户复用,MU-MIMO从下行扩展到上下行双向,多个终端可以在同一个时隙里各干各的;第三层是确定性,TWT让设备按约定的时间点醒来收发,BSS Coloring让不同AP的干扰处理更智能,不再一看到同频信号就无脑退避。
这三个目标加在一起,才是ax调度想表达的完整意思:让空口资源变得可编排、可预期。以前Wi-Fi是“概率游戏”,能不能抢到信道看运气,现在变成了“排课表”,谁来、什么时候来、占多少资源,都由调度机制统一规划。下面我想把最核心的OFDMA调度拆开来讲,它是整个ax调度体系的地基。
2. OFDMA调度内核:RU、触发帧与上行点名机制
2.1 20MHz信道被切成了什么:从子载波到RU
OFDMA的全称是正交频分多址,它是在OFDM基础上加上了多用户资源分配的能力。要理解它,得先看最基本的物理资源。802.11ax把一个20MHz信道分成256个子载波,其中真正用于数据传输的大概有234个,剩余的是导频、直流和保护频带。
调度的基本单位叫RU,也就是资源单元。最小的RU是26个子载波,一个20MHz信道在理论上最多可以切出9个这样的“小格子”同时分给9个终端。RU也可以合并,52、106、242这些更大的RU会分配给需要高速率的终端。RU越大,单个终端可用的子载波越多,速率越高;RU越小,一次能服务的终端数量就越多。这个取舍几乎是每一帧空口传输里调度器都要做的选择题。
| RU类型 | 20MHz内最多可同时分配数量 | 典型适用场景 |
|---|---|---|
| 26-tone RU | 9个 | IoT小报文、低速率传感器 |
| 52-tone RU | 4个 | 普通网页浏览、聊天类应用 |
| 106-tone RU | 2个 | 高清视频、在线会议 |
| 242-tone RU | 1个 | 大文件传输、高速业务 |
我自己的理解是,RU机制相当于把过去“一趟只有一个门”的火车站,改造成了“一列车可以挂很多节车厢、不同车厢去不同站台”的模式。调度器本质上是在决定每个终端上哪节车厢、坐多少个座位。
2.2 上下行OFDMA的调度差异:直接排还是先点名
OFDMA分上行和下行,两者调度逻辑差别很大。下行调度很简单,AP自己手里攒着发往各终端的数据,它既是调度员又是发送方,想怎么排就怎么排,把不同RU分配给不同终端,封装在同一个下行帧里发出去就行,终端被动接收解析属于自己的数据。
上行就没这么容易了。终端之间互相不知道对方要发什么、什么时候发,如果都按自己的想法去抢,就退回到传统的竞争模式,OFDMA的并发优势全没了。所以802.11ax规定,上行OFDMA必须要由AP发送Trigger帧来“点名”。Trigger帧里带有明确的RU分配信息、调制编码方案、目标发送功率,终端收到之后,必须在SIFS时间内,严格按照这个指示在自己的指定RU上并发发送。
这就是为什么有人把上行OFDMA称作“被点名的传输”。名字听着简单,实际上对终端的同步能力要求很高,所有参与上行的终端时间基准必须一致,发射功率也要校准,否则不同RU的信号到AP这边可能互相干扰。这也是部分老固件手机或者低端IoT芯片,明明支持11ax,却始终无法参与上行OFDMA的原因,它们跟不上这个调度节奏。
2.3 调度器怎么分RU:以缓存、速率和QoS为依据
那调度器每次到底依据什么来决定RU怎么分?不同厂商的实现细节差别很大,但核心的输入基本一致。第一是终端缓冲队列的数据量,比如AP这边要给终端A发一兆数据,给终端B只有几十千字节,那调度器自然会权衡,是给A一个大RU一次发完,还是给A和B各分几个小RU轮流来。第二是终端的协商速率和能力,一个只能跑MCS7的终端,即便给它分配大RU也吃不满,调度上去反而是浪费。第三是QoS优先级,语音、视频这类对时延敏感的业务会优先拿到资源,后台下载类的业务可以等一下。除此之外,还有空口丢包率、重传统计、历史信道质量这些因素。
这里有个生活化的类比:OFDMA调度器就像一个食堂打饭的管理员,有人要打两荤三素一大盘,有人只买一个馒头,有人是行动不便的老年人。如果所有人都挤同一个窗口,效率低得可怕;但如果管理员能把大胃王安排到大窗口、小需求分到小窗口、特殊人群优先处理,整个食堂的吞吐和体验都会好很多。ax调度干的就是这件事。
3. 另外三个“隐藏调度器”:MU-MIMO、TWT与空间复用
3.1 MU-MIMO把调度从频域扩展到空间域
OFDMA解决的是频域上的多用户复用,MU-MIMO则是在空间域上做文章。802.11ac时代已经有下行MU-MIMO,但限制比较多,最多支持4条空间流,实际终端也普遍只有一两根天线,触发条件很苛刻,收益有限。802.11ax把MU-MIMO做了很大的扩充,支持最多8条空间流,而且上下行都支持。
调度在这里要做的事情是:判断哪个终端在哪个方向上,空间特征彼此足够“分得开”。如果两个终端在物理位置上相差够远,或者信道响应矩阵正交性好,AP就可以把时间频段相同的资源同时发给它们,相当于同一辆车两个门各上一个乘客,互不干扰。
但要注意,MU-MIMO对环境的依赖比OFDMA要大得多。在办公室这种多径反射复杂的空间里,两个坐在隔壁工位的终端往往空间相关性很强,MU-MIMO反而可能拉低吞吐,调度器如果强行调度,性能未必比单用户传输更好。所以很多商用AP的MU-MIMO调度算法很保守,只有在信号质量足够好、终端分离度足够高的时候才会启用。
3.2 TWT给终端排“睡眠表”,时间维度上的确定性
TWT目标唤醒时间,是802.11ax里一个容易被低估的调度机制。它在时间维度上做文章:设备可以跟AP协商一组醒着的时间窗口,只在约定好的时间点醒来,检查有没有数据要收发,其他时间都进入深度睡眠。从功耗角度看,IoT设备电池能用多久,很大程度取决于TWT的协商质量。
从调度角度看,TWT的意义是让空口上的“随机到达”变成了“预约到达”。每个终端按照自己的周期出现,AP可以提前预判空口负载,不像以前那样不知道哪台设备下一毫秒会突然冒出来抢信道。这个机制对密集中间设备场景特别有价值,比如一个房间里塞了二十个智能插座和温湿度传感器,如果它们全部走TWT各睡各的、各醒各的,而不是一窝蜂在整点上报,网络状态会稳定非常多。
3.3 BSS Coloring与SRP:控制干扰退避的空间复用策略
BSS Coloring看着很抽象,其实逻辑一句话就能说透。每个BSS在Beacon帧里带一个颜色编号,收到邻居信号的时候,如果颜色跟自己的一样,说明是同频自干扰,需要正常避让;如果颜色不同,说明只是邻居AP的信号,在某些条件下可以认为它对本次传输的影响可接受,不必完全退避,于是可以更大胆地并发发送。
这个机制本质上是把干扰识别从以往“全黑”的二分法改成了“带颜色”的精细判断,从而提升空间复用率。空间复用参数SRP跟着HE-SIG信令一起传,用来告诉周围节点“这个帧允许你以大一点的功率跟我同时发”。调度器在这面扮演的角色,是跨AP统一规划颜色分配,避免出现两个相邻AP颜色重复或者颜色冲突。调优的时候如果发现某台AP覆盖范围内并发吞吐奇怪地低,很多时候就是因为颜色规划没做好。
4. 现场实测:怎么判断ax调度在干活,以及三个调优方向
4.1 从协商信息到空口抓包,确认ax调度已生效
ax调度到底有没有在工作,不能只看包装盒上的说明。最简单的第一步,是看终端关联后的协商信息。进入AP的AC后台,查看终端能力,如果速率档位显示为HE模式,数据速率落在HE-MCS区间,说明终端和AP至少都工作在802.11ax模式下。但这只说明“就绪”,不能说明“正在调度”。
更可靠的判断方法,是空口抓包。用支持monitor模式抓包无线网卡,配合Wireshark,过滤Trigger类型的控制帧。如果上行OFDMA真的在跑,你会周期性地看到AP发出的Trigger帧,帧体里带着各个终端的AID和RU Allocation信息。如果忙活半天一条Trigger帧都看不到,上行基本都是各自的传统竞争帧,那就说明你的AP固件或者终端并没有实际启用上行OFDMA。
我自己验证过的一个场景是:同一台AP下接满10台设备做上行小包并发,开启OFDMA后,延迟抖动从二三十毫秒级别降到了个位数毫秒级。但注意,这个测试结果有一个前提:空口环境相对干净,固件版本成熟。如果周围有其他运营商级Wi-Fi开着,结果会大打折扣。
4.2 多用户高并发场景下如何取舍OFDMA与MU-MIMO
OFDMA和MU-MIMO都不是开了就一定好的开关。OFDMA对“多用户、小流量”的场景增益最明显,比如几十个终端同时刷网页、上报状态,每个终端的报文就几十KB,OFDMA可以把这些碎包拼在同一个时隙里并发传输。但在单终端大流量场景下,比如一台电脑在挂BT下载,调度信令开销反而成了负担,有的AP固件检测到这种情况会主动切回传统模式,这是一种合理的自适应。
MU-MIMO就更讲究了。多终端分布在不同的物理位置时,它能带来显著的并发增益;但如果终端都挤在一起且都是单天线设备,空间分离度不够,开MU-MIMO反而是负优化。我的建议是:在普通办公/家庭场景里,OFDMA保持开启,MU-MIMO可以按实际测试来。开一天关一天,对比一下上行并发吞吐和时延,用数据做决策,不要凭感觉。
4.3 老设备混入后的调度退化:你会发现什么
这是实际使用中最容易踩的坑。802.11ax AP完全向下兼容老设备,但老设备参与不了OFDMA和MU-MIMO,它们只能用传统方式抢信道。一个AP下如果同时存在几个Wi-Fi 4或Wi-Fi 5时代的设备,这些老设备每一次发送都会产生竞争窗口和退避时间,把空口节奏打乱,整个网络的调度效率都会被拉下来。
测过一组数据:一个ax终端单独跑下行能到90Mbps上下,同一个房间里再塞进几个老n/ac终端后,ax终端的实测吞吐能掉到50Mbps左右,延迟抖动也明显增加。问题不在AP上,而在那几台老设备的“不可调度性”上。所以如果有条件,尽量把5GHz频段留给支持11ax的设备,2.4GHz频段给老设备和IoT用。同时检查AP的兼容保护机制开关,有些默认打开的“保护模式”会为了照顾老终端而拉长整个空口周期,对性能影响很明显。
4.4 三个容易翻车的调优操作
| 操作 | 可能的后果 | 建议 |
|---|---|---|
| 直接开160MHz频宽 | 触发DFS雷达避让,频繁退避到80MHz,反而更不稳定 | 先做环境扫描,确认周围没有雷达和强干扰再开 |
| TWT无差别全开 | 部分时延敏感设备唤醒周期过长,首包延迟明显 | 只对IoT类低功耗终端启用TWT,交互设备保持默认 |
| 不检查邻区BSS Color配置 | 相邻AP颜色冲突,空间复用策略失效 | 跨AP统一规划颜色编号,避免重叠区域混淆 |
5. 折腾完ax调度后,我最想提醒的三个细节
折腾了一圈下来,最大的感受是:别只盯着协商速率那个数字看,速率只是能力上限,决定实际体验的是调度机制能不能把并发扛起来。同样一台AP,固件版本差一个迭代,OFDMA的效率可能差出几个档次,所以遇到调度异常先查固件,不要急着换硬件。
如果只看一个指标来判断网络质量,我会看上行并发下的时延抖动,而不是峰值吞吐。这个是ax调度有没有真正发挥作用的直观体现。最后分享一个小技巧:在AC后台调试时,不要只看全局统计,把日志按终端类型和协商模式分类,先把“哪些终端是HE模式、哪些是传统模式”理清楚,再谈优化。你遇到的大部分Wi-Fi问题,根本不是ax调度不行,而是很多设备压根没有走进这个体系里。连大门都没进,调度得再好,跟它也没关系。