ILD

wireless roaming introduction
作者:Yuan Jianpeng 邮箱:yuanjp89@163.com
发布时间:2023-8-10 站点:Inside Linux Development

无线漫游相关的协议主要有802.11k/r/v


漫游协议

802.11k

Radio Resource Measurement (RRM)

主要是用来测量、报告资源情况。漫游的先决条件是要知道哪个AP信号好,这个就是802.11k干的事情。


ap或sta均可以发起测量请求,并响应测量报告。


802.11k describes the following measurements:

    Beacon

    Frame

    Channel Load

    Noise Histogram

    STA Statistics

    Location Configuration Information

    Neighbor Report

    Link Measurement

    Transmit Stream/Category Measurement


其中漫游常用的是Beacon和Neighbor Report。


AP主导的漫游,由AP发起Beacon测量请求,sta向AP报告周边ap的beacon信号强度。AP基于此进行漫游决策。

Sta主导的漫游,由sta发起Neighbor Report,AP报告可漫游周边ap的情况给sta。这样sta就不用费力就扫描和猜测。


802.11r

Fast BSS Transition

快速BSS切换。相对于802.11i的BSS Transition,切换速度有了极大的提高,可以从500ms级别提升到40ms级别。


有两种切换方式


over the air,直接切到target ap。

over the ds,通过current ap走当前链路切换到target ap。


802.11v

Wireless Network Management (WNM)


和漫游相关是BSS Transition Management (BSTM)。

当AP确定sta可以关联到其它信号更好的ap时,AP向sta发送一个BSTM Request帧。


实现方案

openwrt uci配置

config wifi-iface 'default_radio1'

        option device 'radio1'

        option network 'lan'

        option mode 'ap'

        option ssid 'OpenWrt_5G'

        option encryption 'psk2+ccmp'

        option key 'abc123654.'

        option ieee80211k '1'

        option ieee80211v '1'

        option bss_transition '1'

        option time_advertisement '0'

        option wps_pushbutton '0'


hostapd.sh

翻译uci配置成hostapd的配置


如果开启80211v,则开启下列hostapd配置

time_advertisement

time_zone=

wnm_sleep_mode

bss_transition


如果开启80211k,则开启下列hostapd配置

rrm_neighbor_report=1

rrm_beacon_report=1


80211r,hostapd配置比较复杂一点

mobility_domain=

ft_psk_generate_local=

ft_over_ds=

reassociation_deadline=

wpa_key_mgmt

等等


hostapd_cli

发起beacon测量请求

req_beacon <addr> [req_mode=] <measurement request hexdump>  = send a Beacon report request to a station


发起Bss transition

bss_tm_req = send BSS Transition Management Request


参考

Roaming in Wi-Fi Networks

https://wifihelp.arista.com/post/roaming-in-wifi-networks


Openwrt 802.11k/v/r related

https://forum.openwrt.org/t/finally-got-802-11v-working-fully-few-pointers/56678

https://github.com/berlin-open-wireless-lab/DAWN

https://forum.openwrt.org/t/what-is-the-state-of-802-11r-k-and-v-support-in-openwrt/62363

https://forum.openwrt.org/t/how-does-rrm-work/32635


Wi-Fi network roaming with 802.11k, 802.11r, and 802.11v on iOS, iPadOS, and macOS.

https://support.apple.com/en-us/HT202628


cisco Networking, Why the 802.11k and Neighbor Report are Important?

https://blogs.cisco.com/networking/why-the-802-11k-and-neighbor-report-are-important


cisco Networking, What is 802.11r? Why is this Important?

https://blogs.cisco.com/networking/what-is-802-11r-why-is-this-important


openwrt hostapd.sh

https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=package/network/services/hostapd/files/hostapd.sh;h=4bf6a6c9712785f40d059445f80f19d4f2992f4b;hb=HEAD


hostapd.conf

https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf


h3c 02-802.11v configuration

https://www.h3c.com/en/Support/Resource_Center/EN/Wireless/Catalog/vAC1000/vAC1000/Technical_Documents/Configure___Deploy/Configuration_Guides/vAC1000_AC_CG_R5435P03/06/202206/1618752_294551_0.htm


zhihu BSS Transition Management

https://zhuanlan.zhihu.com/p/472071741


Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.