无线漫游就是指无线终端在移动到两个AP覆盖范围的临界区域时,终端与新的AP进行关联并与原有AP断开关联,且在此过程中保持不间断的网络连接。简单来说,就如同手机的移动通话功能,手机从一个基站的覆盖范围移动到另一个基站的覆盖范围时,能提供不间断、无缝的通话能力。
WLAN终端漫游
终端漫游的具体过程如下图所示,一般包括如下几个阶段:
- 触发:终端感知到下行信号低于阈值之后触发信道扫描过程。
- 扫描:终端会通过主动扫描或被动扫描的方式发现当前所在位置下可见的AP,并测量用于选网判断的网络信息。
- 主动扫描:终端周期性发送主动扫描帧(Probe request),AP在监听到扫描帧后会进行回复(Probe response),终端收到回复消息后感知AP的存在。
- 被动扫描:终端通过监听AP周期性发送的Beacon帧来感知AP的存在。
采用哪种扫描方式一般是由终端的支持情况决定的。手机或电脑的无线网卡,一般来说两种扫描方式都支持;VoIP语音终端一般采用被动扫描方式。
- 选网:基于扫描到的各AP信息,选择一个AP作为漫游目标。
- 切换:基于终端和网络能力,选择与网络侧匹配的漫游方式。
目前支持的漫游切换方式包括:普通漫游、PMK快速漫游、802.11v方式漫游、deauth方式强制终端漫游等。
终端漫游过程
漫游的前提是没有无线信号覆盖的盲区,如果存在盲区,那么终端在移动到盲区的时候,无法连接到无线信号,肯定是断网的状态。或者处在信号覆盖的边缘,即使可以联网,但是性能很差。
终端在进行漫游的时候,越是复杂的认证方式,比如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关联最合适。
2、切换触发:STA达到漫游阈值就会触发切换
对于触发条件,不同的STA会有不同的方式:
**根据当前AP和邻近AP信号强度的对比,达到门限值就启动切换
**根据业务,例如丢包率,达到门限值就启动切换,此切换触发方式较慢,效果差
3、切换操作:关联新AP,解除与老AP的关联
不同的STA会有不同的操作方式,一般情况,STA在发送切换请求后,发送关联新AP的请求,待请求被接受后,再关联新的AP,然后解除与老AP的关联。但有的STA也会先解除与老AP的关联,再关联新AP
WLAN漫游的网络架构
相关概念:
&& 漫游组:在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
漫游应用场景
二层漫游
二层漫游后,STA仍然在原来的子网中,FAP/FAC对二层漫游用户的报文转发同普通新上线用户没有区别,直接在FAP/FAC本地网络转发,不需要通过AC间隧道转回到HAP中转
漫游前:
STA发送业务报文到HAP
HAP接收到STA发送的业务报文并发送给HAC
HAC直接将业务报文发送给上层网络
漫游后:
STA发送业务报文给FAP
FAP接收到STA的业务报文,并发送给FAC
FAC直接将业务报文发送给上层网络
三层漫游--隧道转发模式
三层漫游时,用户漫游前后不在同一个子网中,为了支持用户漫游后仍能正常访问漫游前网络,需要将用户流量通过隧道转发到原来的子网中转。
隧道转发模式下,HAP和HAC之间业务报文通过CAPWAP隧道封装,此时可以将HAP和HAC看作在同一个子网内,报文无需返回到HAP,直接通过HAC中转到上层网络
漫游前:
STA发送业务报文给HAP
HAP接收到STA发送的业务报文并发送给HAC
HAC直接将业务报文发送给上层网络
漫游后:
STA发送业务报文给FAP
FAP接收到STA发送的业务报文并发送给FAC
FAC通过HAC和FAC之间的AC间隧道将业务报文转发给HAC
HAC直接将业务报文转发给上层网络
三层漫游--直接转发模式
直接转发模式下,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区域时,网络业务不中断。