1.wifi 漫游
wifi漫游指的是一个wifi的STA在一个ESS内从一个BSS接入到另外一个BSS
大部分的终端设备在漫游的时候不会和旧AP断开,即不会主动向旧AP发送解关联或解认证报文,而直接选择一个新AP进行链接建立
1.1 漫游由STA来决定
802.11 的漫游机制,完全取决于用户端的决定。何时何地送出 Association request 信帧, 完全操之于用户端系统的驱动程序与软件, 对于不同的系统, 可能是无线芯片的fw或者是driver来发起漫游, 也可能是由上层的应用程序来发起漫游
1.2 何时发起漫游
802.11 并未限制STA如何决定是否切换基站,而且不允许基站以任何直接的方式影响STA的决定,就算STA决定与信号最差的基站连接,虽然是相当糟糕的做法,却仍旧符合 802.11 的规范,事实上大多数STA以信号强度或品质做为主要依据,并试图与信号最强的基站进行连接
大部分STA会在刚开始连接时, 选择信号较好的基站进行连接,并且会随时监测所收到帧的信噪比,并以目前所使用的数据传输率,判定何时应该漫游到新的基站。如果数据传输率已经很慢且信噪比又低,用户端系统就会开始寻找其他基站, 但是也有一些STA会在连接一个基站之后, 就与之终生厮守,就算STA距离基站愈来愈远,而且信号强度持续滑落,也不会开始进行漫游过程, 直到与其断开连接才考虑连接到信号较好的基站
因为漫游完全是一个STA端的行为, 因此, 不同的STA的漫游表现有可能差异较大
1.3 基于信号强度的漫游
STA的漫游通常取决于驱动算法, RSSI, RSN, 上一次连接的终端等因素的影响,大部分的STA使用RSSI强度作为参考, 其过程如下:
- 扫描阈值 : 当当前连接的基站的RSSI低于该值时, 启动漫游扫描过程, 开始查找是否有合适的基站用于漫游
- 切换阈值 : 当漫游扫描过程检测到有另一个基站的RSSI好于当前连接的基站, 并且差值要大于该阈值, 则进行漫游
1.4 AP诱导STA漫游
上面说过802.11协议不允许基站以任何直接的方式影响STA的决定, 事实上,作为优化手段,一些AP可能会使用一些间接的手段来诱导STA漫游, 主要有:
- AP触发重新认证: AP将感知无线客户端的信号强度,并根据指定的条件阈值进行判断,如果信号强度低于指定值,那么AP会主动向客户端发送解除认证帧报文,给无线客户端一次重新连接或者漫游的机会。这个手段对于希望终端始终连接到信号最好的AP这种需求有促进作用,其是通过主动将终端踢下线来改变终端漫游不灵敏的现状,从而实现无线链路良好状态的持续,这一过程会造成业务中断, 因此适用于那些不注重漫游过程, 只注重漫游结果, 希望终端能够很及时的切换到最佳的AP上的场景
- 降低AP的发送功率: AP也将感知无线客户端的信号强度,并根据指定的条件阈值进行判定,如果信号强度低于指定值,那么AP会主动降低其Beacon管理帧的发送功率至设定值,同时对于响应终端的Probe Response报文也以设定功率值进行发送。这样终端无论是从Beacon帧采集信号信息,还是从Probe Response采集,都可感知到原有AP信号的强度降低,从而选择其它信号良好的AP,实现主动漫游的效果, 如果终端漫游离开AP,则AP的Beacon帧发送功率会恢复. 即适用于关注漫游的过程而希望终端漫游尽可能无缝不间断
1.5 不同加密方式下的漫游时间
- OPEN WEP共享密钥和PSK的方式, 因为认证的流程很短, 漫游时间也较短, 基本能够满足业务不中断的需求
- 802.1x认证由于认证过程较长, 导致漫游时间大于200ms, 对于实时性的业务影响较大, 为此引入了快速漫游技术
1.6 802.11k
802.11k是一个新提出的标准,它为无线局域网应该如何进行信道选择、漫游服务和传输功率控制提供了标准。它也是802.11规范家族的一部分。在一个无线局域网内,每个设备通常连接到提供最强信号的接入点。这种管理有时可能导致对一个接入点过度需求并且会使其他接入点利用率降低,从而导致整个网络的性能降低,这主要是由接入用户的数目及地理位置决定的。在一个遵守802.11k规范的网络中,如果具有最强信号的接入点以其最大容量加载,而一个无线设备连接到一个利用率较低的接入点,在这种情况下,即使其信号可能比较弱,但是总体吞吐量还是比较大的,这是因为这时网络资源得到了更加有效的利用
https://en.wikipedia.org/wiki/IEEE_802.11k-2008
2. fast roaming
Fast Roaming就是为了提高roaming的效率。在802.11r前,通常