802.11kvr
802.11K/V/R也被称为“快速漫游三协议”,能够有效地解决传统漫游过程中丢包严重,漫游触发不及时,选择漫游的目标不是最合适的AP的问题
802.11k
协议全称:无线局域网的无线电资源测量(Radio Resource Measurement of Wireless LANs,简称是RRM)
802.11k协议介绍
协议说明:802.11K协议可以提前告知无线终端可以选哪些AP,在设备要进行漫游时能够快速选择漫游AP。当无线终端检测到当前连接的AP提供的无线网络不佳,向AP发起请求,请求AP提供一份可以漫游的AP的列表和AP的相关信息,让无线终端了解附近的AP的情况。当AP检测到关联的无线终端逐渐远离时,会要求无线终端收集周围的AP信息并反馈,AP再结合自己的邻居AP的信息,再反馈给无线终端推荐漫游的AP。
其实就是辅助快速漫游找到最好的AP信息
802.11k协议验证
协议共计定义11种测量方法
The request/report measurements are as follows:
— Beacon
— Frame
— Channel Load
— Noise Histogram
— STA Statistics
— Location Configuration Information (LCI)
— Neighbor Report
— Link Measurement
— Transmit Stream/Category Measurement
The request-only mechanism is:
—
Measurement Pause
The report-only mechanism is:
—
Measurement Pilot
笔者在此仅介绍经常使用到的一种方法,就是Neighbor Report的验证方法。
1、 首先要看AP支持不支持,在AP发出的beacon帧(wlan.fc.type_subtype == 0x08)中的RM Enable Capabilities字段下可以看到Neighbor Report值被置为1
2、其次要看无线终端支不支持,看设备发出的Reassociation Request帧(wlan.fc.type_subtype == 0x02)或者看association Request帧(wlan.fc.type_subtype == 0x00)中的RM Enable Capabilities字段下可以看到Neighbor Report值被置为1
3、“邻居报告”会请求从客户端发送到AP。AP返回一个“邻居报告”报告,其中包含关于客户端重新关联的已知候选AP的信息(wlan.rm.action_code==5)或者(wlan.fc.type_subtype == 0x0d)
漫游前模组会给关联过的AP发邻居报告信息,漫游后模组会给另外一个AP发邻居报告信息
信息包括Element ID, length, BSSID, BSSID information, Operating Class, Channel Number , PHY Type等。
802.11v
协议:无线网络管理协议(Wireless Network Management,WNM)
协议别名:BSS过渡管理
802.11v协议介绍
1、网络辅助功能:帮助终端设备更长时间睡眠,比如,手机等设备通过每隔一段时间跟AP一次来确保跟AP没有断开
2、网络辅助漫游,允许WLAN发送信息给终端。来确保终端能连接更好的AP,这可以带来两点好处:
- 负载均衡
- 让信号不好的终端更换AP
802.11v协议验证
802.11v是一个庞大的修正案,包含了众多服务特性,共计21种
— BSS Max idle period management
— BSS transition management
— Channel usage
— Collocated interference reporting
— Diagnostic reporting
— Directed multicast service (DMS)
— Event reporting
— Flexible multicast service (FMS)
— Location services
— Multicast diagnostic reporting
— Multiple BSSID capability
— Proxy ARP
— QoS traffic capability
— SSID list
— Triggered STA statistics
— TIM broadcast
— Timing measurement
— Traffic filtering service
— U-APSD Coexistence
— WNM-Notification
— WNM-Sleep mode
笔者在此仅介绍经常使用到的一种特性验证,就是BSS transition management验证方法。
1、 首先要看AP支持不支持,AP发出的Probe Response帧(wlan.fc.type_subtype == 0x05)中的Extended Capabilities字段下可以看到BSS Transition support值是否被置为1
2、其次要看无线终端支不支持,看设备发出的Reassociation Request帧(wlan.fc.type_subtype == 0x02)或者看association Request帧(wlan.fc.type_subtype == 0x00)中的Extended Capabilities字段下可以看到BSS Transition support值是否被置为1
3、无线终端从远端一个AP到另一个近端AP移动时,AP会主动发送btm request (wlan.fc.type_subtype == 0x0d)或者(wlan.fixed.category_code == 10)
4、无线终端收到AP发来的Btm request会回复btm response,resonse信息里有根据信号强度推荐可以连接的AP
802.11r
协议:快速漫游协议(Fast Roaming)
802.11r 协议介绍
协议介绍:STA 在进行 802.11r 快速漫游时即省略了 802.1x 认证过程,又省略了四次握手。无线客户端执行快速安全漫游,从而实现漫游过程中业务数据流低延时,用户不会感知业务中断,提高用户上网体验。
802.11r 协议方式
根据协议标准定义,802.11r快速漫游包括如下两种方式:
- Over-the-Air方式:STA直接与FAP(AP_2)进行FT认证。
- Over-the-DS方式:STA通过HAP(AP_1)与FAP(AP_2)进行FT认证。
下图是over the air快速漫游流程图
over the air
下图是over the ds快速漫游流程图
over the ds
- STA首次通过AP_1接入网络时,STA与AP认证成功并生成PMK。
- AP根据PMK生成PMK-R0(由SSID、MDID、AP的MAC地址和STA的MAC地址计算得来)和每个AP对应的PMK-R1(由PMK-R0、AP的MAC地址和STA的MAC地址计算得来),并将PMK-R1下发给AP_1。
- STA和AC通过密钥协商的四次握手和二次握手分别生成并安装PTK和GTK。如果是开放式系统认证,不会生成PMK。
2、STA在漫游过程中向AP_2发起FT认证请求,并将PMK-R1下发给AP_2。
3、AP_2收到请求后,根据其中包含的信息和PMK-R1生成并安装PTK,然后向STA发送802.11 FT认证应答。
4、STA向AP_2发送重关联的请求
5、AP_2收到STA重关联的的请求
802.11r 协议验证
笔者讲下over the air方式的验证流程流程
1、设备是否支持:看设备是否发出 FT Authentication Request (wlan.fc.type_subtype == 0x0b)
2、AP是否支持:看AP回复 FT Authentication Response (wlan.fc.type_subtype == 0x0b)是否带FT
3、设备是否给AP发出Reassociation Request 帧(wlan.fc.type_subtype == 0x02)中应该带有 Fast BSS Transition 字段
4、AP是否回复设备Reassociation Response 帧(wlan.fc.type_subtype == 0x03)中应该带有 Fast BSS Transition 字段
roamingma
11r主要目的是将之前连接的AP的生成的PMK信息传给即将漫游到另外一个AP的PMK信息,来实现快速漫游无四次握手的流程
以上步骤均确认好则代表802.11kvr均支持,抓包中可以看到没有四次握手阶段,且漫游过程中丢包率小于3%,通话时长无明显卡顿,ping包时延在300ms以内
转载:
https://zhuanlan.zhihu.com/p/653814009