WLAN“漫游”纵谈

时间:2024-05-31 08:20:22

                                                         WLAN“漫游”纵谈

WiFi是当前无线通信领域的研究热点,移动性是其中一个极其重要的特点。例如,一个人可以在使用Wi-Fi手机进行语音通话或是从服务器上下载大数据量的文件时穿过一幢建筑物。系统内部的Wi-Fi终端从一个接入点漫游至另一个接入点,期间业务正常使用不间断。该过程我们称之为漫游。

WiFi网络中关于“漫游”的议论纷争始终没有停止过,期间不免夹杂着一些误解,在协议范围内可谓仁者见仁,智者见智。本文基于当前主流WiFi的使用环境,深入剖析WiFi网络漫游切换原理,从多个视角分析终端漫游的行为特点,力求呈现一个真实、客观的漫游“全景图”。

1.    “漫游”的技术背景及概念诠释

1.1.  “漫游”的技术背景

在WiFi网络中,AP负责接入无线终端并转发流量,无线终端要进行相互通信或收发有线网络的数据就必须先与AP建立关联。由于无线终端具有可移动性,当其逐渐移动出正在关联AP的覆盖范围时,则必然会和此关联的AP断开连接,终端在不同的AP之间进行漫游切换存在较长的时间延迟现象,必然会造成用户体验变差。尤其是用户正在使用WiFi网络进行对传输时延要求极高的VoIP语音通话的时候。

针对WiFi终端在AP之间切换存在的时间延迟问题,“无线漫游”技术应运而生。“无线漫游”技术在传统的MAC层切换方式上进行探讨研究,提出了高效连接策略,阈值切换策略等,大大缩短了WiFi终端在AP间切换的时间,并可实现终端在AP间漫游切换的无缝接入。

1.2.  WiFi终端“漫游”的概念

漫游,是个状态描述的概念词,它只是表征了终端的一种常规性行为状态。而在WiFi网络中,一般对漫游的理解是比较丰富和多元的,且并无标准定义,而针对其的完整理解可从两个视角入手,即终端本身和AP。

WLAN“漫游”纵谈

图1 终端在AP覆盖范围下的漫游图示

1.2.1.  终端视角的漫游概念

终端是漫游行为的决策者和发起者,终端在AP间的移动存在信号强度衰减现象,当衰减到一定程度必然对通信质量造成影响,设定接收信号量强度RSSI(Received Signal Strength Indication)的最低界限,如果终端与当前关联AP的接收信号强度值小于此阈值,则此时必须断开连接,和新的AP建立连接。在终端看来,是它主动将与某一个AP的关联关系切换到另一个AP,从而实现其与WiFi网络始终保持连接的目的。阈值的大小根据实际情况进行设置。合理的阈值既能保证通信质量,又能避免在AP之间过于频繁地切换,耗费系统的资源,具体如图2所示。

WLAN“漫游”纵谈

图2 阈值切换策略

从漫游行为的设计目的来看,终端选择性漫游到品质优良的AP,这种结果也有利于其自身电池电量的保存,因为好的无线链路可以降低传输数据所需的时间。

1.2.2.  AP视角的漫游概念

对于AP来说,终端的漫游行为其实就是终端移动性接入的一种需求实现。站在管理漫游行为和提供漫游服务的立场上,AP提供终端进行漫游所需的无线信号,并提供具有相同SSID标识的无线服务。同时采用预先身份验证机制的处理过程(如图3),保证终端在移动过程中不间断通信的无缝移动需求,以及保证移动前后终端的属性和权限保持不变。在整个切换过程中,建立关联的耗时较短,工作站始终能保持着业务连接状态。

从漫游行为的设计目的来看,漫游旨在通过最小化不必要的数据交互流量来提高整体WiFi网络的性能。

WLAN“漫游”纵谈

图3终端漫游切换方式

1.3.  漫游分类

1.3.1.  终端视角分类:二层漫游vs三层漫游

l  二层漫游:STA在同一VLAN内的AP间漫游(如图4)

l  三层漫游:STA在不同VLAN间的AP间漫游(如图5)

WLAN“漫游”纵谈

图4 二层漫游

WLAN“漫游”纵谈

图5 三层漫游

1.3.2.  无线控制器视角分类:AC内漫游vs AC间漫游

