朱 格,李明政,劉 童,童浩杰,田 野
(中國科學技術大學 計算機科學與技術學院,合肥 230027)
目前,WiFi 作為重要的無線接入方式,其以便利、無處不在等特點為終端設備的網絡訪問提供了極大的便利,在人們的生活和工作中占據著舉足輕重的地位.然而,不同生產廠商研制的AP 設備在協議標準、操作系統、使用方式等方面都存在很大的差異,考慮到終端設備的多樣性和用戶的移動性,無線局域網中集中接入管理仍是一個亟待解決的難題.
同時,隨著移動互聯網的發展,無線數據業務的應用呈現指數增長,尤其是社交網絡、媒體共享和智能終端等應用的快速發展,使得WiFi 也面臨著性能瓶頸.由于WiFi 技術的局限性,特別是終端用戶需求的多樣化,使得很難靈活動態的滿足終端客觀需求,特別是相鄰AP 信號覆蓋的區域可能存在重疊,位于信號重疊區域的用戶僅依靠RSSI 作為選擇AP 的衡量標準,會導致某些AP 負載過大,而有些AP 長時間處于空閑狀態,使得網絡中的負載分布不均衡造成網絡資源的浪費[1-4].這種問題主要是有物理資源和分配策略兩個方面造成,一方面是接入點帶寬資源有限,即物理資源不足;另一方面是沒有充分利用有限的帶寬資源,這也就是所謂的資源分配策略問題.因此,如何利用有限的資源為終端用戶提供更好的服務、避免擁塞,這是一個很有價值的研究方向.
軟件定義網絡[5-9](Software Defined Network,SDN)技術的出現,給無線局域網帶來了新的機遇和挑戰,同時也帶來了新的挑戰和機遇.通過將網絡控制平面和數據平面的分離,SDN 對底層網絡設備進行抽象,為上層應用提供簡單高效的編程接口,將管理操作集中在控制器.SDN 構建一種開放的可編程網絡體系結構,通過編程的方式實現報文解析和數據轉發,徹底打破硬件設備對數據平面的限制,提供開放的網絡接口.POF[10-12](Protocol-Oblivious Forwarding)作為數據平面可編程的代表性技術,通過部署底層多級流水線實現特定的網絡策略.
近年來,將SDN 技術與無線局域網技術相結合取得了可觀的研究成果.如OpenRadio[13]通過模塊化實現對數據平面的編程,支持WiFi和LTE 等不同的無線網絡協議,使得配置和重構協議得到了簡化.不同于OpenRadio,Odin[14,15]不需要對IEEE802.11 標準進行修改就可以兼容現有的無線設備,Odin 通過輕量級虛擬接入點(Lightweight Virtual Access Point,LVAP)與物理AP 解耦合,使得物理AP 對控制器來說是透明的.文獻[16]提出基于SDN 的無線局域網架構,該架構提出一種針對終端用戶無感知的移動切換機制.
因此,將SDN 技術應用到無線接入點中,使得AP 設備具有可編程性將極大地促進網絡服務革新,對于用戶的接入和遷移過程的研究具有創新意義.本文引入POF 技術,實現終端設備的集中接入管理,同時結合多路徑TCP (MPTCP)[17-19]技術,提出多路AP 集中接入管理機制,提高網絡資源利用率,避免網絡擁塞.
在WiFi 網絡中,不同的終端應用具有多樣化的QoS 需求,每個終端可能同時運行一些具有不同服務需求的應用程序,不同的應用需要的網絡資源也不盡相同(如帶寬資源),這會造成AP 之間負載不平衡;同時,無線網絡帶寬通常具有局限性和不穩定性.鑒于以上問題,本文通過引入基于MPTCP 的無線AP 接入管理機制,實現多個AP 同時為終端設備服務,在滿足終端設備對高帶寬的需求,提高整個網絡的資源利用率的同時,還能平衡擁塞,避免因AP 負載過重導致的通信中斷或效率低下等問題.
本文采用基于MPTCP 的AP 接入管理機制,實現細粒度的多路徑傳輸,提高網絡資源的利用率.如圖1所示,本研究將可編程的概念拓展到無線AP,構建一種基于POF 的可編程無線局域網架構,實現對終端設備的統一接入管理,同時引入面向用戶級的虛擬AP 的概念(Virtual Access Point,VAP),負責實際的流量傳輸.

