蔡麗萍,姜忠泰,黃庭培,李大偉
1(中國石油大學(華東)計算機科學與技術學院,青島 266580)2(中國石油大學(華東)海洋與空間信息學院,青島 266580)
IEEE802.11 ac 是2012年2月頒布的新無線WLAN標準,該標準對媒體訪問控制層中的物理層和媒體訪問控制層進行了一系列擴展和改進,在物理層,引入了多輸入多輸出和信道綁定等技術,大大提高了物理層傳輸速率;同時還通過在媒體訪問控制層增加了幀聚合和塊確認等機制,有效地提高了傳輸效率[1];理論上,802.11ac 能夠為多站無線WLAN 通信提供至少1 Gbps 的帶寬,或者為單個有線傳輸提供至少為500 Mbps 的帶寬[2].
802.11 ac 環境中的速率自適應是通過響應于變化的信道和干擾條件來調整各種MAC 和PHY 特征,因此鏈路自適應對802.11ac WLAN 中的應用性能的影響比傳統的802.11a/b/g/n WLAN 更大.但是,如文獻[3]所提到的,802.11a/b/g 速率自適應方案在應用于802.11ac 時效果不佳,因為后者打破了傳統方案的一些假設,在IEEE 802.11a/b/g 無線網絡中,編碼與調制策略(MCS)決定了物理層發送速率,而在IEEE 802.11ac 網絡中則是由多輸入多輸出模式、信道寬度、編碼與調制方式等多種因素來決定物理層的發送速率.無線網絡的速率自適應問題也從最初的一維空間的最佳MCS 搜索問題擴展成由MIMO 模式,信道寬度,MCS 組合優化的三維空間問題.同時相對于802.11n 協議,IEEE 802.11ac 提供的速率種類更多,空間內速率搜索所造成的開銷問題則更為突出.因此,解決802.11ac 協議下速率搜索空間問題具有較強的現實意義.
速率自適應算法的目標是為無線數據傳輸找到最優的物理層發送速率,也就是在發送速率和丟包率之間找到一個最佳的平衡,從而使得傳輸吞吐量最大化.
近幾年,針對IEEE 802.11ac 協議設計一種合適的速率自適應算法[4-12](Rate Adaptive algorithm,RA)成為研究的焦點.文獻[4]針對高速無線局域網的特征提出一種多天線系統的速率選擇算法(RAMAS),RAMAS將不同類型的調制方式劃分為一個調制組,然后將空間多路復用、傳輸多樣性、保護間隔類型和通道寬度劃分為一個增強組.然后RAMAS 同時適應這兩組,調制組和增強組的組合被映射回MCS,該算法是通過統計數據幀來反饋當前信道的狀況.文獻[5]提出的Minstrel-HT算法是Atheros 無線網卡在802.11n 標準中默認的速率選擇方案,是Minstrel算法在HT 模式(802.11n)下的升級版,同時也適用于802.11ac.Minstrel-HT 適應MCS,信道寬度,數據流個數,基于探測信息來進行動態學習以期獲得最大吞吐量.但是該算法在高速動態變化的環境下存在滯后性,無法實時根據信道情況進行調整.上述兩種算法都具有實時性不強的缺點[6].
與上述研究的不同,本文首次對速率搜索空間進行考慮,提出一種在802.11ac 高速無線局域網絡下混合速率自適應算法VhRa,該算法利用MIMO 模式,信道寬度的最佳設置與RSSI 之間的單調關系來進行特征選擇,在MCS 選擇上通過利用二分法基于Zigzag 探測的模式進行選擇,從而縮小算法搜索的空間,提高搜索效率,進一步提升傳輸吞吐量.
傳統的速率自適應算法在IEEE 802.11a/b/g 標準能夠有效工作的一個重要原因是給定無線信道狀態,吞吐量在所有速率點上存在最優物理層發送速率[7].但是在IEEE 802.11ac 標準中,由于引入多輸入多輸出模式和信道綁定等技術,吞吐量在速率點上的最大值不是唯一解,如圖1 所示,對于不同的模式或者不同信道寬度,其最大值點也是不同的[3].因此這就意味著每次信道變化都需要對速率進行重新選擇.

圖1 MIMO 模式對MCS 選擇的影響
IEEE 802.11ac 標準在物理層上支的速率種類高達600 多種,而IEEE 802.11n 支持256 種速率,IEEE 802.11a/g 標準物理層的速率種類只有8 種[8],IEEE 802.11b 標準更少,僅支持4 種速率,速率種類如表1所示.若按照傳統順序遞減或遞增的方式選擇IEEE 802.11ac 標準下的速率,需要很長時間才能收斂到最優的速率,同時大的搜索空間會導致大的收斂延時與開銷[9],從而影響無線鏈路的傳輸性能.另外,若對802.11ac 物理層的每一種速率進行離線訓練,需要對每種編碼調制方案下的無線信道的通信特性進行測量分析,建立鏈路質量和信道通信特征之間的映射關系,從而會帶來大的控制開銷,且準確性低[10].

