问题背景
公司办公楼共 6 层,部署了 48 台吸顶 AP,由无线控制器统一管理。办公 SSID 使用 802.1X EAP-TLS 认证,终端连上后由 RADIUS 下发 VLAN 和权限。日常办公、视频会议、无线话机都跑在这个网络上。
AP 是分批建设的:3 层和 4 层最早由一家集成商实施,其余楼层是后来扩容时另一家做的。两批 AP 都开了 802.11r 快速漫游,控制器界面上看都是“已启用”。但员工反馈,拿着笔记本从 3 层走到 4 层、或者从 4 层走到 5 层时,视频会议会卡住三五秒,无线话机通话直接断掉;在同一层内走动反而基本正常。
故障现象
- 跨楼层漫游时,终端重新关联要 3–5 秒,期间 ping 丢包、视频冻结、通话中断。
- 同层漫游偶尔也有 1 秒左右抖动,但比跨层轻得多。
- 控制器日志里能看到
FT authentication failed、mobility domain mismatch、R0KH not found之类记录。 - 抓包看漫游过程,终端走的是完整的 EAP-TLS 认证,而不是 802.11r 的 FT 认证;认证完成后还要重新走一次 DHCP。
- 受影响的终端不分品牌,笔记本、手机、无线话机都有;但都集中在跨 AP 组的漫游路径上。
- 有线网络、固定位置办公完全正常,问题只在“移动中切换 AP”。
排查过程
第一步确认漫游耗时花在哪。在终端上持续 ping 网关,同时拿着设备从 3 层走到 4 层,记录丢包时间段;再用无线分析工具抓漫游前后的管理帧,看到终端先断开关联、重新扫描、发起完整的 802.1X 认证,整个 EAP-TLS 握手加上 DHCP 拿地址,正好三到五秒。
第二步看是不是 802.11r 没生效。抓包里的认证算法字段是 Open(0),不是 FT(3);重关联请求里也没有 FTIE。也就是说,终端和 AP 都退回了普通漫游,快速切换根本没有发生。
第三步查控制器日志。跨组漫游时日志出现 mobility domain mismatch 和 R0KH not found:前者说明两个 AP 组的移动域标识不一致,后者说明目标 AP 找不到源 AP 的 R0KH 密钥持有者。802.11r 的 FT 依赖同一个移动域内共享的 PMK-R0/R1 密钥材料;移动域不同、R0KH 标识不同,终端就无法复用之前的认证结果,只能重新做一次完整认证。
第四步对比 AP 组配置。把 3/4 层和 5/6 层的 AP 组配置逐项导出对比:移动域 ID 一个是 0x1122,另一个是 0x3344;R0KH-ID 一个是控制器地址,另一个是集成商自定义的字符串;有一组还关掉了 11k 邻居报告。三处不一致叠加,跨组漫游必然失败。
第五步做对照实验。先把 5/6 层 AP 组的移动域和 R0KH-ID 改成与 3/4 层一致,只改这一项,再走一次跨层漫游:抓包里出现 FT 认证(算法 3)和 FTIE,漫游耗时降到 100–200ms,ping 只丢一个包,视频会议不再冻结。再把 11k 打开,终端扫描邻居的时间进一步缩短。
第六步确认客户端侧。部分老款无线话机不支持 802.11r,这类终端即使网络侧配置正确也只能走完整认证;把它们固定到 5G 频段、减少跨组漫游路径,并在话机侧开启 11k/v 支持(如果厂商提供),把中断控制在可接受范围。
解决方案
- 统一移动域与密钥域:同一个 ESS 内所有 AP 组的移动域 ID、R0KH-ID、R1KH-ID 必须一致,R0KH 密钥要能互相分发;这是 802.11r 生效的前提,不是“每台 AP 打开开关”就行。
- 统一 11k/v:打开 802.11k 邻居报告和 802.11v BSS 过渡管理,让终端在漫游前就知道目标 AP、减少扫描时间;11r 负责快速认证,11k/v 负责快速发现和决策,三者配合才顺。
- 按 ESS 规划 AP 组:不要按“施工批次”划分 AP 组,按 ESS/楼层/区域划分;同一 ESS 内配置模板统一,扩容时从模板复制而不是重新填。
- 客户端分类处理:支持 11r 的终端走 FT;不支持的终端用 OKC(机会密钥缓存)或接受完整认证,并通过 AP 布放减少跨组漫游;无线话机优先固定 5G、靠近 AP。
- 验收加漫游测试:上线前用终端在相邻 AP 间来回走动,抓包确认 FT 认证、记录漫游时延和丢包;验收标准可以是漫游中断小于 200ms、ping 丢包不超过 1 个。
- 监控与告警:控制器侧采集漫游失败、FT 失败、R0KH 错误计数,按 AP 组聚合;跨组漫游失败率升高时提前排查,不等用户报会议卡顿。
根因分析
直接根因是 两批 AP 分属不同的移动域、R0KH 标识不一致,802.11r 的 FT 认证无法跨组复用密钥,终端每次跨层漫游都退化成完整的 EAP-TLS 认证加 DHCP,耗时 3–5 秒。
更深一层,是把 802.11r 当成了“每台 AP 上的一个开关”。快速漫游不是单机功能,而是一个域级能力:移动域 ID 定义了“谁和谁是一伙的”,R0KH 密钥域决定了“能不能复用之前的认证”。开关都打开、但域不一致,等于每家店都挂了“连锁”招牌,却互相不认会员卡。
还有一层是建设方式留下的债。AP 分批、由不同集成商实施,配置模板没有统一,验收只测了“能连上、能上网”,没有测“走动时断多久”。静态办公场景完全正常,移动场景才暴露,问题因此藏了很久。
预防措施
- 无线配置基线化:同一 ESS 的移动域、R0KH/R1KH、11k/v、安全套件全部写入模板,扩容和改造只能从模板派生。
- 验收必须包含移动性测试:相邻 AP 间往返漫游、跨楼层漫游、不同终端类型各测一遍,记录时延和丢包。
- AP 组按 ESS/区域划分,不按施工批次划分;控制器上定期对比各组配置差异,发现漂移及时收敛。
- 监控控制器漫游日志与 FT 失败计数,按 AP 组和终端类型聚合,异常升高时告警。
- 对不支持 11r 的终端建立清单,评估 OKC、固件升级或 AP 布放优化,不把“兼容性”留给用户感知。
总结
802.11r 的“开”不是每台 AP 各自打开一个开关,而是所有 AP 在同一个移动域里共享同一套密钥。域不一致时,终端看起来还能漫游,实际上每次都在重新做一遍完整认证;三五秒的中断,足够让一场视频会议卡成幻灯片。把移动域、R0KH 和 11k/v 作为一套基线来管,把漫游时延纳入验收,无线网络才真正“走得动”。