射频决策与信道扫描
终端离开 AP-A 覆盖(漫游决策期)
漫游的本质是一个 "先断后连" 的过程。在标准终端(手机/电脑)上,客户端必须先切换信道,再发起对新 AP 的连接。记住铁律:漫游始终是终端(Client)的自主决策,基础设施只能建议或强制踢人。终端基于射频指标而非加速度计来触发扫描。
决策指标与阈值
- Apple iOS/macOS: RSSI 低于
-70 dBm(iOS)或-75 dBm(macOS)开始后台扫描。新 AP 需好8 dB(传输中)或12 dB(空闲时) - Android/Samsung: 通常低于
-75 dBm,或信道利用率 >70% 且 RSSI < -65 dBm。新 AP 需好10 dB
802.11k / 802.11v 辅助
- 802.11k (Neighbor Report):AP 返回邻居列表(信道+BSSID),终端缩小扫描范围,极大减少延迟
- 802.11v (BSS Transition):AP 可主动发送建议列表,甚至通过 Disassociation Imminent 强制漫游,解决粘性客户端问题
扫描信道(寻找 AP-B)
终端决定要漫游后,必须通过空口扫描找到目标 AP-B。扫描方式的选择直接决定了漫游的延迟上限。
被动扫描 (Passive Scan)
终端只听不说,停留在某个信道上等待 AP 每 ~102ms 发送一次的 Beacon 帧。最省电,但耗时最长。
主动扫描 (Active Scan)
终端切换信道后广播 Probe Request,AP 在 ~10ms 内回复 Probe Response。耗电,但极快,漫游最常用。
底层 802.11 关联与 EAP 触发
与 AP-B 进行 802.11 Authentication & Association
找到 AP-B 后,终端必须完成底层的 802.11 状态机连接。此时双方仅仅是 Layer 2 握手,还不具备数据转发能力。
Open System Authentication
历史遗留的"空密码"认证。即使是 WPA2-Enterprise,第一步也必须走此过程:终端发送 Auth Request,AP 回复 Auth Response (Status: Success)。
Reassociation Request
因为是漫游,发送的是 Reassociation Request(非 Association)。关键字段:
SSID+Supported Rates- RSN IE:声明期望的安全策略(CCMP/AES + 802.1X AKM
00:0f:ac:1)
触发 802.1X / EAP 认证
关联成功后,WLC 发现 SSID 配置了 WPA2-Enterprise,将终端置于 "端口受控状态(Port-Unauthorized)",只允许 EAPOL 报文通过,阻断所有其他数据(DHCP、IP 等)。
EAPOL-Start
终端主动发起(可选),表明"我准备好了,开始认证吧"。
EAP-Request / Identity
WLC(Authenticator)向终端询问身份。
EAP-Response / Identity
终端回复用户名(如 DOMAIN\bob 或匿名标识 anonymous)。WLC 封装进 RADIUS 发送给 ISE。
方法协商
ISE 提议 EAP 方法(如 EAP-TLS),终端如不支持则回复 Nak,直到双方就方法达成一致。
完整 EAP 认证(耗时大户)
完整的 802.1X / EAP 认证流程
因为没有快速漫游机制(无 OKC / 11r),终端和 ISE 必须重新执行一次完整、极其耗时的 EAP 认证。这是整个漫游过程中的最大延迟瓶颈。
由于证书尺寸极大(2200-8000 Bytes),EAP 会进行分片(Fragmentation),导致多次往返。
Phase 1 建立单向 TLS 隧道(仅 ISE 出示证书),Phase 2 在加密隧道内执行 MSCHAPv2 质询。
后端策略与身份校验
WLC → RADIUS → ISE 通信细节
WLC 充当 "翻译官"(Authenticator / NAD),将空口 EAP 帧封装在 RADIUS 报文(UDP 1812)中与 ISE 交互。
关键 RADIUS 属性
| 属性 | 内容 | 作用 |
|---|---|---|
User-Name | 终端的身份标识 | 认证主体 |
Calling-Station-Id | 终端 MAC 地址 | ISE 端点画像与追踪(极度重要) |
Called-Station-Id | WLC MAC + SSID | 例如 00-11-22-33:Corp_SSID |
NAS-IP-Address | WLC 管理 IP | ISE NAD 匹配 |
EAP-Message | EAP 载荷 | 真正的 TLS/PEAP 报文 |
ISE Authentication Policy
ISE 看到 802.11 流量,匹配无线策略,决定到哪个 Identity Store(如内部用户库或 AD)去查询身份。
ISE Authorization Policy
认证成功后,ISE 根据 AD 组、终端指纹(Profiling)等分配 Authorization Profile(如下发 VLAN、SGT、ACL)。
ISE → AD / CA 的交互
PEAP → Active Directory
ISE 将终端的 MSCHAPv2 Challenge/Response 通过 DCE/RPC 或 Kerberos 传递给 Microsoft AD。AD 校验哈希通过后返回 OK,并附带用户的 AD 组信息(ExternalGroups)供 ISE 做授权。
EAP-TLS → 证书校验
ISE 充当本地验证者。校验终端证书的:
- CA 信任链(Root/Sub CA)
- 有效期
- CRL(证书吊销列表)或 OCSP 在线查询
- 如含 UPN,可能查询 AD 获取组信息
密钥体系与四次握手
认证成功,生成 PMK(成对主密钥)
这是整个安全架构的枢纽。只有认证成功,加密的"种子"才会被分发。
独立计算 MSK
终端(Supplicant)和 ISE(Auth Server)利用 TLS 握手材料,各自独立计算出一个 64 字节 的 MSK (Master Session Key)。
安全分发 MSK
ISE 将 MSK 打包在最后一个 RADIUS Access-Accept 报文的 MS-MPPE-Send-Key 和 MS-MPPE-Recv-Key 属性中,通过有线网络发送给 WLC。
四次握手 (4-Way Handshake)
拥有了 PMK(主钥匙),WLC 和终端通过 4 次 EAPOL-Key 报文,协商出用于加密实际数据包的临时钥匙 PTK 和组播密钥 GTK。
数据转发恢复
数据转发恢复 (S_CO_RUN)
状态翻转
WLC 将终端状态从 Authenticating / Associated 推进到 Run (S_CO_RUN) 状态。
授权策略落地
ISE 在 Access-Accept 中返回的授权结果此时被 WLC 应用:
- VLAN ID 绑定
- Airespace-ACL 下发
- CTS:Security-Group-Tag (SGT)
闸门大开
WLC 解除"仅允许 EAPOL"阻断。终端后续的 DHCP、ARP、IP 流量全部由底层的 AES-CCMP 芯片级全速硬件加密。
⏱️ 漫游总耗时估算 — MSC 全局消息序列图
在无任何快速漫游(11r / OKC)的基线中,每一次漫游都是一场灾难
🚀 为什么需要 Fast Roaming(802.11r / FT)?
从 MSC 序列可以看出,一次无优化的 802.1X 漫游耗时通常在 300ms 到数秒不等。这远超语音视频(Webex / Teams)所能容忍的 150ms 延迟极限,会导致明显的音频卡顿或通话掉线。
而 802.11r (Fast Transition) 通过在 AP 之间提前分发派生的密钥(PMK-R0 / PMK-R1),直接砍掉了序列中的 Step 4 ~ Step 7(数百毫秒的 EAP 和 RADIUS 交互),并将四次握手压缩在 Reassociation 帧内完成。这就是我们为什么需要在企业网中部署快速漫游优化机制的根本原因。