表1 不同協議標準速率種類
針對上述的兩個問題,本文設計一種在802.11ac高速無線局域網絡下混合速率自適應算法VhRa.該算法利用MIMO 模式,信道寬度的最佳設置與RSSI 之間的單調關系來進行特征選擇,利用二分法基于Zigzag探測的模式對MCS 進行選擇;該算法既解決了傳統算法的收斂延時與開銷問題,同時也提高了速率選擇的準確性.
在傳統的802.11a/b/g 中,PHY 層的速率是由調制與編碼策略(MCS)來唯一確定的,每種MCS 對應唯一的比特速率.但802.11ac 在PHY 層引入了兩種技術(多輸入多輸出技術,信道綁定技術),使得傳輸速率提升至6 Gbps,因此,802.11ac 中的速率是由MIMO數據流、信道帶寬以及MCS 三者來共同確定.
本文提出的VhRa算法是通過RSSI 閾值來確定MIMO 模式和信道寬度;并且利用二分法基于Zigzag探測的模式來選擇MCS 模式.
受文獻[8]中Samplelite 閾值思想的啟發,通過控制實驗變量,在ns-3 仿真平臺[11]上進行IEEE802.11ac數據的獲取并進行了數據分析,為了更加接近實際無線信道,試驗中添加隱藏節點干擾,引入大尺度衰落因素并在移動場景下測得該數據;首先在ns-3 仿真平臺下使用固定速率(ConstantRate)對數據包進行發送,并且設置多個測試點,每個測試點距離相差1 m(移動步速1 m/s),在每個測試點用Wireshark 工具進行抓包分析得到其在該點的RSSI,之后將RSSI 與MIMO 和信道寬度關系映射到一個二維空間.如圖2 所示,隨著距離的越來越遠,不同信道寬度對吞吐量的影響,已有文獻證明RSSI 的變化與距離是成正比關系[12]的,距離越遠,RSSI 的值越大.通過對轉折點的分析,并且進行多次實驗,獲得了不同模式下RSSI 的閾值.MIMO 模式的閾值選擇如圖3 所示.

圖2 不同信道狀態下吞吐量變化圖

圖3 不同MIMO 模式下下吞吐量變化圖
如表2 所示,當平均RSSI 大于特定閾值 (-49 dBm)時,采樣應關注于設置為4 個空間流的MIMO 模式,對于不同的RSSI 閾值,MIMO 模式有不同的選擇.實現過程中沒有考慮幀聚合功能,因為文獻[13]指出像Minstrel HT 這樣的現有方案已經有了一種有效的方法來適應在ath9k 驅動程序中實現的這個功能.表3 則反應出RSSI 與信道寬度的映射關系,不同的RSSI 閾值,對應著不同的信道寬度.

表2 RSSI 與MIMO 模式映射關系

表3 RSSI 與信道寬度映射關系
VhRa算法通過發送端接收到的Block ACK 幀來統計發送端RSSI,比較統計的RSSI 值繼而選擇出相對應的信道帶寬和數據流數,縮小比特速率選擇的搜索空間.RSSI 本身是一個波動性非常大的參數,受外界環境以及設備本身硬件的因素影響比較大[14],因此在數據測量的過程中采用高斯濾波的方式來減少RSSI 波動的影響,對同一個節點接收到的多個RSSI 值中,通過高斯模型[15]選取高概率發生區的RSSI 值作為有效值,再求其幾何平均值,這種方法能夠有效地減少小概率、大干擾對整體測量數據的影響.具體公式如下:
RSSI 服從( 0,δ)的高斯分布,其概率密度為:

其中,

則區間( μ-σ ≤RS S Ik≤μ+σ)的概率為:

偽代碼如算法1.

?
MIMO 模式和信道寬度均可以映射為一個大小為4 的集合,搜索空間相對MCS 較小,因此,本文首先對MIMO 模式和信道寬度進行選擇.受默認網卡驅動算法Minstrel-HT 的啟發,在MCS 的選擇上引入支持向量機分類的思想,MCS=0~9 可以劃分為高速率區域和低速率區域,高速率區域則為(MCS=6,7,8,9),低速率區域(MCS=1,2,3,4).
首先探測MCS=4,5,6 三個狀態下吞吐量的情況(即既包括了高速率區域的值又包括低速率區域的值),選擇吞吐量較高的MCS 值作為下一次發送的值.與通過2.1算法確定的MIMO 模式,信道寬度則可以精確選擇當前的速率.下一次探測將以上一次使用的速率MCSi為探測中心,繼續探測MCSi-1,MCSi,MCSi+1的吞吐量,更新吞吐量最好的速率.如圖4所示.

圖4 基于Zigzag 探測模式的MCS 選擇
偽代碼實現如算法2.

