无线漫游就是指无线终端在移动到两个AP覆盖范围的临界区域时,终端与新的AP进行关联并与原有AP断开关联,且在此过程中保持不间断的网络连接。简单来说,就如同手机的移动通话功能,手机从一个基站的覆盖范围移动到另一个基站的覆盖范围时,能提供不间断、无缝的通话能力。




android13 Wifi漫游流程分析 手机无线漫游_子网


WLAN终端漫游

终端漫游的具体过程如下图所示,一般包括如下几个阶段:

  1. 触发:终端感知到下行信号低于阈值之后触发信道扫描过程。
  2. 扫描:终端会通过主动扫描或被动扫描的方式发现当前所在位置下可见的AP,并测量用于选网判断的网络信息。
  • 主动扫描:终端周期性发送主动扫描帧(Probe request),AP在监听到扫描帧后会进行回复(Probe response),终端收到回复消息后感知AP的存在。
  • 被动扫描:终端通过监听AP周期性发送的Beacon帧来感知AP的存在。

采用哪种扫描方式一般是由终端的支持情况决定的。手机或电脑的无线网卡,一般来说两种扫描方式都支持;VoIP语音终端一般采用被动扫描方式。

  1. 选网:基于扫描到的各AP信息,选择一个AP作为漫游目标。
  2. 切换:基于终端和网络能力,选择与网络侧匹配的漫游方式。

目前支持的漫游切换方式包括:普通漫游、PMK快速漫游、802.11v方式漫游、deauth方式强制终端漫游等。


android13 Wifi漫游流程分析 手机无线漫游_Powered by 金山文档_02


终端漫游过程

漫游的前提是没有无线信号覆盖的盲区,如果存在盲区,那么终端在移动到盲区的时候,无法连接到无线信号,肯定是断网的状态。或者处在信号覆盖的边缘,即使可以联网,但是性能很差。

终端在进行漫游的时候,越是复杂的认证方式,比如Radius认证,需要的重新认证的步骤越多,重新连接的时间就越长。为了加快认证速度,有3个与快速漫游有关的标准推出。

和快速漫游有关的标准主要是三个:802.11k、802.11v、802.11r。

STA:终端

802.11k负责让STA了解附近的AP分布状况。

802.11v负责让AC引导STA切换AP,而不是由STA自行决定,从而更好的切换。

802.11r负责让STA在AP间切换时,不用重新认证,加速连接。

苹果官网上明确说明了哪些产品支持802.11kvr协议,但是安卓手机品牌众多,三星的一些型号有明确的标识,一般安卓手机可能并不支持。如果AP开启了kvr协议的支持,但是终端不支持的时候,有可能会引起终端的漫游异常。这个功能在复杂的网络环境下,建议不要开启。网络的兼容和稳定最重要。

WLAN漫游策略主要解决以下问题:

1:避免漫游过程中的认证时间过长导致丢包甚至业务中断

  802.1x认证、Portal认证等认证过程报文交互次数和时间,大于WLAN连接过程,所以漫游需要避免重新认证授权及密钥协商过程。

2:保证用户授权信息不变

  用户的认证和授权信息,是用户访问网络的通行证,如果需要漫游后业务不中断,必须确保用户在AC上的认证和授权信息不变

3:保证用户IP地址不变

  应用层协议均以IP地址和TCP/UDP Session为用户业务承载,漫游后的用户必须能够保持原IP地址不变,对应的TCP/UDP Session才能不中断,应用层数据才能够保持正常转发

漫游分类:

根据STA是否在同一个子网内漫游,可以将漫游分为二层漫游和三层漫游

  三层漫游:

    如果两个子网的VLAN ID不同,那么这两个子网处于不同的网段,STA在这两个子网漫游属于三层漫游

  二层漫游:

    网络中出现以下情况,两个子网的VLAN ID相同,但是这两个子网又属于不同的子网。此时需要通过漫游域来确定设备是否在同一个子网内,只有当VLAN相同且漫游域也相同的时候才是二层漫游,否则是三层漫游

漫游基本原理

AC内漫游切换过程

  1、切换检测:当STA检测到要发生快速切换时,将向各信道发送切换请求。

  STA监听各信道beacon,发现新AP满足漫游条件,向新AP发送probe请求。新AP在其信道中收到请求后,通过在信道中发送应答来进行响应。STA收到应答后,对其进行评估,确定同哪个AP关联最合适。

    


android13 Wifi漫游流程分析 手机无线漫游_网络_03


  2、切换触发:STA达到漫游阈值就会触发切换

  对于触发条件,不同的STA会有不同的方式:

    **根据当前AP和邻近AP信号强度的对比,达到门限值就启动切换

    **根据业务,例如丢包率,达到门限值就启动切换,此切换触发方式较慢,效果差

  


android13 Wifi漫游流程分析 手机无线漫游_Powered by 金山文档_04


  3、切换操作:关联新AP,解除与老AP的关联

    不同的STA会有不同的操作方式,一般情况,STA在发送切换请求后,发送关联新AP的请求,待请求被接受后,再关联新的AP,然后解除与老AP的关联。但有的STA也会先解除与老AP的关联,再关联新AP