l  AC内漫游:STA在注册在同一AC的AP间漫游(如图6)

l  AC间漫游:STA在注册在不同AC的AP间漫游(如图7)

WLAN“漫游”纵谈

图6 AC内漫游

WLAN“漫游”纵谈

图7 AC间漫游

2.    终端“漫游”的行为特点

2.1.  终端选择AP的“行为准则”

既然终端具有漫游的决策权,那么整个漫游行为的发生自然也是由终端驱动的,一般而言,终端的驱动程序包含了其关于漫游的“智慧”。终端漫游的行为其实就是终端选择不同AP的行为,而这种选择何时发生以及发生的触发条件都是没有标准规定的。

终端选择AP的准则,即终端漫游发生的算法是随不同终端厂商而不同的,基本属于“私有产权”。一般而言,漫游算法采用的“触发条件”基本上都是相近的,其中包括但不限于信号强度、信号质量、误码率、遗漏的信标帧数等,而这些参量都是无线链路的“特征值”,其值表征了链路的品质。

由此可知,漫游发生考量的条件是个综合实力的对比,而这个对比的结果就构成了“触发阈值”,一般来说,漫游发生的条件阈值都是不尽相同的,所以会有一种现象,即在无线覆盖的同一个位置,有些客户端可能尝试漫游,而有些则不会。

终端感知信号的方式一般有被动和主动两种,被动监听Beacon帧和主动发送Probe帧进行探测。终端在漫游过程中,也是采用这两种方式进行信号感知的,而不同终端类型倚重的方式不同,但目的都是为了更好的感知环境信息以便为漫游行为提供决策依据。

2.2.  终端的漫游轨迹

既然终端在两个AP间进行切换行为,而且是通过报文的交互实现的,那么终端在和新旧AP的交互顺序上就存在变数,由此构成终端的漫游轨迹不同。

2.2.1.  终端视角的漫游轨迹

从终端视角来看漫游轨迹,漫游终端可能先断开旧链接,再建立新链接;也有可能先建立新链接,后断开旧链接;还有可能保持旧链接的同时建立新链接,旧链接不主动断开,等待其自主废弃。从实践来看,大部分的终端设备在漫游的时候不会和旧AP断开,即不会主动向旧AP发送解关联或解认证报文,而直接选择一个新AP进行链接建立。在AC管理的瘦AP架构下,这种情况发生时,AC会维持“两个客户端的信息”,其中一个是在旧AP上的“链接成功状态”的客户端,另一个则是在新AP上的“正在链接状态”的客户端,最终状态收敛后,AC上只有一个“链接成功状态”的客户端,当然其可能是成功漫游至新AP的“客户端”,也可能是没有漫游成功依然留守在旧AP的“客户端”。

2.2.2.  AP视角的漫游轨迹

从AP的视角来看漫游轨迹,可以分为在一个AC管理下的AP间的漫游和在不同AC管理下的AP间漫游,后一种类型称为跨“漫游域”漫游。从管理用户漫游行为的角度出发,终端在同一AC下的AP间进行漫游相当于在AC的“手掌心”里面转,不管从哪一个AP接入,它的属性信息以及在每个AP上的驻留轨迹信息都始终记录在AC上。而对于漫游域这种情况,新的AP已经不属于原来的AC,它将终端接入后提供的相关信息提交到新AC后,新的AC上并无此终端用户记录信息,无法提供原有的服务。这种情况需要在这些AC间建立终端用户信息的同步机制,从而实现为漫游用户提供继承性服务。我司是通过IACTP协议将多个AC连接成一个漫游域,并使终端用户的信息得以同步,从而可提供接入终端在此漫游域下所有AP间的无缝漫游需求。

2.3.  终端漫游发生时的流程交互

终端漫游行为的发生是通过报文交互来完成的,而对于无线开放不加密的服务和加密认证的服务两种情况,报文交互的具体内容是不同的。

2.3.1.   FAT AP架构下,AP设备不做认证时:

WLAN“漫游”纵谈

图8 终端漫游发生时的报文交互流程图(FAT AP架构+不做认证)

(1).     AP1,AP2正常工作,发送Beacon帧,向STA通告支持的无线服务;

(2).     STA搜索到AP1的信号,向AP1发Probe Request,请求获取AP1所提供的无线服务;AP1回应Probe Response;