?
采用NS-3 網絡協議仿真軟件搭建基于IEEE 802.11ac 的網絡仿真環境,并在此平臺上對VhRa算法進行性能仿真驗證.為了驗證VhRa 的性能,本文分別在靜止狀態和移動狀態以及有無干擾情況[16]下進行實驗,并選擇RRAA、Minstrel-HT 和SampleLite 三種速率自適應算法作為參考,對比分析各算法的吞吐量性能差異.
為了驗證不同速率自適應算法在IEEE 802.11ac標準下的性能,必須要建立一個基于NS-3 工具的802.11ac 協議仿真,環境如圖5 所示,采用最基本的網絡拓撲立一個簡單的基礎型網絡[17],該網絡包括AP 和6 個STA 節點.

圖5 網絡拓撲結構
真實無線網絡設備的模擬可以通過基于NS-3 的802.11 協議模型來進行,該模型層次化架構清晰,模塊化設計良好,適合對速率自適應算法的進行仿真驗證,且能夠達到與實際環境相同的效果,其中,TCP/IP 協議棧標準的數據包交互是通過網絡設備接口.802.11 協議層包含對AP 或STA 的管理,并實現協議操作,例如掃描和關聯,中間層包括基本的DCF 競爭訪問機制、隊列調度算法和速率適配等模塊,其中速率適配模塊則需要進行修改的部分,速率自適應算法需要依次進行建模并集成于現有的仿真平臺中.同時,速率自適應模塊需要連續統計數據幀的發送與接收情況,最終將速率信息反饋給MAC Low 層[18].
每個節點均需要對模型進行構建,模型包括物理層、應用層、TCP/IP 協議棧、WiFi 網絡設備和無線信道等各個層次,各層次模型參數配置如表4 所示.為了更好地分析在不同傳輸協議下各種速率自適應算法的性能,仿真系統采用UDP 單向傳輸協議,并且設置恒定速率數據流(ConstantRate)為網絡性能測試提供飽和、穩定的上層激勵.另外,為了模擬由不同節點間距以及不同移動環境所引起的差異化,用LogDistance PropagationLossModel[15]模型來仿真無線信道的大尺度衰落,疊加上JakesPropagationLossModel 模型的瑞利分布特性來仿真無線信道的小尺度衰落,使用RandomWalk2dMobilityModel 模型的來模擬不同的移動狀態[19].

表4 仿真實驗參數配置
4.2.1 算法運行時間比較
由本文第2 章節的分析可知,在802.11ac 協議下,速率選擇的搜索空間對系統的吞吐量會產生影響.因此本節測試了算法的運行時間,通過算法的運行時間反映各算法速率選擇的搜索空間度上的差別.
如圖6 給出了STA 在不同運動狀態下VhRa、SampleLite、RRAA[20]和Minstrel-HT 三種速率自適應算法的算法運行時間.從圖中可以明顯看出,在同種運動狀態下,RRAA 的運行時間最長,VhRa 與SampleLite在運行時間上相差不大,但是需要注意Samplelite 是Kriara 等人在802.11n 協議根據探測得出的閾值,雖然算法運行時間較短,但是對于802.11ac 協議并不適用,而VhRa 是根據802.11ac 協議進行設計的,在減少了算法運行時間的同時,也提升了吞吐量.

圖6 不同運動狀態下算法運行時間
4.2.2 UDP 吞吐量比較
為了保證實驗結果的準確性,仿真實驗共進行了6 次,將6 個STA 的吞吐量取平均值,得到如圖7 所示的UDP 吞吐量.由圖7(a)、(b)、(c)可以明顯看出,當STA 處于靜止或移動速度較慢時,此時STA 處的信道狀態比較穩定.在AP 與STA 間距離為5 米、15 米和25 米的情況下,算法的UDP 吞吐量明顯高于SampleLite、MinstrelHT 和RRAA[17]三種算法,這是由于VhRa算法先采用基于發送端RSSI 的方法選擇合適的數據流、信道帶寬,然后再采用Zigzag 探測的方式選擇MCS 模式,繼而定位更準確的比特速率,同時也減少了由于搜索空間過大造成的開銷和損耗.圖7(e)、(f)表示的是在不同衰落狀態下UDP 吞吐量情況,VhRa在大尺度衰落和小尺度衰落情況下都高于傳統的速率選擇算法SampleLite、MinstrelHT 和RRAA.

圖7 不同狀態下UDP 吞吐量比較
在綜合分析IEEE 802.11ac 協議的新增特征之后,提出了一種高效的速率自適應算法VhRa.該算法通過對當前信道狀況實時準確地估計,通過閾值來確定MIMO 模式、信道寬度,避免了搜索空間的選擇過大,減少了開銷,同時,基于Zigzag 探測的選擇MCS 值保證了算法實現的性能準確性.仿真驗證表明,在不同運動場景和有無衰落情況下該算法的UDP 吞吐率性能和算法運行時間均優于RRAA、SampleLite 以及Minstrel-HT 等速率自適應算法.但受限于仿真工具,缺乏對更高信道帶寬和MIMO 技術的精確模擬,后續工作將把VhRa算法集成到實際的802.11 ac 硬件系統平臺上.