圖1 基于POF 的可編程無線局域網架構
該架構分為基于POF 的控制平面和數據平面,控制平面包含統一接入管理、多路徑傳輸、VAP 管理、用戶認證和用戶自定義等多個模塊;數據平面由多個兼容POF 的無線AP(POF-AP)組成.POF-AP 根據流表規劃將數據幀和管理幀分別交給不同的流水線處理,所有的管理幀都交由位于控制平面的控制器統一處理.
1) 集中式控制器:控制器統一處理探測、認證和關聯等所有的管理幀,并負責POF-AP 中流表的生成獨配置,消除了不同設備間的差異性.
2) VAP:引入VAP 概念是為了簡化網絡功能的實現,VAP 是與終端用戶相關聯的邏輯AP.當終端用戶和終端設備VAP 的分配;此外,通過將OpenWrt[20]系接入AP 時,控制器為其分配VAP,終端用戶所有的網絡流都將由相應的VAP 進行處理,VAP 以流表的形式存在.對于終端用戶而言,與其關聯的VAP 可以同時關聯多個POF-AP;當然,單個POF-AP 的網絡資源(如帶寬等) 也可以被多個VAP 共享,即VAP和POFAP 之間是多對多的映射關系.統刷入商用路由器,控制器不需要對每個設備進行單
3) POF-AP:兼容POF 技術的AP,利用POF 技術對無線數據幀進行處理,并以二元組{offset,length}的形式描述協議字段,其中offset 表示協議字段到數據字段的偏移量,length 表示協議字段的長度.所以,處理數據幀時,只需提取相應的協議字段,不需要預知關于協議格式的任何信息,然后根據流表匹配并執行相應的操作,從而實現協議無感知轉發.
FIS (Protocol-oblivious Instruction Set) 作為POF 協議無關報文處理指令集,包含編輯操作和數據轉發兩種操作.在指令執行階段,編輯操作實現協議頭部的添加和刪除,數據轉發實現數據包的發送和流表間的跳轉.
4) 多路徑傳輸:在該網絡架構中利用MPTCP 對數據進行分流,使得不同的子流通過不同的路徑(即不同的AP)傳輸,實現終端用戶同時連接多個AP,平衡無線設備間的負載,避免網絡擁塞.
基于上文提出的可編程無線局域網架構,在設備接入AP 時,所有的管理幀都由集中式管理器統一處理,該管理器和所有與之相連的無線AP 一起構成可編程無線局域網,在該無線局域網覆蓋的范圍內,被認證的用戶可以享受隨時隨地的網路服務.具有接入管理功能的控制器和具有轉發功能的無線POF-AP 協同工作,完成終端設備的接入操作.
在控制器的管理下,終端設備接入時具體的交互過程如圖2所示.
1) 控制器周期性的向終端設備發送無線信號,統計與之相連的每個AP 上承載的虛擬VAP,通過查找數據庫獲取與VAP 相關聯的終端用戶,用其對信標幀中的單播地址進行填充,經由物理AP 發向終端.

圖2 終端設備接入過程
2) 由于終端用戶和VAP 之間是一對一的映射關系,并且VAP 間是相互隱蔽的,所以采用終端用戶發送探測請求幀的方式主動尋找網絡.通過上述方式,所有在終端設備通信范圍內的AP 都會收到該探測請求幀,并上報給控制器.控制器對首次接入的終端用戶進行身份驗證,同時為終端設備構造并初始化VAP,并構建包含虛擬網絡名稱、認證方式、傳輸速率等信息的探測響應幀.根據AP 接入選擇算法,控制器為終端用戶選取一組AP 進行后續的交互.
3) 選取AP 后,終端設備的認證請求幀和關聯請求幀會依次發出,并由選取的AP 上報給控制器,控制器生成響應幀反饋給終端用戶.
4) 在加密認證過程中,基于四次握手原則進行密鑰信息交互,控制器和終端設備進行加密方式的協商.如接入的虛擬網絡不需要加密,則直接跳過該操作;如采用WPA2 方法加密,則雙方需安裝GTK和PTK.
5) 接著,控制器將IP 獲取請求發給無線局域網的DHCP 服務器,終端接入設備獲得IP 地址.至此,終端設備完成接入過程.隨后控制器將之前為終端設備構造的VAP 配置到物理AP 上,同時,所有與終端設備有關的流表也會隨之下發,接下來終端設備和網絡之間的所有數據傳輸將通過AP 完成.
然而,在傳統的終端設備接入過程中,只存在終端設備和AP 之間的信息交互,不采用集中式控制,不存在AP 與控制器之間的交互過程;與傳統無線網絡不同,本研究中設備接入必須在控制器的參與下完成,AP 與控制器之間存在多次信息交互過程,這會造成接入耗時增加.針對該問題,做出以下優化:
在優化前,接入過程中探測、認證、關聯和轉發配置每步都需要上報控制器,相比較傳統的接入過程,該方案中AP 與控制器之間的多次的信息交互造成接入時延較長.為了進一步優化該問題,這里提出一種改進的接入方案,如圖3所示,通過減少AP 與控制器之間的交互,進而降低接入時延.具體來說,在探測階段,與優化之前該階段的操作一致,控制器初始化虛擬VAP,構造探測響應幀,根據AP 接入選擇算法選舉AP,將響應幀發出;接下來,控制器預先下發配置好的指令集到選出的物理AP 上,以便后續的認證、關聯和轉發配置等接入過程無需再上報控制器,而是由AP 生成響應幀反饋給終端.優化后的接入方案,能夠在一定層度上降低接入時延.