(3).     STA向AP1发送认证请求报文(Authentication Request)请求接入,AP1回应认证响应报文(Authentication Response);

(4).     STA向AP1发送关联请求报文(Association Request)进行关联,AP1回应关联响应报文(Association Response)。STA与AP间建立链路层连接;

(5).     STA不需要进行身份认证,通过AP1成功连入网络。

(6).     当STA从AP1往AP2方向移动,感知到AP2的信号强度渐大,AP1强度渐弱,当AP2与AP1的信号强度差达到一定门限时,STA开始向AP2发起认证和关联请求,(通过Probe Request/Response, Authentication Request/Response以及Association Request/Response报文);

(7).     STA与AP2的链路层连接建立成功后,成功连入网络。

2.3.2.  AC+FIT AP架构下,AC上不做认证时:

WLAN“漫游”纵谈

图9 终端漫游发生时的报文交互流程图(AC+FIT AP架构+不做认证)

(1).     AP1与AP2分别与AC建立CAPWAP隧道;

(2).     AP1,AP2发送Beacon帧,向STA通告支持的无线服务;

(3).     STA搜索到AP1的信号,向AP1发Probe Request,请求获取AP1所提供的无线服务;AP1回应Probe Response;

(4).     STA向AP1发送认证请求报文(Authentication Request)请求接入,AP1透传报文到AC,AC通过AP1回应认证响应报文(Authentication Response);

(5).     STA向AP1发送关联请求报文(Association Request)进行关联,AP1透传报文至AC,AC回应关联响应报文(Association Response)。STA与AP1间建立链路层连接;

(6).     STA不需要进行身份认证,通过AP1成功连入网络。

(7).     当STA从AP1往AP2方向移动,感知到AP2的信号强度渐大,AP1强度渐弱,当AP2与AP1的信号强度差达到一定门限时,STA开始向AP2发起认证和关联请求,(通过Probe Request/Response, Authentication Request/Response以及Association Request/Response报文),建立无线链路连接;

(8).     AC通过AP1向STA发送一个去认证报文,通知STA从AP1下线;

(9).     STA通过AP2成功连入网络。

2.3.3.  FAT AP架构下,在AP上进行802.1X认证时:

WLAN“漫游”纵谈

图10 终端漫游发生时的报文交互流程图(FAT AP架构+AP上进行802.1X认证)

(1).     AP1,AP2正常工作,发送Beacon帧,向STA通告支持的无线服务;

(2).     STA搜索到AP1的信号,向AP1发Probe Request,请求获取AP1所提供的无线服务;AP1回应Probe Response;

(3).     STA向AP1发送认证请求报文(Authentication Request)请求接入,AP1回应认证响应报文(Authentication Response);

(4).     STA向AP1发送关联请求报文(Association Request)进行关联,AP1回应关联响应报文(Association Response)。STA与AP间建立链路层连接;

(5).     AP1向STA发起802.1X协商,用户输入用户名、密码,AP1通过Radius协议把用户名、密码发到Radius服务器上进行认证。

(6).     802.1X认证成功后,STA与服务器间协商出PMK(Pairwise Master Key,成对主**),同时服务器把PMK下发到AP1上。

(7).     STA与AP1进行四次握手协商,通过PMK协商得到STA与AP1间数据加密所用的PTK。

(8).     STA通过AP1成功连入网络。

(9).     当STA从AP1往AP2方向移动,感知到AP2的信号强度渐大,AP1强度渐弱,当AP2与AP1的信号强度差达到一定门限时,STA开始向AP2发起认证和关联请求,(通过Probe Request/Response, Authentication Request/Response以及Association Request/Response报文);

(10). STA与AP2的链路层连接建立成功后,因AP2上没有STA的身份信息,因此还需要与STA进行802.1X协商,并得到STA与AP2之间的PMK;

(11). 802.1X协商成功后,STA与AP2进一步通过四次握手协商数据加***PTK;

(12). STA通过AP2成功连入网络。

2.3.4.  AC+FIT AP架构下,AC上做802.1X认证时:

下面以无线802.1X认证为例说明终端漫游的报文交互情况。一般802.1X认证的报文交互较多,而终端进行漫游时,在向新AP发起连接时如果能够省去耗时的802.1X认证交互过程,那么漫游行为才能够快速及时地完成。

