一、漫游基础概念:什么是WiFi漫游、为什么需要漫游、漫游切换的触发条件
各位好,我是老周。干无线网络这行十几年了,今天咱们聊聊WiFi漫游。
说实话,很多刚入行的工程师觉得漫游就是“从一个AP跳到另一个AP”,听起来简单。但实际项目里,漫游体验搞砸的情况比比皆是。我见过不少企业花大价钱买了高端AP,结果员工在办公区走着走着视频会议就卡住了——问题就出在漫游上。
1.1 什么是WiFi漫游
WiFi漫游,说白了就是终端设备在移动过程中,从一个AP的覆盖范围切换到另一个AP,同时保持网络连接不中断的过程。
你想想看,手机连着会议室AP,走到工位区,信号越来越弱。这时候手机得自动断开会议室AP,连上工位区的AP。整个过程用户无感知,这就是漫游。
关键点:漫游不是简单的“断连-重连”,而是“保持会话连续性的无缝切换”。如果切换过程中TCP连接断了、VoIP通话掉了,那就不叫漫游,叫“断网重连”。
我习惯把漫游分成两个层面:
- 链路层漫游:终端在同一个SSID下,从一个AP切换到另一个AP。这是基础。
- 网络层漫游:终端跨子网移动时,IP地址不变。这需要上层协议支持,比如Mobile IP或SD-WAN。
咱们这门课主要讲链路层漫游,因为这是日常项目里最常碰到的坑。
1.2 为什么需要漫游
这个问题看似简单,但我在项目里见过不少反面教材。
有人觉得:“AP覆盖范围够大不就行了?一个AP管一层楼,用户不用漫游。”——嗯,这种想法很危险。
为什么需要漫游?三个核心原因:
- 覆盖连续性:单个AP的覆盖半径有限。2.4GHz大概30-50米,5GHz更短,20-30米。用户不可能永远待在一个AP底下。
- 容量需求:一个AP能承载的客户端数量有限。我见过一个AP带50多个终端,延迟直接飙到500ms以上。漫游到不同AP,本质上是负载分担。
- 移动性需求:仓库里的扫码枪、医院的移动护士站、工厂的AGV小车——这些设备一直在移动,没有漫游就没法工作。
我的经验:有一次给一家医院做无线覆盖,护士推着移动查房车在走廊里走,每过一个门就断一次网。后来发现是AP切换阈值没调好,终端死抓着弱信号不放。调完阈值,问题解决。这就是漫游优化的价值。
1.3 漫游切换的触发条件
终端什么时候会触发漫游?这个问题很关键。我把它归纳为三种触发机制:
| 触发类型 | 触发条件 | 典型场景 |
|---|---|---|
| 信号强度触发 | 当前AP的RSSI低于阈值(如-75dBm),且目标AP信号更强 | 用户从会议室走到走廊 |
| 信号质量触发 | 当前链路的SNR(信噪比)恶化,误码率升高 | AP附近有微波炉干扰 |
| 负载均衡触发 | 当前AP关联客户端过多,AC主动引导终端漫游 | 会议室AP挂了30个终端,隔壁AP只有5个 |
这里有个容易忽略的点:漫游决策权在终端手里,不在AP或AC。AC只能“建议”终端漫游,但不能强制。这也是为什么不同品牌的手机漫游表现差异巨大——苹果、三星、华为的漫游算法完全不一样。
避坑指南:我曾经遇到一个项目,客户抱怨iPhone在办公区漫游频繁掉线。排查后发现,iPhone的漫游触发阈值是-70dBm,而安卓手机是-75dBm。iPhone更早触发漫游,但切换速度慢,导致短暂断流。解决方案是调整AP的功率和信道规划,让相邻AP的信号过渡更平滑。
1.4 漫游切换的完整流程
一个完整的漫游切换,大致分四步:
- 扫描:终端周期性扫描信道,发现周围AP。可以是主动扫描(发Probe Request),也可以是被动扫描(听Beacon帧)。
- 决策:终端根据信号强度、信道利用率、AP负载等因素,决定是否切换、切换到哪个AP。
- 执行:终端发送Reassociation Request到目标AP,完成认证和关联。
- 收敛:切换完成后,终端更新ARP缓存、重新获取IP(如果跨子网),恢复数据通信。
整个流程的时间窗口非常短。802.11标准要求漫游切换延迟不超过50ms,否则VoIP通话就会产生可感知的卡顿。实际项目中,能做到20ms以内的切换才算优秀。
下面这张图展示了漫游切换的核心流程:
1.5 漫游的两种模式
根据切换过程中是否与旧AP保持连接,漫游分为两种模式:
| 模式 | 工作原理 | 优点 | 缺点 |
|---|---|---|---|
| 硬切换(Break-Before-Make) | 先断开当前AP,再连接目标AP | 实现简单,兼容性好 | 切换期间有短暂断流(50-200ms) |
| 软切换(Make-Before-Break) | 先与目标AP建立连接,再断开旧AP | 切换无感知,延迟低 | 需要终端支持,实现复杂 |
目前市面上绝大多数终端(手机、笔记本)都采用硬切换。软切换多见于一些工业级设备或专用终端。嗯,这里要注意:软切换虽然体验好,但需要终端同时维持两条链路,对功耗和芯片能力要求更高。
1.6 影响漫游体验的关键因素
我总结了一个“漫游体验三角”,三个角缺一不可:
- AP侧:信号覆盖规划、信道干扰控制、AC漫游策略配置
- 终端侧:漫游算法、驱动实现、天线性能
- 环境侧:物理遮挡、同频干扰、多径效应
说白了,漫游体验好不好,不是单方面能决定的。你AP配得再好,终端算法烂,照样卡。反过来,终端再强,AP覆盖有盲区,也没用。
核心观点:漫游优化的本质,是在AP侧为终端创造“最容易做出正确切换决策”的环境。你不能替终端做决定,但你可以让它的决定更明智。