圖3 終端設備接入過程改進
當終端用戶接入AP 時,按照傳統的接入方式僅依靠RSSI 來衡量AP 的性能,并不能保證AP 間的負載均衡.如在由多個AP 覆蓋的區域按照RSSI 值選擇AP 接入,會導致某些AP 因接入較多的用戶而導致擁塞,而其他AP 卻長時間處于空閑狀態.另外,有學者提出依靠終端接入量來衡量AP 負載,但是這也并不能有效的反應AP 的真實負載,如某個AP 接入了大量通信量極低的用戶,此時AP 的負載并不重;相反,當AP 接入的終端數量并不多,但是通信量很大時,AP 的負載反而會比較重.
如何有效的衡量AP 實時的負載狀況,使得新加入的終端能夠擇優選擇AP 接入,使得AP 間負載盡可能均衡,避免擁塞狀況,提高整個網絡系統的性能.由于終端設備的移動性和無線信道的不穩定性,使得網絡流量波動較大,所以在考慮AP 實時負載時,不僅要考慮RSSI,還要從網絡實時流量的角度綜合考慮.
1) RSSI
RSSI 作為影響AP 性能的重要指標之一,與終端設備接收距離的關系如下:

其中,n為環境衰減因子,d為終端與AP 間的距離,用戶與AP 的距離越近接收到的RSSI 值就越大,相應的數據傳輸質量也就越好.研究表明,在數據傳輸時,信號強度與抗干擾能力呈正相關,AP 的信號強度越高,表示其能提供的負載能力越強.
2) AP 吞吐量
該研究中AP和終端設備之間是多對多的映射關系,S T={S1,S2,···,Sm}表示與AP 相關聯的m個終端設備組成的集合,而每個終端即為AP 的一個子流.因此,在衡量AP 吞吐量時要綜合考慮集合S中全部終端(即每個子流)的吞吐量.
而對于AP 中的每個子流S,丟包率和傳輸時延是影響其吞吐量的關鍵因素.丟包率過高也就意味著發送數據幀的時間會延長,相應的AP 能夠獲得的吞吐量也會下降.
在802.11DCF 架構中,AP 成功發送MAC 數據幀的時間Tt為:

其中,DIFS和S IFS分別為分布式幀和短幀時間間隔,RTS和CTS分別為請求和允許發送的控制幀大小,DATA和ACK分別為數據幀和確認幀大小,R為傳輸率,Tb為平均回退時間:

其中,Wmin和Wmax分別為競爭窗口的最大和最小值,Ts為時隙時間.
并且,數據的丟包率lossp主要受MAC 數據幀的錯誤率Ep和碰撞率Cp的影響.

其中,N為數據幀最大重傳次數.
丟包率lossp直接影響成功發送MAC 數據幀的平均時延,從而影響吞吐量的大小.

因此,AP 子流S 的吞吐量Stps為:

假設,AP 中每個子流的吞吐量都能達到飽和狀態,這時AP 的吞吐量將達到理論上的峰值TPSmax:

3) 負載比
從AP 的角度考慮,在AP 接入選擇時,不僅要根據實際網絡狀況考慮AP 理論的吞吐量峰值TPSmax,還要考慮AP 當前實時的吞吐量TPScur.為了更好的衡量AP 的實時負載狀況,本文引入負載比 φ作為AP 接入選擇的一個重要參數:

基于MPTCP 協議,終端設備可以同時接入多個AP,通過在通信中使用多條鏈路,將數據流分發到多條路徑上進行傳輸,MPTCP 可以實現網絡帶寬利用率的提高和網絡擁塞的平衡.
MPTCP 在一條TCP 連接中建立多條子流,當一條子流按照三次握手的方式建立起來后,可以按照同樣的方式建立其他子流,這些子流都綁定于MPTCP 會話連接.子流可以通過兩種方式構建,一種是當IP 相同時,利用不同的端口號建立子流;另一種是利用多個網絡接口,即不同IP 建立多個子流.文中利用第一種方式建立子流,每個子流與一個特定AP 建立連接.根據負載比 φ對AP 實時負載進行評估,按照性能擇優選取一組AP.AP 的選取過程主要有以下步驟:
1) 根據RSSI 值,選擇大于閥值 λ的AP,組成AP 候選集A={AP1,AP2,···,APn},其中,n表示滿足要求的AP 總數.
通常RSSI 值在0~-50 dbm 時,信道的傳輸質量較佳,為了獲得較好的數據傳輸效率和用戶體驗,本文設定閥值λ=-40 dbm.
2) 然后,通過計數的方式獲取AP 的實時吞吐量TPScur,綜合考慮網絡的實際狀況和AP 的實際性能,將AP 理論吞吐量峰值TPSmax作為AP 的負載閥值,通過式(8)計算每個候選AP 的負載比,φ={φ1,φ2,···,φn}為候選集A中AP 相應的負載比.
3) 最后,根據負載比對候選集A中的AP 進行排序,選取 φ值較小的k個AP:
即Aselect={A1,A2,···,Ak}為選取的k個AP,其中,k為終端設備子流總數,即需要接入的AP 總數.按照大需求小負載比的原則,即有大流量需求的子流接入有小負載比的AP,終端設備依次與選取的AP 相關聯.
因此,基于MPTCP,提出AP 接入選擇算法,算法1 描述了整個接入選擇過程.

算法1.AP 接入選擇算法1) 當終端設備接入APs 時,通過探測響應幀獲取AP 的SSID、RSSI 等信息,同時更新控制器中相應的信息;λ 2) 根據得到的RSSI 值,選取RSSI 值高于閥值 的AP 作為候選集A;TPS max TPS cur φ 3) 根據吞吐量峰值和實時吞吐量,評估候選AP 的負載比;φ Aselect={A1,A2,···,Ak}4) 選取負載比 較小的k 個AP,即,與終端設備進行關聯;5) 更新控制器中AP 相應的RSSI 值和吞吐量等信息;Aselect APi φ≥1 APi AselectφAPj 6) 當集合 中 的負載超過負載閥值(即)時,將 承載的相應子流切換到 中負載比 較小的 上;7) 重復5)、6),直到負載均衡.
在實驗室內,搭建基于POF 的可編程無線局域網,并通過測試對其進行性能評估.該實驗平臺所使用的硬件設備和參數如表1所示.該實驗平臺利用簡單的星型網絡拓撲結構,如圖4所示,直接將每個配有POFSwitch 1.4.015 的POF-AP 與多端口Linux 服務器相連接,該服務器又與MPTCP & Iperf 服務器相連.POF-AP 為控制平面和數據平面配置不同的接口,終端設備支持MPTCP v0.92.

表1 硬件實驗平臺參數

圖4 實驗網絡拓撲
通過設置不同的試驗條件,對文中搭建的可編程無線局域網的性能進行評估,下文章節給出了實驗結果,并對結果進行了分析.
1) AP 限流對終端設備帶寬的影響
為了驗證上文提出的集中接入策略的可行性,在實驗中采用筆記本接入測試,不同于傳統的僅接入一個AP;按照上述支持MPTCP 的集中接入策略,實驗中選取3 個POF-AP 與筆記本相關聯.同時,利用shell 腳本,采用tc和iptables 命令實現AP 的限流,從而模擬現實網絡中AP 帶寬資源的不穩定性.
實驗中通過編程方式實現在第31.5 s-46.5 s 間將接入的AP1 的帶寬限制在1 Kbps,圖5是在對AP1進行限流時,筆記本測試的帶寬結果.分析實驗結果可知,按照傳統方式接入AP 時,因為只接入AP1,所有的數據流只能由AP1 傳輸,所以在將AP1 的帶寬限制在1 Kbps 的時間段內,終端總帶寬極速下降到接近于零的狀態;然而,按照上文提出的支持MPTCP 的集中接入策略,由于同時擇優接入了3 個AP(即AP1、AP2、AP3),將AP1 的帶寬限制在1 Kbps 時,AP1 的負載比變大,其負載的子流將會被切換到另外兩個AP 上,而總的帶寬會基本保持穩定.同時,與傳統的接入策略相比,上文提出的接入策略在一定層度上提升了整體網絡的吞吐量,提高了網絡資源的利用率,避免在擁塞的路徑上繼續傳輸數據,從而均衡底層AP 負載.