WLAN“漫游”纵谈

图11 终端漫游发生时的报文交互流程图(AC FITAP架构+AC上做802.1X认证)

(1).     AP1与AP2分别与AC建立CAPWAP隧道;

(2).     AP1,AP2发送Beacon帧,向STA通告支持的无线服务;

(3).     STA搜索到AP1的信号,向AP1发Probe Request,请求获取AP1所提供的无线服务;AP1回应Probe Response;

(4).     STA向AP1发送认证请求报文(Authentication Request)请求接入,AP1透传报文到AC,AC通过AP1回应认证响应报文(Authentication Response);

(5).     STA向AP1发送关联请求报文(Association Request)进行关联,AP1透传报文至AC,AC回应关联响应报文(Association Response)。STA与AP1间建立链路层连接;

(6).     AP1与STA开始802.1X协商,用户输入用户名、密码,AC通过Radius协议把用户名、密码发到Radius服务器上进行认证。

(7).     802.1X认证成功后,STA与服务器间协商出PMK,同时服务器把PMK下发到AC上。

(8).     STA通过AP与AC之间进行四次握手协商,通过PMK协商得到STA与AP1间数据加密所用的PTK,AC把PTK下发到AP1上。

(9).     STA通过AP1成功连入网络。

(10). 当STA从AP1往AP2方向移动,感知到AP2的信号强度渐大,AP1强度渐弱,当AP2与AP1的信号强度差达到一定门限时,STA开始向AP2发起认证和关联请求,(通过Probe Request/Response, Authentication Request/Response以及Association Request/Response报文);

(11). STA与AP2的链路层连接建立成功后,因AC上已经有STA的身份信息,因此不需要再进行802.1X协商,而是直接使用之前得到的PMK进行STA与AP2间的四次握手协议协商,从而得出AP2与STA间的数据加***PTK;

(12). AC通过AP1向STA发送一个去认证报文,通知STA从AP1下线。

3.    不同WiFi终端的“漫游”行为表现

不同终端的漫游行为差异,除了反映在AP的选择机制外,还有其他方面,如漫游时发送的报文、漫游敏感度可否调整以及针对加密模式的处理机制等。终端基于不同的芯片厂商、驱动、网卡类型等,会有不同的AP选择机制,而最重要最常规的因素则是终端接收到的信号强度。终端漫游时,有的会完整发送认证和关联报文进行连接,而有的则直接发送重关联(Re-association)报文进行连接。某些终端的驱动提供了可供修改的外部参数,可进行终端漫游敏感度的调整。不同的终端对于快速漫游的支持情况也是不相同的,有的只支持SKC(Sticky Key Caching)模式,有的只支持OKC(Opportunistic Key Caching)模式,而有的则两种都支持。

从实践来看,在同等无线条件下笔记本终端漫游成功率要高于手机类智能终端。如在同样无线条件下测试,多数笔记本终端在开放不加密模式服务和加密认证模式服务下的漫游成功率都较高,而部分手机终端则漫游敏感度较差,直到原有AP信号极弱甚至连接断开才开始扫描新AP并发起连接。同样,不是所有的手机终端漫游时都发送Re-association报文,很多品牌手机不会发送重关联报文。在支持快速漫游方式的终端中,苹果最新终端均支持的是SKC模式,而目前主流的无线芯片一般都采用OKC快速漫游机制。

从终端漫游时的AP选择机制来看,基本上是基于对信号的整体评估而进行的行为,而这种选择的策略有一个缺陷,就是终端没有评估AP的负荷状况。这方面情况的改善则需要在AP端进行相关负载均衡的策略实施,以实现资源配置最优。

4.    改善“漫游”行为的综合策略

4.1.  科学设计AP部署方式,保证信号覆盖连续、平滑且充分无盲区

无线网络的科学合理部署是保证无线网络是否满足用户业务需求的重要工作,而用户终端漫游的需求是业务需求中很重要的一环,需要在网络规划时认真对待。为了满足用户漫游时的信号强度和信号质量需求,在AP部署方式的选择和AP位置的确定上就要进行充分考虑,保证信号在覆盖区域中的连续和平滑,即AP间信号尽量重叠,信道交叉规划避免过重干扰,以及使信号在终端漫游轨迹上不要存在大的抖动,且覆盖目标区域不要存在盲区。可选择天线入室、X-shareAP、信号功分等部署方式进行部署。

