ARTICLE DETAIL

资讯详情

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

Wi-Fi 6 ax调度全解析:从OFDMA到BSS Coloring的实战指南

Wi-Fi 6 ax调度全解析:从OFDMA到BSS Coloring的实战指南 如果你最近在翻无线网络相关的资料大概率会看到“ax”和“ax调度”这两个词绑在一起出现。这不是某个新出的命令行工具也不是哪家厂商标的硬件型号而是 IEEE 802.11ax也就是 Wi-Fi 联盟改名之后的 Wi-Fi 6。前面的“ax调度”说的就是 Wi-Fi 6 最核心的那套从“随机竞争”转向“统一分配”的无线资源调度机制。我做了不少年无线网络运维和测试可以负责任地说ax 能带来的实际提升七成体现在调度上而不是那个纸面上的峰值速率。这篇文章就把 ax 调度这套东西从头到尾捋一遍适合刚接触 Wi-Fi 6 的网络工程师、做无线路由/AP 测试的伙伴也适合在校学生想搞懂“OFDMA 到底怎么调度”这类问题。我会从原理讲到验证把每个机制背后的“为什么”说清楚最后给到能直接抄作业的排查思路。1. ax调度到底在解决什么问题1.1 “ax”是什么从协议代号到Wi-Fi 6还没接触 802.11 之前我一度以为“ax”只是厂商为了推销路由器的营销代号后来自己做无线抓包和协议分析才搞清楚ax 是一个实打实的 IEEE 标准编号全称 802.11ax它所对应的就是 Wi-Fi 联盟统一认证名称里的 Wi-Fi 6。Wi-Fi 联盟把 802.11n 叫 Wi-Fi 4把 802.11ac 叫 Wi-Fi 5把 802.11ax 叫 Wi-Fi 6本质上是为了让普通用户能直观地对比不同世代。从协议演进的逻辑看每一代解决的核心矛盾都不一样。802.11a/b/g 时代解决的是“能不能稳定接入”802.11n 通过 MIMO 和 40MHz 信道把速率带了起来802.11ac 继续在 5GHz 上把物理层速率推到千兆级让“单用户的峰值速率”这个指标变得非常好看。但到了今天网络里早就不是“几个人用手机刷网页”这种低密度场景而是会议室、体育场、智慧工厂、医院门诊这种动辄几十上百个终端挤在同一片区域、同时传输小报文和高清视频的复杂环境。802.11ac 那套“一次只服务一个用户把链路尽量跑到最快”的设计思路在高密度场景下会迅速碰壁。802.11ax 正是在这种背景下出现的它的设计目标优先级里效率、容量、延迟和功耗降低反而排在了单纯峰值速率前面。这也是为什么我会格外关注 ax 调度——因为调度机制正是达成这些目标的骨架。我在好几个项目里见过有人拿着 Wi-Fi 6 路由器测单用户 Speedtest测出接近 1Gbps 就直呼厉害其实这根本没触到 ax 的核心。ax 和 ac 在单用户、良好信噪比下的差距没有想象中大真正的分水岭是在高密度下表现。1.2 老Wi-Fi的瓶颈一次只服务一个终端传统 Wi-Fi 在介质访问上走的是 CSMA/CA 机制也就是带冲突避免的载波侦听多路访问。所有终端共享同一个信道发送之前先听信道空闲了再发如果撞车就退避重来。这个机制本身没什么问题问题出在“所有人在一条路上排队”这件事上。你可以把它想象成一条没有信号灯的窄路任何两辆车同时上路就会堵住所有人只能靠默契和等待来通行。当终端数量少、流量小的时候这种机制够用可当 20 个终端同时需要上传数据信道里就会充满 RTS/CTS 握手、ACK 确认和随机回退时间真正传数据的时间占比低得可怜。更要命的是隐藏节点问题。两个终端都离 AP 不远但它们互相听不见对方的发射于是很容易同时发起传输导致 AP 侧完全收不到有效帧。为了缓解这个问题协议又加了一堆保护机制结果就是空口利用率进一步下降。实际办公场景里我见过 5GHz 空口利用率跑满 80%但业务吞吐只有理论速率三成不到的情况问题几乎都出在并发竞争上。ax 的破局思路是不再让终端之间互相“抢”而是让 AP 变成调度中心。1.3 ax调度的整体框架时间、频率、空间联合分配802.11ax 引入的调度框架可以概括成三个维度的联合分配时间、频率和空间再叠加功耗维度的唤醒调度。频率维度由 OFDMA 负责它把信道切成一个个小的资源单元按需分配给不同终端空间维度由 MU-MIMO 负责利用多根天线形成多个空间流让多个终端在同一时间同一频段上并行传输时间维度则由 TWT 负责AP 和终端约定好唤醒时间避免所有设备在同一时间争抢信道而在更大尺度上BSS Coloring 和空间复用调度把“相邻 AP 必须互相避让”的规则改成了“颜色不同就允许并行传输”让整个区域的频谱效率进一步提升。这几个机制不是各自独立的它们在一次完整的传输里会叠加工作。比如一个 HE MU PPDU 里AP 可能同时给四个站点发数据两个站点走 OFDMA 的不同 RU另外两个站点在同一个 RU 里走 MU-MIMO 的多流。终端可以是 OFDMA 和 MU-MIMO 的混合参与者这正是 ax 和 ac 在实现复杂度上拉开差距的地方。运维人员如果只盯着“开关”看不看协同效果很容易出现配置了但业务没有改善的情况。下表格能看清每个子机制的定位机制调度维度核心作用典型适用场景OFDMA频率多用户并发使用不同子信道大量小报文并行收发MU-MIMO空间多用户同时使用不同空间流高吞吐多媒体业务TWT时间终端按约定时间唤醒传输IoT、低功耗设备BSS Coloring空间复用识别异色小区并允许并行高密办公区、多AP环境2. 四大调度机制的核心细节与实操要点2.1 OFDMA调度把信道切成小格子按需分配OFDMA 的全称是正交频分多址它把原来的整条信道拆成多个子载波组每组称为一个资源单元英文缩写是 RU。以 20MHz 信道为例它可以被拆成 9 个 26-tone 的最小 RU、4 个 52-tone RU、2 个 106-tone RU或者干脆整条信道给一个用户使用 242-tone RU。不同 RU 大小对应的吞吐能力不同但调度并不仅仅是“切得越碎越好”。如果所有终端都在传大文件把小 RU 分给他们反而会让多次传输的控制开销吞掉收益如果传的是各类传感器心跳、即时消息、语音包这种小报文把信道切成多个小 RU 让十几个终端一起传延迟能大幅下降。OFDMA 的调度的核心对象是上行和下行两个方向。下行 OFDMA 相对好理解AP 把多个终端的报文拼到一个物理帧里在同一个传输机会中一起发出去终端只需解析属于自己的 RU。上行 OFDMA 更复杂一些由 AP 发送 Trigger 帧来发起Trigger 帧里包含了每个终端被分配到的 RU 位置、传输时长和允許的 MCS 等参数终端收到触发后在同一时刻并行上传。这里有个很容易忽略的实操点上行 OFDMA 对终端同步要求很高不同终端的时钟偏差会让 RU 互相干扰。因此协议定义了前导码重复机制和更长的 GI保护间隔如果你在配置 AP 时发现上行 OFDMA 反复失败优先检查 GI 设置和 AP 的时频同步模块。我一般建议在噪声比较干净的室内环境使用 1.6μs GI在干扰复杂的厂房环境回到 3.2μs GI虽然速率略有下降但调度稳定性好得多。另一个常见误区是只看 AP 开了 OFDMA 就默认所有终端都在走 OFDMA。实际抓包里只有支持 802.11ax 的终端才会参与 OFDMA 调度大量 802.11ac 终端依然走传统 SU 传输。所以验证时一定要用两台以上 11ax 终端并且确认它们的 HE 能力位都协商成功。2.2 MU-MIMO调度多流并行和天线资源的调度MU-MIMO 并不是 802.11ax 的首创802.11ac Wave 2 已经支持下行 MU-MIMO但实现得比较“鸡肋”。到了 ax上行 MU-MIMO 被正式补齐同时 OFDMA 和 MU-MIMO 还能叠加使用这就让“空间”这个维度的调度真正有了价值。MU-MIMO 的原理是基于多根天线形成的多个空间流。AP 有四根天线就能最多同时形成四条空间数据流理论上可以给四个不同终端各发一条流或者给两个 2x2 终端各发两条流。要让这些空间流互不干扰AP 必须知道每个终端的信道状态信息。终端会在协商阶段反馈 CSI信道状态信息AP 随后做波束成形把信号“瞄准”目标终端同时尽量在其它终端的路径上形成零陷。实操中我最常遇到的问题不是“空间流不够”而是“终端天线数量不匹配”。很多手机、笔记本只有 1x1 或 2x2 天线你却硬开 4x4 MU-MIMO结果某些流上信噪比很差AP 为了保护重传率只能把 MCS 压得很低整体收益反而还不如老老实实做 SU MIMO。正确的思路是先看终端 HE Capabilities 里的 RX Spatial Stream 数量再决定 AP 侧 MU-MIMO 组队方案。做高密度场景测试时我一般会准备三类终端1x1 IoT 模组、2x2 手机/笔记本、4x4 测试网卡分别验证不同组队下的吞吐。同样要提醒的是MU-MIMO 只有在信道信息相对准确时才有效。移动中的终端尤其是快速走动的人信道变化很快AP 刚刚算好的波束成形向量可能几十毫秒后就失效。所以车站、机场这类人员流动很大的场景没必要迷信 MU-MIMOOFDMA 反而更可靠。2.3 TWT调度让终端按“闹钟”休眠与唤醒TWTTarget Wake Time是个很容易被低估的机制。它的核心思想是让终端和 AP 约定一个“作息表”终端大部分时间休眠只在约定时间醒来收发数据。这个机制最初是为了解决 WiFi 功耗问题但用在大规模高密场景里它还有另一层价值避免所有终端在同一时间醒来抢信道。TWT 分成两种工作模式。Individual TWT 是每个终端单独和 AP 协商自己的唤醒周期适合 IoT 传感器、智能门锁这类业务规律很强的设备Broadcast TWT 是 AP 广播一组公共的唤醒时间表多个终端按统一节奏唤醒适合智能照明、楼宇自控这类批量设备。在信标帧和探测响应帧里AP 会通告自己的 TWT 支持能力之后通过 TWT Setup 帧协商出每个终端的唤醒时间。实操里最容易翻车的点在于TWT 调得激进会让终端访问延迟显著上升。设备大部分时间在睡觉业务随机来临时必须等到下一个约定的唤醒窗口。做 VoWiFi 或实时控制类业务时一定不要把 TWT 周期设得过长我默认会把实时终端放进免 TWT 或短 TWT 的 SSIDIoT 终端单独划一个 SSID 用长周期 TWT。这个“按业务类型分流而不是按终端型号分流”的做法能让调度效率和用户体验都保住。另外老终端完全不认识 TWT 帧AP 开了强制 TWT 后它们很可能会频繁断线。厂商固件里一般会有 compatibility 模式建议开启兼容模式或者在 Beacon 里只通告 TWT 能力而不强制让支持者自动使用TWT让不支持者走传统流程。2.4 BSS Coloring与空间复用让相邻小区也能并行传输传统 Wi-Fi 的 CCA信道空闲评估机制非常“一刀切”只要检测到信道上有任何信号不管强度多低都会判断信道忙。这在两个相隔较远的 AP 覆盖边缘地带造成大量无谓退避。BSS Coloring 的做法很直接每个 BSS 在信号里打上一个颜色标识终端收到帧时先看颜色如果是相同颜色说明是本 BSS 的帧遵循传统避让如果是不同颜色则允许根据 OBSS_PD 阈值决定是否忽略它并继续传输。从 ax 调度角度看BSS Coloring 等于在空间维度上把“绝对避让”改成了“有条件并行”相当于把整片区域所有 AP 的信道利用率一起盘活。它特别适合高密办公区里相邻 AP 使用同信道的部署。每家厂商都有类似“空间复用”或“SR”的开关但决定调度质量的关键参数是可调整的 OBSS_PD 阈值。阈值设得太高被忽略的异色信号可能还是真实干扰导致本 BSS 的用户收包失败设得太低又无法获得并行收益。这个值通常要结合现场路测的 SINR 数据来微调不能照搬某个万能参数。我在密集 AP 场景里习惯的做法是先把所有 AP 的发射功率降低到覆盖恰好重叠的程度再开 BSS Coloring并做一组“关 BSS Coloring/开 BSS Coloring”的对比测试。对比指标不是单用户速率而是整片区域的总吞吐和时延 P95。只要总吞吐明显上升且丢包率没恶化就说明调度方向是对的。3. 从规划到验证AX调度的实操落地3.1 先做射频规划信道带宽直接决定调度空间很多工程师一上来就在控制器里点 OFDMA、MU-MIMO结果现场效果平平回来问原因。我通常会反问一句你先做了信道规划吗因为 ax 调度是基于信道的信道带宽直接决定了 OFDMA 能切出多少 RU也决定了 MU-MIMO 的并行空间。我常用的一张带宽选择表如下信道带宽单一RU最大大小同时可支持的最小RU数适合场景20MHz242-tone约1个整信道9 个 26-tone RU高密小报文、接近满负荷40MHz484-tone18 个 26-tone RU标准办公、多用户混合80MHz996-tone37 个 26-tone RU家庭、SOHO、中低密度160MHz2×996-tone74 个 26-tone RU高速率单用户或极低密度看到这张表你就明白了如果某个区域有几十个并发终端强行用 160MHz 反而浪费——你这么宽的信道里大量 RU 虽然存在但终端数量根本吃不满而且宽信道更容易受干扰稍微有雷达信号或邻频干扰就要退避。我在写字楼项目里基本只用 80MHz配合 OFDMA 让十几个终端在一帧里并行效果远比 160MHz 好。规划之外还要注意信道内的噪声地板。AX 调度对信噪比的要求比 ac 时代敏感如果底噪高过一定水平即使 RU 分配得再合理MCS 也上不去。进场前先用频谱仪扫一遍现场确认没有直放站干扰、微波干扰再决定开多大带宽。这一步别省出了问题再回头排查成本高得多。3.2 在无线控制器上打开AX调度相关开关不同品牌的企业无线控制器界面和命令关键字不一样但核心参数基本逃不出下面这几类OFDMA 开关、MU-MIMO 开关、TWT 开关、BSS Coloring 开关、空间复用阈值。我以某一类常见控制器的 radio-profile 配置为例说明参数在哪里、为什么要这样配。下面的命令是伪 CLI仅用于理清配置思路现场以厂商手册为准。# 进入AX射频模板并命名 radio-profile AX-HIGHDENSITY # 启用OFDMA且下行/上行都开 # 下行是对AP发往多终端生效上行是对终端并行上传生效 he-ofdma enable he-ofdma-dl enable he-ofdma-ul enable # 启用MU-MIMO按AP天线能力选择最大空间流 mu-mimo enable mu-mimo-max-streams 4 # 启用TWT并允许兼容传统终端 he-twt enable he-twt-mode compatible # BSS Coloring 与空间复用 bss-coloring enable obss-pd-threshold -72在这个配置里obss-pd-threshold 是个需要结合现场调的值。数值越高表示越敢于忽略异色信号。一般现场噪声低、AP间距近时可以从 -72 起步测试如果同频干扰重我会往 -78 以下压。不要盲目抄网上的“最佳阈值”每个现场底噪不一样。配置完成后还要检查终端的接入策略。比如把支持 11ax 且对时延敏感的设备放到一个 SSID开启 OFDMA 和 TWT 兼容把 IoT 设备放到另一个 SSIDTWT 周期调长。AP 会为每个 SSID 维护一套调度参数这种“按业务切片”的做法在厂商文档里叫 per-SSID radio profile实践里非常管用。3.3 用Wireshark验证AX调度是否真的生效开机抓包验证是了解 ax 调度到底干没干活的唯一可靠手段。抓包工具的选择比较讲究普通笔记本的无线网卡不一定支持 802.11ax 监听模式。我自己常用的是一块支持 monitor mode 的 11ax USB 网卡配合 Wireshark 就能直接解析 HE 帧。抓包前把抓包网卡固定到目标 AP 的信道用 80MHz 频宽监听 5GHz 频段。Wireshark 打开抓包文件后先用过滤器把 HE 相关的管理帧和数据帧筛出来。一个比较高效的组合是看 Trigger 帧和 HE MU PPDU# 筛选包含HE信息的各类帧 wlan_he # 筛选触发帧也就是AP发起的上行调度指令 wlan.fc.type_subtype 0x1d # 筛选HE MU PPDU的数据帧下行多用户传输 wlan_he.ppdu_type 1看到 Trigger 帧说明 AP 确实在做上行 OFDMA 调度看到 HE MU PPDU 里包含多个终端的 MAC 地址说明下行同时服务了多个终端的调度确实在进行。如果抓了十几分钟全是传统单用户 SU PPDU那基本可以断定 AP 的 OFDMA/MU-MIMO 没真正参与传输问题要么在配置没同步要么在终端能力不够。更有意思的验证点是看每个 RU 的分配情况。Wireshark 展开 HE-SIG-B 的 User Information 字段你能看到每个 RU 的起始位置、RU 大小以及对应用户的 AID。如果同一个 PPDU 里出现多个来自不同终端的 AID就说明 OFDMA 在按既定的资源计划调度而不是把整条信道都塞给一个用户。TWT 的验证相对抽丝剥茧可以过滤 TWT Setup 请求/响应帧确认 AP 和终端是否协商成功协商成功后才能指望低功耗设备按“作息表”工作。4. 常见问题与排查技巧实录4.1 OFDMA开启后吞吐不升反降这是我在论坛和客户现场被问得最多的一个问题。现象通常是开了 OFDMA单终端测速反而掉了两三百兆。原因有两类。一类是 OFDMA 切小 RU 后控制开销占比变大尤其当每个 RU 传的数据量都很小时效率反而低于单用户独占整信道这在高 MCS 且大报文场景里特别明显。另一类是上行 OFDMA 的同步问题终端时钟偏差导致包错位引发重传空口看起来忙实际有效数据不高。排查时先别动参数先把“应用层速度”和“PHY层速率”分开测。我用 iPerf3 做 TCP 测试同时抓包看速率指标再用 AP 自带的 RF 统计看 MCS 分布和重传率。如果 MCS 分布很高但 TCP 吞吐低多半是调度开销问题把 OFDMA 的作用范围调整为只对小报文生效如果重传率明显升高那就优先检查 GI 和 Trigger 帧的同步设置。4.2 MU-MIMO并行传输效果不明显有一次我在实验室里做 4x4 MU-MIMO 测试四台终端只有一台能跑到高速率其它三台速率都很低。后来一看终端列表那三台全是 1x1 天线的 IoT 设备4x4 MU-MIMO 里只有一条流被真正利用而且为了照顾它们的 CSI 反馈AP 还得浪费空口资源发训练序列。遇到 MU-MIMO 收益不明显第一件事是确认参与调度的终端空间流数别说“都是 Wi-Fi 6 手机”不同机型的空间流数差异很大。第二件事是看 CSI 反馈是否稳定。终端在静止状态下CSI 质量好MU-MIMO 增益明显终端一动起来反馈的 CSI 迅速过期此时 MU-MIMO 的波束成形向量是“瞎的”。所以用于 MU-MIMO 调度的场景尽量是会议室、工位等静止场景。测试时我会把测试终端固定在支架上并让每台终端之间拉开一米以上距离减少空间相关性。4.3 TWT导致低功耗设备唤醒延迟高TWT 调度的初衷是省电但省电和低延迟天然矛盾。有个智能水表项目就是典型案例设备每 5 分钟上报一次数据却协商了一个 10 分钟的唤醒周期导致上报延迟漂到了 10 分钟开外业务侧直接判定设备离线。排查 TWT 问题时先问业务周期。确定业务上报间隔后把 TWT 唤醒周期设为略小于业务间隔留出重传余量。再就是看是 Individual TWT 还是 Broadcast TWT。Broadcast TWT 的公共周期一旦设定所有同组设备都被绑在一起如果混合了不同业务的设备建议按业务分组建立多个 Broadcast TWT 参数集。最后检查一下 AP 侧有没有 TWT 冲突避免功能部分厂商会默认打散不同终端的唤醒时间防止唤醒风暴。4.4 高密场景下调BSS Coloring反而不稳定BSS Coloring 开得太激进会让“异色即并行”的假设引入真实干扰。曾经有个 200 人办公室开了 SR 后空口利用率下降了但应用侧却频繁掉包。抓包发现两个相邻 AP 覆盖重叠区里的终端虽然在并行传输但由于 OBSS_PD 阈值放松导致信号互相压制双方的信噪比同时恶化MCS 一路跳水。这时候不能只看空口利用率要结合 SINR 和关键应用的时延来看。我把 OBSS_PD 阈值逐档往下调每档跑一组业务模拟和丢包统计最终停在“空口利用率提升、掉包率未增加”的拐点上。这组参数必须现场反复测没有任何一个离线推荐值能代替实测。4.5 老终端拖慢整个AX网络在老终端和 11ax 终端混合的场景里一个 802.11n 终端接入后AP 为了兼容它往往会让整条信道的保护间隔和帧格式降级导致 AX 调度的优势被拖累。这种情况最典型的特征是多用户调度的 MU 统计里老终端所在时刻几乎没有 OFDMA/MU-MIMO 传输。处理办法是按 SSID 分流。让支持 11ax 的终端进专用 SSID该 SSID 只允许 HE 终端接入彻底避开兼容性负担。老终端单独放一个 SSID允许 HT/VHT 传输模式。如果硬要在同一个 SSID 里兼容务必开启厂商的“保护帧优化”和“Mixed Mode”功能并设置较短的 non-HT 保护周期尽量减少向下兼容对整个 AX 调度周期的影响。个人在实际项目中遇到最多的不是调度算法不工作而是“不知道调度是否真的在工作”。很多网工在 AC 上勾上 OFDMA、MU-MIMO 就以为完事了结果抓包一看全部还是单用户 SU 传输。建议整个流程按“先参数、再统计、后抓包”的顺序来先在 AP 上开对应特性再看 AP 统计接口里的 MU/OFDMA 计数器最后用支持 11ax 的抓包网卡做端到端确认。最后再分享一个小技巧测试 AX 调度最好准备两台以上支持 11ax 的终端同频同时拉吞吐否则你看到的就是普通 SU-MIMO 的速率调度真正带来的并发收益完全体现不出来。
返回列表