Wi-Fi 漫游概述
Wi-Fi 漫游机制可以实现无线客户端设备在同一无线网络(拥有相同的网络名称和安全凭证)覆盖范围内,从一个 AP 的覆盖区域自动、平滑的切换到另一个 AP 的覆盖区域,保证网络会话不会中断。
Wi-Fi 客户端漫游示意图
Wi-Fi 漫游协议支持
802.11k
11k 提供无线测量与邻居报告机制,让 AP 与终端共享周边 BSS/信道信息,帮助终端更快、更准确地发现与评估候选 AP。
能力 |
请求者 |
应答者 |
描述 |
|---|---|---|---|
Beacon Measurement |
AP |
STA |
AP 请求 STA 对指定信道/SSID/BSSID 的无线环境进行测量,获取 STA 周围的无线质量数据,辅助漫游决策与引导。 请求模式: 1.Passive:指定信道上只收 Beacon,不发送 Probe Request 2.Active:指定信道上发送 Probe Request,收集 Probe Response 和 Beacon |
Neighbor Report |
STA |
AP |
STA 请求 AP 提供同一 ESS 内的邻居 AP 列表及必要信息,帮助 STA 更快、更稳地选择漫游的目标 AP |
802.11v
11v 提供网络侧管理与漫游引导(如 BSS Transition Management),由 AP 向终端下发候选列表与策略,优化漫游、负载均衡。
能力 |
请求者 |
应答者 |
描述 |
|---|---|---|---|
BSS Transition(BTM) |
STA/AP |
STA/AP |
BTM 是 AP 向已关联的 STA 发送“漫游引导”请求的机制,通过提供候选 AP 列表和策略,让 STA 主动切换到更合适的 AP 上 |
802.11r
11r 提供快速基本服务集切换(Fast BSS Transition),使站点在漫游时不需要完整的四次握手重新建立整套上层认证,依靠 FT 的密钥层级快速切换。
能力 |
描述 |
|---|---|
FT using PSK |
在预共享密钥环境下启用 802.11r,实现快速漫游 |
FT using SAE |
在 WPA3-Personal 环境下,使用 SAE 进行身份验证,同时启用 802.11r 实现快速漫游 |
FT over IEEE Std 802.1X(WPA2-Enterprise) |
在企业网络中,将 802.11r 与 802.1X/EAP 结合,实现快速漫游 |
主动漫游
主动漫游是指当 STA 监测到当前 AP 连接质量下降,主动扫描并依据策略选择同一 ESS 下更优的 AP 去切换。
备注
主动漫游应用实例请参考 wifi roaming plus。
主动漫游的流程
设备初次连线成功后等待 10s,确保 RSSI 稳定后开始循环监测连线 AP 实时的 RSSI。
如果连续两次监测到 AP 的 RSSI 小于设定的阈值(RSSI_ROAMING_THRESHOLD),就会触发漫游扫描,尝试寻找同一 ESS 下更优的 AP。
如果扫描到的目标 AP 的 RSSI 大于当前连线 AP 的 RSSI,且差值超过设定的阈值。(FIND_BETTER_RSSI_DELTA),就会尝试漫游到该目标 AP。
不管漫游成功与否,都会继续保持循环监测连线 AP RSSI 的状态。
主动漫游流程
主动漫游的加速机制
Fast connect:设备会保存最近一次连线 AP 的完整信息(包括 PMK)。有两个用处,一是开机可用来尝试快速连线;二是漫游连线可以直接使用保存的 PMK,节省时间。
Scan special channel:漫游扫描会优先扫描特殊信道,如 11k 或 11v 提供的邻居 AP 的信道,或是设备保存的信道(同一 ESS 内曾经连线过的 AP 所在信道)。如果特殊信道扫描失败,才会进行全信道扫描。
Fast roaming(802.11r):漫游连线使用精简的 FT 握手替代完整认证,大幅降低切换时延。
Fast DHCP:设备会保存连线 AP 上获取的 IP ,一旦漫游回曾经连线过的 AP ,就用原来的 IP 进行 DHCP request 续租,跳过 DHCP Discovery 流程。
主动漫游加速机制
主动漫游的可调参数
参数 |
描述 |
默认值 |
|---|---|---|
RSSI_ROAMING_THRESHOLD |
当连线 AP 的 RSSI 连续2次小于该值,则启动漫游扫描,尝试去找同 ESS 内更好的 AP |
-70dBm |
FIND_BETTER_RSSI_DELTA |
当漫游扫描到的目标 AP 的 RSSI 比连线 AP 大超过该值,则尝试漫游到该 AP |
8dB |
SUPPORT_SCAN_5G_CHANNEL |
指示是否支持 5G,如果支持,漫游扫描全信道会包括 5G 信道 |
0 |
MAX_STORED_CH_NUM |
设备保存同 ESS 内连线过的 AP 所在信道的最大数目。漫游扫描时可优先扫描这些信道,缩短扫描时间 |
13 |
MAX_STORED_IP_NUM |
设备保存连线过的 AP 上获取的 IP 的最大数目。漫游到新 AP 后,如果有保存该 AP 的 IP ,可以使用 fast DHCP 加速机制 |
16 |
主动漫游的使用指南
如果想开启 Fast DHCP 功能,在目录
{SDK}/amebadxxx_gcc_project中执行./menuconfig.py。找到 ,选择 。
(Top) -> CONFIG LWIP ----Configuration---- (X)Enable Fast DHCP ( )Enable NAT REPEATER ( )Enable LWIP IPV6
如果想开启 802.11kvr 功能,在目录
{SDK}/amebadxxx_gcc_project中执行./menuconfig.py。 找到 ,选择 ,,。(Top) -> CONFIG WIFI ----Configuration---- (X)Enable WIFI ---> CONFIG WIFI MODE ---> (X) Enable 11K (X) Enable 11V (X) Enable 11R
根据当前的无线环境,设置 RSSI_ROAMING_THRESHOLD 等可调参数(文档路径:
{SDK}/component/example/wifi/wifi_roaming_plus/example_wifi_roaming_plus.c)。执行
./build.py -a wifi_roaming_plus生成固件。使用 image tool 下载固件到开发板。
被动漫游
被动漫游(11v)是指 AP 基于客户端状态和网络负载建议或引导 STA 切换到更合适的 AP, STA 按策略决定是否接受并执行漫游,从而实现网络侧主导的优化切换。
被动漫游的流程
AP 主动发送漫游引导请求,提供候选 AP 列表,建议 STA 切换到更合适的 AP。(STA 也可以主动发送询问消息,请求 AP 返回漫游候选与过渡建议以辅助其决策)
STA 处理并响应 BTM request,决定是否切换。
如果 STA 决定切换,对目标 AP 发起重关联流程,并完成 4 次握手。
被动漫游流程
被动漫游的加速机制
Fast roaming(802.11r):与主动漫游一样,漫游连线可以使用 FT 重关联(FT Authentication + Reassociation),减少中断时延。
被动漫游加速机制
被动漫游的使用指南
在目录
{SDK}/amebadxxx_gcc_project中执行./menuconfig.py。找到 ,选择 。(如果想同时开启 11k 和 11r,选择 ,)
(Top) -> CONFIG WIFI ----Configuration---- (X)Enable WIFI ---> CONFIG WIFI MODE ---> (X) Enable 11K (X) Enable 11V (X) Enable 11R
执行
./build.py生成固件。使用 image tool 下载固件到开发板。