趙章明,馮 徑
(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切換過程的研究進行了總結和探討。