4.2.  修改终端驱动配置参数,改善其漫游行为

某些终端的驱动开放了一些可以人为设置的参数接口,提供了一定程度的主观配置需求和修改意愿的实现。其中有关漫游行为的参数配置可以改善终端的漫游行为,如提高或降低漫游敏感度,而从本质上看,这种参数的调整就是对终端驱动关于其漫游算法的调整。下面图12是Intel网卡驱动的“漫游主动性”参数,提供了5个档位的选择,依次表征终端漫游的敏感度,即该值由“最低值”到“最高值”表示终端漫游行为的发生状态由迟钝演变至敏捷,相应的各类阈值则由大变小。

WLAN“漫游”纵谈

图12 Intel网卡“漫游主动性”参数设置

4.3.  采用APP类辅助漫游软件

对于某些终端漫游效果较差或者不会主动漫游的情况,可使用基于智能操作平台Android或者IOS开发的APP类软件(例:安卓漫游助手)进行漫游辅助。使用这类APP软件可帮助终端实现主动漫游触发,以及优化漫游行为的发生,但也存在一定的兼容隐患,不同的终端与软件的适配表现也不相同。

4.4.  缩短Beacon帧发送间隔

对于倚重Beacon帧进行漫游信息收集的终端来说,Beacon帧采集的越多则对环境感知的越准确,越有利于终端漫游决策。所以适当提高Beacon的发送量则有利于终端漫游,即可通过缩短Beacon发送间隔来增加Beacon帧的发送量。

以H3C设备为例,配置命令在Radio-Policy视图下,Beacon-Interval num ,其中num 为Beacon发送间隔值,单位TU(Time Unit,1TU=1024 微秒).

4.5.  采用触发重新连接的手段

用户对于漫游的需求一般有两类,一类是关注漫游的结果,即希望终端能够很及时的切换到最佳的AP上;另一类是关注漫游的过程,即希望终端在漫游过程中尽可能的成功和无缝,即无线连接不中断。

对于第一类漫游需求,可采用触发终端重新连接的优化手段进行满足。

开启终端触发重新连接的功能后,AP将感知无线客户端的信号强度,并根据指定的条件阈值进行判断,这个值主要是信号值。如果设备上接收到的终端信号强度低于指定值,那么AP会主动向客户端发送解除认证帧报文,给无线客户端一次重新连接或者漫游的机会。这个手段对于希望终端始终连接到信号最好的AP这种需求有促进作用,其是通过主动将终端踢下线来改变终端漫游不灵敏的现状,从而实现无线链路良好状态的持续。

配置命令可在AC下全局部署,也可以基于单个AP实施。以H3C设备为例,wlan option client-reconnect-trigger rssi singal-check ,其中rssi 为判定阈值,即AP感知到终端的信号强度低于此值时,触发重连接功能。

4.6.  采用漫游导航特性进行漫游诱导

另一类漫游需求,即关注漫游的过程而希望终端漫游尽可能无缝不间断,可以通过采用漫游导航特性进行改善。这种漫游特性是在AP侧部署,是通过改变AP发送管理报文的功率大小诱导终端,从而使终端主动发起漫游行为的一种手段。

开启漫游导航特性后,AP也将感知无线客户端的信号强度,并根据指定的条件阈值进行判定,如果信号强度低于指定值,那么AP会对于响应终端的Probe Response报文设定功率值进行发送。终端Probe Response采集可感知到原有AP信号的强度降低,从而选择其它信号良好的AP,实现主动漫游的效果。

5.    总结

本文基于当前主流WiFi的使用环境,深入剖析WiFi网络漫游切换原理,从多个视角分析终端漫游的行为特点,针对终端在AP间漫游切换存在的时间延迟等一些问题,在分析传统的MAC层切换方式、阈值切换策略等基础上,提出了改善“漫游”行为的综合策略和优化建议,为WiFi的推广应用提供了技术保障。

WiFi网络中的两大重量级“人物”就是终端和AP,而这两个“人物”间的行为互动基本构成了WiFi世界的内容,“漫游”便是其中比较出彩的一笔。得益于“漫游”的支撑,终端可以*畅游于AP的“世界”,而AP也“海纳百川”,恣意于统管“千军万马”之终端。