android13 Wifi漫游流程分析 手机无线漫游_Powered by 金山文档_05


WLAN漫游的网络架构


android13 Wifi漫游流程分析 手机无线漫游_Powered by 金山文档_06


相关概念:

&& 漫游组:在WLAN网络中,可以对不同的AC进行分组,STA可以在同一个组的AC间进行漫游,这个组就叫漫游组。如图,AC1和AC2组成一个漫游组。

&& AC间隧道:为了支持AC间漫游,漫游组内的所有AC需要同步每个AC管理的STA和AP设备信息,因此在AC间建立一条隧道作为数据同步和报文转发的通道。

&& Master Controller:STA在同一个漫游组内的AC间进行漫游,需要漫游组内的AC能够试别组内其他AC。通过选定一个AC作为Master Controller,在该AC上维护漫游组成员表,并下发到漫游组内AC,使各AC之间相互试别并建立AC间隧道,如图,选的AC1作为Master Controller.

  * Master Controller既可以是漫游组外的AC,也可以在漫游组内选择一个AC

  * Master Controlle管理其他AC的同时,不能被其他Master Controlle管理

&& AC内漫游:如果漫游过程中关联的是同一个AC,则是AC内漫游,如图STA从AP1漫游到AP2即是AC内漫游

&& AC间漫游:如果漫游过程中关联的不是同一个AC,则是AC间漫游,如图STA在从Ap1漫游到AP3的过程即为AC间漫游

&& HAC (Home AC):STA首次与漫游组内某个AC进行关联,则该AC为它的HAC

 HAP (Home AP):STA首次与漫游组内某个AP进行关联,则该AP为它的HAP

  FAC(Foreign AC):STA漫游后关联的AC即为它的FAC

  FAP(Foreign AP):STA漫游后关联的AP即为它的FAP

漫游应用场景

二层漫游

  


android13 Wifi漫游流程分析 手机无线漫游_java_07


二层漫游后,STA仍然在原来的子网中,FAP/FAC对二层漫游用户的报文转发同普通新上线用户没有区别,直接在FAP/FAC本地网络转发,不需要通过AC间隧道转回到HAP中转

漫游前:

  STA发送业务报文到HAP

  HAP接收到STA发送的业务报文并发送给HAC

  HAC直接将业务报文发送给上层网络

漫游后:

  STA发送业务报文给FAP

  FAP接收到STA的业务报文,并发送给FAC

  FAC直接将业务报文发送给上层网络

三层漫游--隧道转发模式


android13 Wifi漫游流程分析 手机无线漫游_Powered by 金山文档_08


三层漫游时,用户漫游前后不在同一个子网中,为了支持用户漫游后仍能正常访问漫游前网络,需要将用户流量通过隧道转发到原来的子网中转。

隧道转发模式下,HAP和HAC之间业务报文通过CAPWAP隧道封装,此时可以将HAP和HAC看作在同一个子网内,报文无需返回到HAP,直接通过HAC中转到上层网络

漫游前:

  STA发送业务报文给HAP

  HAP接收到STA发送的业务报文并发送给HAC

  HAC直接将业务报文发送给上层网络

漫游后:

  STA发送业务报文给FAP

  FAP接收到STA发送的业务报文并发送给FAC

  FAC通过HAC和FAC之间的AC间隧道将业务报文转发给HAC

  HAC直接将业务报文转发给上层网络

三层漫游--直接转发模式


android13 Wifi漫游流程分析 手机无线漫游_Powered by 金山文档_09


直接转发模式下,HAP和HAC之间的业务报文不通过CAPWAP隧道封装,无法判定HAP和HAC是否在同一个子网内,此时设备默认报文需要返回到HAP进行中转。如果HAP和HAC在同一个子网时,可以将家乡代理设置为性能更强的HAC,减少HAP的负荷并提高转发效率

用户漫游到其他AP后,默认以HAP作为家乡代理。用户漫游时,自动在FAP和家乡代理间建立一条隧道,用户的流量通过家乡代理中转,以保证用户漫游仍能访问原网络

漫游前:

  STA发送业务报文到HAP

  HAP接收到STA发送的业务报文并发送给HAC

  HAC直接将业务报文发送给上层网络

漫游后:

  STA发送业务报文给FAP

  FAP接收到STA发送的业务报文,并发送给FAC

  FAC通过HAC和FAC之间的隧道,将业务报文转发给HAC

  HAC将业务报文发送给HAP

  HAP直接将业务报文发送给上层网络

设置AC为家乡代理:

  STA发送业务报文给FAP

  FAP接收到STA发送的业务报文并发送给FAC  

  FAC通过HAC和FAC之间的隧道,将业务报文转发给HAC

  HAC将业务报文发送给上层网络

小型企业WLAN漫游

  企业部署AC设备对多台AP进行管理,用户可以通过AP1和AP2设备接入WLAN网络。用户进行办公时,从AP1区域漫游到AP2区域时,网络业务不中断。


android13 Wifi漫游流程分析 手机无线漫游_Powered by 金山文档_10