圖5 AP 限流后終端帶寬速率對比
2) AP 限流對其他AP 帶寬的影響
上小節是從終端用戶的角度分析集中接入策略的可行性,接下來從AP 的角度進行分析.為了體現一般性,實驗中部署兩個POF-AP(AP1和AP2)和十個終端設備,每個終端具有兩個子流分別與上述兩個AP 相關聯,即20 個子流均勻分布在兩個AP 上.
如圖6所示,在非限流情況下,兩個AP 的帶寬速率相當,保持在19 Mbps 左右,總體上振幅差不多;當把AP1 的帶寬速率限制在15 Mbps 時,由實驗結果可知,AP1 的振幅變小,而AP2 的帶寬速率上升到23 Mbps 左右,振幅變大.經過分析可知,在AP1 限流時,AP1 負載比變大,其上的子流大部分被切換到AP2,達到AP 間的負載均衡,保證整體網絡的吞吐量.

圖6 AP 限流后各AP 間的帶寬速率對比
3) 控制平面性能測試
采用筆記本接入AP1 測試,編寫shell 腳本,比較OpenWrt 自帶WiFi和支持MPTCP 的WiFi 情況下的接入時間.共測得40 組數據,將每10 組求平均,得到4 組數據如表2所示.在終端接入時,由于AP 與控制器之間存在數據流交互,而且集中控制器還要進行AP 接入選擇決策,這些都會間接造成終端接入延遲.相比較OpenWrt 自帶的WiFi,本研究原來提出的支持MPTCP 的WiFi 接入耗時是前者的2 倍左右,但是經過優化,接入耗時降到前者的1.5 倍左右,其中,算法運行耗時平均在800~900 ms 之間,在可接受范圍之內.

表2 終端接入測試(ms)
由于本研究引入軟件定義的思路對物理AP 虛擬化,采用集中式管理方式實現終端設備的接入,所以僅考慮接入時的延遲確實比傳統的接入方式耗時一些.但是,相比較該架構帶來的優勢,這些延時代價完全在可接受范圍;因為該架構不僅可以很好的做到AP 設備之間的負載平衡,避免網絡擁塞;同時,該架構未來還可以拓展到用戶移動的環境下,如果在終端用戶移動的情況下,終端用戶可能從AP1 覆蓋的范圍移動AP2 的覆蓋范圍,這時,如果是傳統的WiFi 環境,終端就需要先與AP1 斷開關聯,再接入AP2,不僅要重新接入而且終端的服務也會被迫斷開;但是如果利用該架構就可以實現無縫切換,不需要重新接入,因為該架構中終端是與VAP 綁定的,無論終端如何移動,與之關聯的VAP 并不變,底層只需要VAP 在物理AP 之間遷移,而VAP 是以流表的形式存在,相比較傳統的接入方式,流表的遷移更便捷、更容易實現,從而實現終端用戶無感知的AP 切換,這也是未來會進一步研究的方向.
接下來進行多終端接入的仿真測試,由AP 不間斷上報不同的probe_request 報文來模擬設備的接入請求,測試不同負載情況下控制面的CPU 占用率,固定
接入AP 的總是為5,調整每個AP 上報的probe_request 數目,即模擬的主機個數.由圖7分析可知,隨著終端數的增加,控制平面CPU 占用率呈現上升趨勢,在終端數目一定的情況下,隨著子流數的增加,控制平面CPU 占用率呈現小幅度提升趨勢,即隨著終端數或子流的增加,CPU 的占用率呈現明顯上升趨勢.

圖7 控制平面CPU 占用率
綜上分析各實驗結果可知,本文提出的支持MPTCP 的集中接入策略在一定層度上能提升網絡的吞吐量,提高網絡資源的利用率;同時,能充分利用各AP 的帶寬資源,避免在擁塞的路徑上繼續傳輸數據,從而達到平衡擁塞和均衡AP 間負載的目的,保證終端用戶的服務質量.然而,除了上述優勢之外,該集中接入策略也存在一些不足,該策略會造成接入耗時的延長,隨著終端數和子流的增加,控制平面CPU 的占用率也會有一定層度的提高.
本文引入POF 技術,提出一種深度可編程WLAN架構,該架構實現終端設備的集中接入管理.同時,提出一種基于MPTCP 的無線AP 接入管理機制,相對于傳統的僅僅按照信號強度RSSI 來選擇APs 接入,該機制從信道相對空閑的APs 中選取接入點,對整個網絡資源的利用率進行調優,解決了因AP 負載過重造成的連接中斷、效率低下等問題,保證了終端用戶的服務質量.
然而,實驗環境也僅僅是在實驗室很小的局域網內進行,同時也未考慮終端用戶的移動性.所以,未來的工作就是將文中提到的AP 接入管理機制應用到更大范圍的網絡,同時考慮終端用戶移動的情況.