赵章明,冯 径
(1.国防科技大学,江苏 南京 211101;2.91937部队,浙江 宁波 316000)
随着基于IEEE 802.11系列协议标准的无线局域网的普及,越来越多的私人和公共场所都布设了大量的接入点(access point,AP)为用户提供无线接入服务。当前的AP部署一般有两种情况:一是某些特定的局域网为了保证覆盖率(coverage probability,CP)和服务质量(quality of service,QoS),需要集中布设大量的AP,这些AP之间相互协调、共同覆盖一定的区域,如南京城区的免费热点aWiFi、高校的无线校园等;另一种是在某个范围内,有多个不同的群体需要使用无线网络,它们各自布设一个或多个AP,这些AP之间没有协调,是无序、混乱的重叠。这两种部署方式都在一定程度上导致许多无线局域网覆盖区域内的AP呈现非常高密度的分布[1]。
然而在WLAN中,单个AP的覆盖半径只有50~100 m,其覆盖范围远远小于人们在使用无线网络时的移动范围。当用户或移动站点(mobile station,MS)从一个AP的覆盖范围移动到新的AP覆盖范围时,需要进行切换,如图1所示。如果切换不能顺利完成或者切换时延(handoff delay)太长,用户的通信,特别是实时性较强的业务,会发生用户明显可感知甚至严重影响用户体验的中断。在WLAN实际应用中,切换可以分为二层切换和三层切换两类[2]:
(1)二层切换,是指用户在两个(或多个)AP之间来回切换连接。在这种切换方式中,用户在不同的AP覆盖范围之间移动,但是这两个AP应该同属于一个路由器或者基本服务集(basic service set,BSS)。在切换过程中,用户的无线接入属性(如获取的IP地址等)不会发生变化(如图1中用户在AP1与AP2之间的切换)。由于整个切换过程是在WLAN的MAC层完成的,二层切换也被称为MAC层切换。
图1 WLAN网络中的AP切换场景
(2)三层切换,是指用户从一个AP的BSS移动到另一个AP的BSS,并且两个BSS不属于同一个扩展服务集(extended service set,ESS),甚至不属于同一个子网(如图1中用户在AP2与AP3之间的切换)。在这种情况下,用户的无线接入属性会发生变化,并且造成高层连接的中断。由于这种切换是属于网络间的切换,通常也被称为高层切换。
在基于802.11的WLAN网络中,切换过程可以分为切换触发(trigger)、切换探寻(probe)、切换认证(authentication)和重关联(reassociation)四个阶段[3-4],各个阶段的消息流程如图2所示。
当前WLAN面临的切换问题,在最初的802.11协议中并没有充分考虑。具体而言,WLAN中的MS只保持与一个AP的连接,只有当这个连接的质量变得不可接受时,MS才会尝试与新的AP建立连接。但是IEEE802.11并没有明确定义“连接质量不可接受”,即没有明确设定触发切换的时刻。在实际应用中,MS在AP间切换的触发标准,可以根据不同的应用需求,分为基于RSSI、基于接收信噪比(signal-noise ratio,SNR)和基于网络负载等几种[5]:
图2 WLAN中的AP切换流程
(1)基于RSSI。在无线通信领域,信号强度在很大程度上能够体现通信质量,并且能够据此大致估算MS与AP之间的距离,这是基于RSSI触发切换的依据。当MS接收到当前AP的信号强度低于某个设定阈值时,触发切换过程,具有简单、快速、直接等特点,但是存在忽略信道间干扰的缺点。在许多情况下,即使RSSI很强,但是切换后系统容易产生自干扰的问题,反而会导致MS进行一些不必要的切换,影响用户体验。
(2)基于SNR。SNR是通信系统中的重要参数,它能够体现通信的质量以及业务的特性,所以基于SNR的切换触发能够更好地保证切换后网络的QoS。但是,SNR可能会随着环境的变化而产生抖动,同样引起一些不必要的切换。
(3)基于网络负载。对于某些连接用户较多的AP,虽然MS检测到其SNR和RSSI均较好,但是如果AP负载过大,将同样导致MS与AP之间不能进行正常的数据传输。采用基于网络负载的切换方式能够使得各个AP之间的业务得到平衡,不仅可以提高切换质量,还可以使得部分AP过载问题得以解决[6]。但基于网络负载的触发比较复杂,容易造成误判,反而增大系统开销。
所以一般而言,为了降低系统的复杂性,大多数WLAN设备都根据接收到AP的RSSI或SNR作为触发切换的标准。图3描述了两个AP之间的RSSI或者SNR的变化及触发切换的时刻。
图3 AP之间的SNR/RSSI的变化及切换触发条件
由图3可知,当MS从AP1向AP2移动时,来自AP1的SNR/RSSI降低而AP2的SNR/RSSI增强。如果分别用T1(x)和T2(x)表示AP1和AP2在x处的SNR/RSSI,则切换触发的条件基于两个主要参数:切换阈值Th>0和切换滞后值ΔT>0。在任意一点x,MS从AP1切换到AP2的基本条件是:
T1(x)
(1)
T2(x)-T1(x)>ΔT
(2)
其中,条件1可避免不必要的切换,而条件2可避免切换过程中的乒乓效应。除了上述触发切换的判决条件,还有部分厂商设置其他切换触发条件:连续接收到多个否定帧(negative acknowledgment,NAK)、连续丢失多个信标帧(beacon)或者信道质量(channel quality)低于设定的阈值等[7]。
切换触发之后,MS便开始扫描周围环境中可用的AP。这个扫描过程可以分为主动扫描(active scan)和被动扫描(passive scan)两种[8]。
被动扫描方式,指MS被动地监听各个信道中由周围APs发送的信标(beacon)。AP周期性地(周期约100 ms)广播beacon,该信标中包含了AP的所有服务参数,如时间戳、加密信息、MAC、SSID等。MS根据收到的beacon来获知网络中的可用APs,并选择质量最好的一个作为切换目的AP。由于目前的802.11系列标准均支持多信道(例如802.11b和802.11g标准都工作在ISM 2.4 GHz频段,利用了14个可用信道中的11个;802.11a标准工作在ISM 5 GHz频段,有32个可用信道),因此被动扫描需要被动地监听并等待各个信道的beacon到来,造成的时延较大。
主动扫描方式,是当MS发现当前通信连接逐渐恶化需要切换时,在各个信道主动地广播probe消息,并等待周围环境中APs的probe响应,并根据结果选择一个最优AP作为切换目的AP。在主动扫描中,通常采用探测时限来控制每个信道的等待时间:MinChannelTime和MaxChannelTime。主动扫描方式的步骤如图4所示。
2.3.1 IAPP协议
原始的IEEE 802.11标准仅说明了MS可以在同一个ESS内的AP之间进行切换,但未对MS切换时AP之间的具体通信过程做出规定。为了支持和改善MS在AP间的移动切换,IEEE 802.11工作组于2003年推出了IEEE802.11f,定义了IAPP协议[9](inter-access point protocol)。IAPP协议的结构如图5所示。
IAPP协议是在AP中实现的,其中AP管理实体(AP management entity,APME)主要负责管理和协调AP中的各个协议功能模块,该实体包括MAC层管理实体(MAC layer management entity,MLME)和物理层管理实体(physical layer management entity,PLME)。APME通过服务接入点(service access point,SAP)获取IAPP提供的服务,并根据情况调用IAPP各个协议模块执行某些功能,如与其他AP进行通信。另外,IAPP支持的RADIUS Client用于和RADIUS Server通信,并负责管理所有AP并向这些AP提供地址查询服务。IAPP在AP间的通信使用的是TCP协议,而RADIUS请求和响应使用的是UDP协议。
图4 主动扫描详细步骤
图5 IAPP协议结构
IAPP协议在切换过程中发挥着重要作用,其在AP之间的通信主要是为了:维持一个MS与一个AP的关联;确保了重关联过程中转发的状态和上下文的安全性,并通过关联上下文的转发减少重关联延迟。
2.3.2 切换认证
由于WLAN以空气作为传输媒介,这种开放的无线传输媒介难以进行安全防范,所以IEEE802.11标准规定AP与MS之间进行数据传输之前必须要对MS的身份进行认证。目前AP的接入认证方式有早期的开放系统身份认证、WEP(wired equivalent privacy)标准和现行的WPA/WPA2标准。
开放系统身份认证非常简单,首先由MS向AP发送一个Authentication Request帧,该帧只包含MS的MAC身份认证信息。如果AP没有过滤MAC地址,将会立马回复一个Authentication Response帧,表示认证成功。该过程实际是一次简单的握手,标志着MS与AP之间开始进行正式的网络连接尝试。WEP是一种共享密钥验证,其要求MS与AP有相同的口令,然后通信双方互相用Authentication帧进行质询。首先由AP向MS发送质询文本,并由MS对其加密后回传给AP,如果AP能够解密则表示身份验证通过。然而这种方法并不安全,攻击者很容易进行破解,所以迅速退出了市场,由当前在用的WPA/WPA2取代。
2.3.3 关联/重关联
认证结束后的重关联实际上是一个记录保持的过程,它使网络记录下每个MS在子网中的位置,以便网络将发送给该MS的数据帧转发给正确的AP。MS会在认证通过之后向新AP发送一个重关联请求帧(association request),AP收到该请求后会使用IAPP协议与旧AP进行交互,以获取MS的上下文信息和旧AP为MS缓存的数据等,然后回复一个重关联确认帧(association response),并通过其中的状态标识码来标识关联是否成功。如果MS没有完成身份认证,则AP将回复一个De-authentication帧取消关联。
当MS与AP关联完成后,AP便为该MS在网络上进行注册,如送出地址解析协议(address resolution protocol,ARP)消息,让与AP连接的交换设备(路由器等)记录下MS的MAC地址。
切换时延一般是指MS从一个AP切换到另外一个新AP的过程所耗费的时间。在基于802.11系列标准的WLAN中,切换时延大致在300 ms左右波动[10],这一时延对于实时性较强的通信业务而言是难以接受的。为了方便量化和讨论切换时延,Shin S等[11]定义了切换中断关联时间(disassociation interruption time,DIT),指MS接收到旧AP的最后一个数据帧到成功接收到新AP发送的第一个数据帧所经历的时间。上文已经提到,WLAN的切换分为触发、探寻、认证和重关联4个过程,故切换过程中的时延也可以分为触发时延、探寻时延、认证和重关联时延这4部分,即
Thandoff=Ttrig+Tprobe+Tauth+Tasso
(3)
其中,Thandoff为切换总时延;Ttrig为触发时延;Tprobe为探寻时延;Tauth为认证时延;Tasso为重关联时延。下面分别对这四个过程的时延进行分析。
触发时延(Ttrig)指从第一次数据帧传输出错开始到触发切换为止的时间延迟。理论上,如果系统从第一次数据帧传输出错就直接触发切换,触发时延将不复存在。但是考虑到无线信道中的各种噪声、干扰等均有可能对数据传输造成影响,如果一有传输出错就触发切换,将会导致不必要的切换或者频繁的切换发生,反而使网络变得不可用。
由上文分析可知,为了避免不必要的切换和切换中的乒乓效应,切换触发条件中引入了切换阈值Th和切换滞后值ΔT两个参数,并且同时满足式1和式2的条件时才触发切换。所以,减少触发时延的关键在于设置合适的切换阈值Th和切换滞后值ΔT两个参数的值。
切换探寻阶段的时延(Tprobe)是导致切换时延的最主要因素,大概占整个切换时延的90%左右[10]。在具体的探寻过程中,主动扫描方式和被动扫描方式的时延也不一样。
对于被动扫描,由于AP通过被动轮询各个信道中的beacon进行扫描,所以其平均时延可表示为扫描信道个数和信标周期的乘积。如果用n表示802.11标准中可用信道的个数,则被动扫描的时延为:
Tprobe=n×beacon_period
(4)
由上文可知,信标帧的周期约为100 ms,所以对于有11个可用信道的802.11b、802.11g标准和32个可用信道的802.11a标准,它们的平均探测时延分别是1 100 ms和3 200 ms,达到了秒级,显然难以满足实时性业务的需求。
对于主动扫描,上文已经提到两个探测时限:MinChannelTime和MaxChannelTime,通过这两个时限来控制每个信道的等待时间。和被动扫描一样,主动扫描也需要MS扫描到所有可用的信道,所以主动扫描方式的时延的范围大概为:
n×MinChannelTime≤Tprobe≤n×
MaxChannelTime
(5)
其中,n表示802.11标准中信道的个数。
主动扫描过程是MS在发送探测请求后必须要在信道上等待探测回应。如果MS在MinChannelTime内没有收到回应,则表明信道为空,扫描结束;否则必须等到MaxChannelTime超时。空信道的扫描时延记为Tprobe_e,有:
Tprobe_e=MinChannelTime+2T0
(6)
而非空信道的扫描时延记为Tprobe_b,且有:
Tprobe_b=MaxChannelTime+2T0
(7)
其中,T0表示每个探寻请求采用CSMA/CA协议获取媒介使用权的时间延迟。
所以,总的探寻延时可以表示为:
Tprobe=b*Tprobe_b+e*Tprobe_e
(8)
其中,b为占用的信道个数;e为空信道个数。
认证阶段的时延(Tauth)主要源于交换认证信息的过程,且与AP和MS之间的认证信息交换数量成正比。对于不同的认证方式,其所需要交换的认证信息不一样,所引起的时延也不相同。
对于开放式系统认证,由于其过程只有一次简单的握手,引起的时延非常小,一般小于10 ms。共享密钥认证和WAP/WAP2认证方式需要交换的认证信息比较多,导致认证时延也远大于开放式系统认证,约为200 ms左右。
同理,重关联阶段的时延(Tasso)是由交换重关联帧引起的,与硬件条件密切相关,并且根据AP是否采用IAPP协议而变化,一般在几毫秒左右,可改进的空间较小。
对于整个切换过程,各个阶段的平均时延如表1所示。
表1 切换各阶段平均时延
如何确保MS能够快速、平稳地在AP之间进行切换,以降低切换过程造成的时延、丢包和抖动等问题对网络QoS和稳定性造成的影响,目前已得到极大的关注和深入的研究。总结起来,人们对基于IEEE 802.11标准的WLAN的切换方案的研究,可以分为平滑切换和快速切换两大类。
平滑切换策略通过改变切换过程中各流程的具体运行情况,来降低切换过程中的丢包率。目前关于平滑切换的研究概括起来主要分为以下几类:
第一类是通过改变现有切换算法的探寻扫描机制实现平滑切换。其中典型的是Liao Y等[12]提出的贪心平滑切换策略。该策略在MS端将切换探寻阶段等分分割成若干个小段,然后在各个等分小段中进行探寻扫描,每扫描结束一个等分小段后继续与当前连接AP进行数据传输,之后继续进行其他小段的扫描;类似的还有Singh G等[13]提出的Background-Scan算法,其思想是MS周期性进入省电模式扫描周围AP,而AP缓存发送给进入省电模式的MS的数据帧。这类策略的本质是在切换探寻阶段加入一定的数据传输,在一定程度上能够减少切换过程中的丢包,并且能够降低数据包的延迟和网络的抖动,但是其切换过程被拖长,容易导致切换完成不及时。
第二类是通过切换预测实现平滑切换。杨仁忠等[14]通过预测MS将要进入的AP,Shi D H等[15]通过将周围AP加入组播网等方式,预先转发切换相关的数据到这些AP,以实现平滑的切换。这类策略能够减少切换的时延,但是存在预测不准、宽带浪费等缺点。
第三类是通过存储转发实现平滑切换。存储转发的基本思想是在切换过程中,缓存需要转发的数据,待切换完成后再转发缓存的数据。Portoles M等[16]在普通存储转发机制基础上,在设备驱动程序中利用缓冲器和图像队列的方案,该方案能够恢复在切换期间将丢失的大多数数据。但是基于存储转发的机制大部分是在网络层之上实现的,会造成较大的切换时延并且容易出现乱序[17]。
快速切换策略主要是减少切换时延,而切换时延是影响用户体验的关键因素之一,其中H.Velayos等[18]提出并分析了造成WLAN网络中MAC层切换时延的原因,之后许多国内外学者在如何减少WLAN的切换时延中进行了大量研究。针对快速切换策略的研究也可以分为两个方向。
第一种是在研究切换过程中产生切换延迟的各个阶段的基础上,针对各个阶段延迟产生的原因寻求缩短延迟的方法。其中典型的代表有Rebai A R等[19]提出的阻止扫描切换法(prevent-scan handoff procedure,PSHP)。PSHP要求MS给每个信道发送探测请求帧,然后强制MS把所有AP的探测响应帧发送给当前连接的AP,并由当前连接AP进行保存。当MS向每个信道发送探测请求结束后,MS再向当前连接AP发送请求索取所有AP的响应帧,要求当前连接AP把保存的所有AP的响应帧发送给MS;G. Singh等[20]提出建立专用通道进行切换信息交换,减少AP扫描的时间;陈圣达等[21]提出了一种基于AP的快速切换方案,该方案采用两级触发机制和改进的先应式邻居缓存(selective neighbor caching,SNC)机制,有效地减轻了MS和AP的工作量,并且避免了切换频繁发生时AP缓存溢出的问题。
第二种是通过将产生延迟较多的过程(如切换探寻过程)和非必要过程(如切换认证过程)合并或者提前完成,从而分散切换过程,使切换总延迟的降低不依赖于每一个环节。杨卫东等[22]提出了一种快速主动扫频算法,该算法将认证过程和扫描过程相结合,减少了由多余信道扫频、等待时延和信道冲突所产生的时延。陈作聪等[23]综合考虑了信号强度、AP负载、信道的利用率以及MS当前时间内的切换到相邻AP的概率等因素,对可能发生漫游的AP进行预先认证,并通过AP和认证服务器之间预存共享密钥的方式,完成PTK的预先分发;然后通过2次握手交互完成MS和相邻AP的重新认证,有效减少了扫描和重新认证的时延。M.Shin等[24]通过引入图论和定位技术改进切换。I. Ramani等[25]提出通过精确计算信标的到达时间,定时要求MS调到指定的信道接收AP的信标,以达到不影响前台通信而实时扫描AP的目的,但其需要精确的AP同步,实现起来比较困难。
除此之外,V. Brik等[26]还提出了在MS端使用双网卡来解决切换过程中网络延时的问题,当其中一张网卡在传输数据时,另一张则继续扫描MS所处环境的潜在AP,为切换做准备。
针对基于IEEE802.11系列协议标准的无线局域网,对其切换技术进行了研究。首先对WLAN的切换过程进行了研究分析,分别详细介绍和分析了WLAN的切换触发、探寻、认证和重关联四个阶段,然后对各个阶段产生切换时延的原因和时延大小进行了总结和分析,最后对近年来国内外学者对于WLAN切换过程的研究进行了总结和探讨。