2. 漫游原理:理解AP间切换过程,掌握802.11k/v/r协议的作用,区分主动漫游与被动漫游
好,咱们直接进入正题。漫游,说白了就是你的手机从一个AP的覆盖范围,走到另一个AP的覆盖范围时,网络连接不中断的过程。
很多人觉得漫游就是「切一下」那么简单。其实不然。我见过太多项目,AP装了一堆,结果用户走着走着视频卡住了,或者微信语音断了。问题出在哪?就是没搞懂漫游的底层逻辑。
2.1 漫游到底是怎么发生的?
先说说最基础的概念。你的手机连着AP1,信号强度是-50dBm。你往远处走,信号慢慢掉到-70dBm、-75dBm。这时候手机发现AP2的信号更强,比如-60dBm。于是手机决定:我要换到AP2上去。
这个决定的过程,就是漫游的核心。
但这里有个关键点:谁来做决定?
答案是:客户端(你的手机)说了算。AP只是被动等待连接,它不能主动把手机踢过去。嗯,这里要注意,有些厂商的「主动踢除」功能其实是在模拟漫游触发,但本质上还是客户端发起重连。
核心要点:漫游决策权在客户端,不在AP。AP能做的,是提供足够的信息帮客户端做更好的决策。
2.2 主动漫游 vs 被动漫游
我习惯把漫游分成两种:主动漫游和被动漫游。说白了,就是「手机自己觉得该换了」和「手机被逼着换」。
主动漫游
主动漫游,是手机持续扫描周围的信道,发现更好的AP后,主动发起切换。这个过程手机是主导者。
- 优点:切换时机由手机控制,相对平滑
- 缺点:扫描过程会中断当前通信,造成短暂延迟
- 典型场景:你在办公室走动,手机自动切换到信号更好的AP
我在项目中遇到过一种情况:某品牌的手机主动漫游特别激进,信号刚掉到-65dBm就开始扫描切换,结果频繁切换导致丢包严重。后来我们调整了AP的发射功率,让信号过渡更平滑,问题才解决。
被动漫游
被动漫游,是手机一直连着当前AP,直到信号差到连不上,才被迫断开重连。这时候手机会重新扫描所有信道,找到可用的AP连上去。
- 优点:实现简单,不需要客户端做额外工作
- 缺点:切换时会有明显的断连感,用户体验差
- 典型场景:老旧设备、不支持802.11k/v/r的设备
你想想看,被动漫游就像你走到悬崖边才想起来要转弯,那肯定已经晚了。所以现在的无线网络,我们都在想办法让主动漫游更智能。
我的建议:部署时尽量让客户端做主动漫游。如果发现某些设备漫游表现差,可以检查一下它是否支持802.11k/v/r协议。
2.3 802.11k:让手机知道「邻居是谁」
802.11k协议,全称是「无线资源管理」。它的作用很简单:告诉手机周围有哪些AP可以连。
没有802.11k的时候,手机想漫游,得自己一个个信道去扫描。扫描信道的时候,当前的数据传输就断了。这就是漫游延迟的主要来源。
有了802.11k,AP会主动告诉手机:「嘿,你旁边有AP2、AP3、AP4,它们分别在信道1、6、11上,信号强度分别是-60、-65、-70。」
手机拿到这个列表,就不用盲目扫描了。它可以直接去目标信道确认一下,然后快速切换。
802.11k的核心价值:减少扫描时间,从几十毫秒降到几毫秒。
我记得有一次帮客户排查漫游问题,发现所有AP都开了802.11k,但手机就是不使用。后来查了半天,发现是AP上的邻居列表配置错了——AP2告诉手机AP3在信道6,实际上AP3在信道11。手机去信道6找不到AP,只好重新全扫。嗯,配置错误比不配置更可怕。
2.4 802.11r:让切换快得像「瞬移」
802.11r协议,也叫「快速漫游」。它解决的是认证延迟的问题。
正常情况下,手机从一个AP切换到另一个AP,需要重新做802.1X认证。这个过程涉及和Radius服务器交互,通常需要50-150毫秒。对于语音、视频这类实时应用,这个延迟是致命的。
802.11r的做法是:提前把认证信息缓存起来。手机在关联新AP时,直接用缓存的密钥完成认证,省去了和Radius服务器交互的时间。
| 认证方式 | 无802.11r | 有802.11r |
|---|---|---|
| 802.1X认证 | 50-150ms | 5-20ms |
| PSK认证 | 10-30ms | 1-5ms |
说白了,802.11r就是让手机在切换时走「快速通道」,不用每次都重新排队。
注意:802.11r需要AP和客户端都支持。如果有一方不支持,协议会自动降级到普通认证。但有些老设备在遇到802.11r时会直接拒绝连接,这就是兼容性问题。
2.5 802.11v:让AP告诉手机「你该走了」
802.11v协议,也叫「无线网络管理」。它给了AP一个能力:建议手机漫游。
前面说过,漫游决策权在手机。但有时候手机很傻,明明旁边有更好的AP,它就是赖着不走。这时候AP可以通过802.11v发送一个「漫游建议」给手机。
这个建议包含:目标AP的BSSID、信道、信号强度等信息。手机收到后,可以选择接受建议去切换,也可以忽略。
我在项目中遇到过一种场景:会议室里人多,所有手机都挤在一个AP上,旁边的AP几乎空着。但手机们就是不切换,因为当前AP的信号还能用。后来我们启用了802.11v的「负载均衡」功能,AP会主动建议一部分手机切换到负载低的AP上。效果立竿见影。
小技巧:802.11v的漫游建议是「建议」不是「命令」。有些手机厂商(比如苹果)对802.11v的支持很好,会积极响应。但安卓设备就参差不齐了。
2.6 三个协议如何协同工作?
这三个协议不是孤立的。它们组合起来,才能实现真正的无缝漫游。
- 802.11k:手机问AP「周围有什么AP?」AP回答「有这些,信道和信号如下」
- 802.11v:AP对手机说「我觉得你可以考虑切换到AP3,它现在负载低」
- 802.11r:手机决定切换,用缓存的密钥快速完成认证
整个过程,从手机决定漫游到新AP上完成数据通信,理想情况下可以控制在20毫秒以内。这个延迟对人来说是完全无感的。
一句话总结:802.11k解决「往哪走」,802.11v解决「什么时候走」,802.11r解决「怎么走得快」。
2.7 实战中的避坑指南
讲完理论,说点实际的。我在部署多房间漫游时,踩过不少坑。
坑一:协议不兼容
我曾经在一个园区部署了全套802.11k/v/r,结果发现员工的旧款手机根本连不上。查了半天,是802.11r的兼容性问题。后来我们只能关闭802.11r,用k/v组合。虽然切换慢了一点,但至少都能用。
坑二:邻居列表配置错误
802.11k的邻居列表需要手动配置或者由控制器自动生成。如果配置错了,手机拿到错误的信息,反而会浪费时间去扫描错误的信道。我建议用控制器自动管理,别手动配。
坑三:信号重叠区设计不合理
漫游需要信号重叠区。重叠区太小,手机来不及切换就断连了。重叠区太大,又容易造成同频干扰。我个人习惯是:相邻AP的信号在重叠区保持在-65dBm到-70dBm之间,这样手机有足够的时间做决策。
重要提醒:不要以为开了802.11k/v/r就万事大吉。客户端设备是否支持、支持的程度如何,才是决定漫游体验的关键。部署前,一定要用你环境里的主流设备做测试。
好了,这一章的内容就到这里。漫游原理听起来复杂,其实核心就是三件事:发现目标、决定时机、快速切换。下一章我们会聊具体的AP部署位置和信道规划,到时候这些理论就能用上了。