3、双频合一的工作原理:终端漫游决策机制、频段引导(Band Steering)技术详解
好,咱们进入正题。双频合一这个功能,说白了就是让2.4G和5G两个频段用同一个SSID。但问题来了——终端到底该连哪个频段?谁说了算?
我刚开始做无线项目时,也以为双频合一就是“两个频段名字一样”这么简单。结果呢?用户投诉说网速慢,一查发现手机死守着2.4G不放。嗯,这里面的门道,我今天跟你好好聊聊。
3.1 终端漫游决策机制:谁在做决定?
先问一个问题:终端连哪个频段,是AP说了算,还是终端说了算?
答案是——终端说了算。AP只能“建议”,不能“命令”。
终端漫游决策,本质上是一个信号强度比较的过程。终端会扫描周围所有可用的BSSID(每个频段对应一个BSSID),然后根据自身的算法选一个“看起来最好”的连上去。
这个算法各家厂商不一样。我拆解过几个主流芯片的方案,大致逻辑是这样的:
- 信号强度优先:哪个频段的RSSI高,就优先连哪个
- 信道利用率:如果5G信道太拥挤,终端可能主动切回2.4G
- 历史偏好:有些终端会记住上次连过的频段,下次优先连同一个
- 厂商策略:苹果、三星、华为的漫游算法都不一样
关键点:终端漫游决策是“自私”的。它只考虑自己好不好用,不考虑整个网络是否平衡。这就是为什么双频合一经常出问题——终端赖在2.4G不走,5G那边空着也没用。
我在项目中遇到过一台老款iPad,死活不连5G。抓包一看,它的漫游算法里有个阈值:5G信号低于-70dBm就直接忽略。而那个位置5G信号刚好-72dBm。你说气不气人?
3.2 频段引导(Band Steering)技术详解
既然终端不听话,那AP就得想办法“引导”它。这就是Band Steering(频段引导)的由来。
Band Steering的核心思路是:让终端优先选择5G频段。怎么做呢?主要有三种手段。
3.2.1 探测响应抑制(Probe Response Suppression)
终端在扫描时会发送Probe Request(探测请求),询问“附近有哪些AP?”。AP收到后,会回复Probe Response(探测响应)。
Band Steering的做法是:当终端在2.4G上发探测请求时,AP故意不回复,或者延迟回复。终端收不到2.4G的响应,自然就会去5G上试试。
具体实现上,AP会判断终端的类型:
- 如果是双频终端(支持5G),就抑制2.4G的探测响应
- 如果是单频终端(只支持2.4G),正常回复
怎么判断终端是否支持5G?看Probe Request里的Supported Rates和HT Capabilities字段。5G终端通常会携带5G相关的能力信息。
我的经验:有些老终端虽然支持5G,但Probe Request里没带5G能力标志。AP会误判它是单频终端,导致Band Steering失效。我曾经调试过一个案例,折腾了两天才发现是终端驱动版本太旧。
3.2.2 关联拒绝(Association Refusal)
如果终端还是执意要连2.4G,AP可以拒绝它的关联请求。具体做法是:
- 终端发送Association Request到2.4G
- AP回复Association Response,状态码设为17(表示“AP无法处理更多关联”)
- 终端收到拒绝后,会尝试连5G
但这里有个坑——拒绝次数不能太多。有些终端被拒绝3次后,会直接放弃这个SSID,再也不连了。我建议设置拒绝次数上限为2次,超过后就让终端连2.4G。
警告:关联拒绝是一把双刃剑。用得好,终端乖乖上5G;用不好,终端直接“罢工”。我见过一个案例,某品牌手机被拒绝后,直接弹出“网络连接失败”的提示,用户投诉到崩溃。
3.2.3 RSSI阈值引导(RSSI Threshold Steering)
这是最温和的方式。AP会设置一个RSSI阈值,比如:
- 当5G信号高于-65dBm时,引导终端连5G
- 当5G信号低于-75dBm时,允许终端切回2.4G
实现上,AP会在Beacon帧和Probe Response里携带RSSI阈值信息。终端收到后,会根据自己的算法决定是否切换。
但说实话,这个方式的效果取决于终端是否“听话”。有些终端根本不理会AP的阈值建议,我行我素。
3.3 三种引导方式的对比
| 引导方式 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 探测响应抑制 | 不回复2.4G的Probe Request | 终端无感知,体验好 | 可能误判终端能力 |
| 关联拒绝 | 拒绝2.4G的Association Request | 效果直接,强制引导 | 可能导致终端放弃连接 |
| RSSI阈值引导 | 在Beacon中携带阈值信息 | 兼容性好,不强制 | 终端可能不遵守 |
我个人习惯是三种方式组合使用:先用探测响应抑制做第一道防线,如果终端还是连2.4G,再用关联拒绝做第二道防线。RSSI阈值引导作为兜底策略,防止终端在信号弱时还赖在5G上。
3.4 避坑指南:Band Steering的常见问题
我曾经踩过不少坑,这里给你列几个最常见的:
- 终端来回跳(Ping-Pong):终端在2.4G和5G之间反复切换,导致网络不稳定。解决办法是设置切换的“滞回区间”,比如5G信号低于-70dBm才允许切2.4G,2.4G信号高于-60dBm才允许切回5G。
- 老旧终端兼容性:有些2015年以前的终端,Band Steering会导致它们连不上网。我建议在AP上设置一个白名单,对这些终端关闭Band Steering。
- 信号覆盖不均:如果5G覆盖有盲区,终端走到盲区时切不回2.4G,直接断网。所以部署前一定要做信号勘测,确保5G覆盖无死角。
一句话总结:Band Steering不是万能的。它只能“引导”,不能“控制”。最终效果取决于终端的配合程度。作为工程师,我们要做的是把引导策略调优到最优,然后接受“有些终端就是不听话”这个现实。
好了,双频合一的工作原理就讲到这里。下一章我会讲具体的配置方法,包括华为、思科、TP-Link等主流厂商的配置示例。到时候咱们手把手操作一遍。