楊永鵬 劉天琦 楊真真



摘 要:如何提升IEEE 802.11ac無線局域網協議標準中的MAC層效率,進而提高無線局域網傳輸速率,是當前研究熱點。提出一種基于IEEE 802.11ac協議標準新的幀聚合實現算法,該算法一方面根據系統動態速率算法選擇的速率自適應地選取媒體訪問控制服務數據單元聚合中的聚合幀個數,另一方面提出一種媒體訪問控制協議數據單元聚合機制,該機制規定了聚合時機和聚合長度等;同時,針對由無線信道環境嘈雜性引起帶寬下降導致丟包率上升的現象,引入AMPDU聚合情況下的帶寬自適應機制。與現有IEEE 802.11ac聚合機制相比,該算法可提高數據幀發送吞吐率,同時又能在帶寬下降時減少丟包率,增強數據發送魯棒性。
關鍵詞:聚合MAC服務數據單元;聚合MAC協議數據單元;帶寬;保護間隔;吞吐率
DOI:10. 11907/rjdk. 191013 開放科學(資源服務)標識碼(OSID):
中圖分類號:TP393文獻標識碼:A 文章編號:1672-7800(2019)009-0192-04
A Frame Aggregation Implementation Algorithm Based on IEEE 802.11ac Protocol
YANG Yong-peng1, LIU Tian-qi1, YANG Zhen-zhen2
(1. College of Computer Science & Software Engineering, Nanjing Vocational College of Information Technology;
2. College of Science, Nanjing University of Posts and Telecommunications, Nanjing 210023, China)
Abstract: How to improve the efficiency of the MAC layer in the IEEE 802.11ac WLAN protocol standard and the transmission rate of the WLAN is a hot topic in current research. This paper proposes a new frame aggregation implementation algorithm based on the IEEE 802.11ac protocol standard. The algorithm adaptively selects the aggregation mac service data unit (AMSDU) based on the rate selected by the system dynamic rate algorithm; on the other hand, an aggregation mac protocol data unit (AMPDU) mechanism is proposed, which specifies the timing of the aggregation and the length of the aggregation, etc. The complexity of the wireless channel environment causes the bandwidth to drop and the packet loss rate increases. This paper also introduces the bandwidth adaptation mechanism in the case of AMPDU aggregation. Compared with the existing IEEE 802.11ac aggregation mechanism, the algorithm can improve the throughput of data frame transmission, and at the same time reduce the packet loss rate and increase the robustness of data transmission when the bandwidth is reduced.
Key Words: AMSDU; AMPDU; band width; guard interval; throughput rate
0 引言
隨著網絡技術的蓬勃發展和信息化產業進程的加快,尤其是各種便攜式設備的快速普及,使用戶對計算機網絡的要求越來越高。用戶希望隨時隨地上網,而傳統有線網絡已不能滿足該要求,因此IEEE 802.11標準協議下的WLAN技術應運而生;同時,隨著無線網絡技術的迅猛發展,為提高無線網絡設備性能以滿足用戶需求,IEEE 802.11標準先后經歷了IEEE 802.11a、b、g、n、ac等標準,并且隨著標準的不斷修改,許多新的PHY功能不斷被引入以提高無線網絡設備性能。例如IEEE 802.11ac中支持MU-MIMO技術,導頻可對VHT-LTF進行相位追蹤,還增加了兩種調制與編碼方式:MCS8(碼率為3/4的256-QAM)、MCS9(碼率為5/6的256-QAM)、更寬的帶寬(11n支持最大幀帶寬為40M,11ac支持最大帶寬為160M)以及空間流數目(11n最大支持4條空間流,11ac最大支持8條空間流)等,PHY功能的加入極大提高了無線網絡設備性能,但是隨著PHY層數據速率的不斷增加,其吞吐率增長變化不明顯,這是由MAC層幀間隔和前導碼造成的開銷導致的,如果使無線網絡設備吞吐率進一步提升,則必須提升MAC層效率,所以從IEEE 802.11n協議標準開始,引入了AMSDU和AMPDU的聚合機制[2-3]。
IEEE 802.11ac標準中并沒有規定如何設計AMSDU和AMPDU聚合機制。目前,有諸多文獻對該聚合算法進行研究。文獻[3]提出增強型兩級聚合算法,該算法根據當前誤碼率和子幀長度,動態計算AMSDU聚合長度和AMPDU聚合幀數,可提高MAC層傳輸效率,但是并沒有考慮AMPDU聚合時機、AMPDU聚合幀長度以及環境因素導致降帶寬、從而引起性能降低等問題。
本文主要針對IEEE 802.11ac[4]協議標準中的AMSDU和AMPDU,提出一種新的聚合算法,該算法規定一種基于動態速率選擇的AMSDU聚合長度計算方法,明確了由于環境因素導致的降帶寬情況下的處理方法,提出一種完整的幀聚合實現算法。實驗結果表明,該機制既能夠通過提高MAC層效率提高數據吞吐率,又能在降帶寬的情況下,保證數據正確性和魯棒性。
1 幀聚合機制
IEEE 802.11ac標準中的聚合機制按照聚合所處的位置,分為處于MAC頂端的AMSDU聚合[5]和處于MAC底端的AMPDU聚合[6-7]。
AMSDU聚合機制將網絡協議上層傳遞下來的以太幀(MSDU)按照發送端、接收端和服務類別是否遵循同一個原則封裝在一起,AMSDU封裝過程如圖1所示。其中,AMSDU支持的最大長度在IEEE 802.11ac標準的VHT能力描述中有所提及,值一般為3 839字節、7 935字節或 ?11 510字節。在塊確認策略建立時決定是否支持AMSDU。從圖1可以看出,多個MSDU封裝在一起成為AMSDU聚合機制可以有效減少該數據幀在封裝成IEEE 802.1數據幀時的數據幀頭。
AMPDU聚合機制[8-9]將具有相同地址和服務類別的MPDU幀(將上層遞交下來的MSDU或者AMSDU加上MPDU幀頭)聚合在一起,并且在每個MPDU開始處加上一個32bit的短MPDU分隔符,之后,將AMPDU聚合幀封裝成一個PPDU遞交給PHY層。其封裝格式如圖2所示。
其中,AMPDU最大聚合長度也在IEEE 802.11ac標準的VHT能力描述中提到,值一般為8k、16k、32k、64k、128k、256k、512k、1024k等。其中,32bit的分隔符用于軟件實現定界,防止在其中某個幀破壞的情況下,系統也可以通過分隔符提取下一個正常的MPDU,增強AMPDU穩健性。從圖2可以看出,多個MPDU聚合成一個AMPDU也可減少在每個MPDU前加上對應PHY層前導致的開銷。
由于AMPDU聚合的長度比AMSDU聚合長度大,所以與AMSDU相比,AMPDU對于MAC層性能提升效果更明顯。一般情況下,AMSDU與AMPDU一起使用的效果并不會比單用AMPDU好,但是在傳送大量短分組或者在PHY層速率很高的情況下,兩種機制同時使用會增加聚合傳輸的數據量,增加無線數據吞吐率。本文主要依據無線網絡系統中動態速率選擇的實時使用速率決定AMSDU聚合長度。
2 幀聚合實現算法
隨著IEEE 802.11標準無線網絡通信協議的發展,提高無線網絡設備吞吐率[10]成為研究熱點,引入MAC層的AMPDU和AMSDU聚合機制可以有效提高MAC層傳輸效率,從而提高無線網絡設備吞吐率。目前IEEE 802.11標準和相關文獻中尚未對聚合機制作統一規定,本文針對該問題提出一種新的幀聚合算法系統框架,其基本算法系統框架如圖3所示。
該系統第一步是AMSDU聚合機制,該機制主要功能是將從協議棧接收的以太幀按照某種規則聚合成AMSDU幀,并將AMSDU幀遞交給AMPDU聚合模塊。AMSDU聚合規則為發送端、接收端和服務類別是否為同一個,并且聚合長度由動態速率選擇選取的速率決定,其基本算法流程如圖4所示。
在AMSDU聚合算法中,分兩種情況處理。一種情況為目前存在正在聚合的AMSDU幀,在這種情況下,需要將由協議棧新下發的MSDU幀聚合在AMSDU幀尾部;另一種情況為目前不存在正在聚合的AMSDU幀,需要創建一個新的AMSDU幀,并把由協議棧新下發的MSDU幀放在AMSDU的第一個位置。另種,兩種情況的結束條件均為達到AMSDU可以聚合的最大長度。本文獲取AMSDU可以聚合的最大長度是以動態速率選擇算法選擇的速率作為依據計算而來,其理論依據為選擇發送速率比較大的情況下,數據吞吐率比較大,可支撐AMSDU聚合長度的能力相應提高,所以AMSDU可以聚合的最大長度與數據發送速率強相關,其中,該系統選擇的動態速率選擇算法是自適應動態速率反饋(Adaptive Auto Rate Feedback,AARF)算法[11-12],則AMSDU可以聚合的最大長度的算法如式1所示。
其中,[lamsdu]為AMSDU能夠聚合的最大長度,MCS為調制編碼機制(modulation and coding scheme,MCS),即幀發送選取的速率,[Nss]為空間流數目(number of spatial streams,NSS),即幀發送選取的空間流數目,1550bytes為以太網MTU值。
AMPDU聚合算法主要是將AMSDU幀進行聚合。首先,為保證AMPDU數據幀完整性,所以必須保證AMPDU幀在未結束聚合之前不能發送。在該情況下,如果發送的幀之間時間間隔較長,則會產生由于等待聚合導致的信道帶寬浪費。針對該問題,本文引入幀聚合定時器,即當兩幀發送時間間隔滿足一定時間差則聚合;否則,不聚合。算法流程為:
步驟一:第i個AMSDU幀進入AMPDU聚合模塊,記錄當前時間[Ti];
步驟二:如果[(Ti-Ti-1) 其次,AMPDU聚合幀長度是由空間流數目(number of spatial streams,NSS)、帶寬(band width, BW)、保護間隔(guard interval,GI)和特定通信類別的有界時段(transmit opportunity,TXOP)計算而來。其計算方法為: 其中,[lampdu]為AMPDU聚合最大長度,TXOP為特定通信類別的有界時段,[f(BW,GI,NSS)]為由BW、GI、NSS計算出的IEEE 802.11ac標準的PHY層速率。本文按照無線網絡設備的最大能力計算AMPDU聚合長度,所以在計算IEEE 802.11標準速率時按照最大帶寬計算,但是由于無線網絡環境不穩定導致出現降帶寬的情況,例如由原先160M的帶寬[13-14]降到80M,甚至降到20M,在這種情況下,繼續使用公式(2)會出現丟包。針對該問題,本文提出一種針對降帶寬情況的解決方法,有效降低丟包率。其算法基本步驟如下所示: 步驟一:根據[f(BW,GI,NSS)]公式分別計算20M、40M、80M和160M帶寬下的速率,并且用一維數組存儲; 步驟二:AMPDU聚合時,按照最大帶寬計算的長度聚合AMPDU,但是在20M、40M、80M和160M對應長度的幀處統一做標記; 步驟三:當系統出現降帶寬,則記錄當前帶寬,并且將已經按照最大帶寬聚合的AMPDU拆分成當前使用帶寬對應長度的子AMPDU塊,重新發送出去。 3 實驗結果及分析 本文基于IEEE 802.11ac協議標準,提出了一種新的聚合實現算法,一方面提出一種基于動態速率標準的AMSDU聚合長度計算方法;另一方面引入幀聚合定時器控制AMPDU聚合,防止由于不合適的聚合導致性能浪費;最后,提出一種降帶寬情況下的處理機制。為驗證基于IEEE 802.11ac協議標準的新聚合實現算法在吞吐率和丟包率[15-16]方面的效果,對該系統進行仿真實驗。 實驗采用應用層網絡性能測試工具IPERF,分為服務器端和客戶端,實驗中服務器端安裝在設備處,作為AP進行數據發送。客戶端安裝在PC處,作為STA進行數據接收、吞吐量和丟包率統計。其中,設備為帶有IEEE 802.11ac標準無線網絡設備系統的FPGA單板,包括硬件、數字邏輯部分和軟件驅動部分。其中,本文使用IPERF發送數據包的長度設置為1 500byte,空間流數目[17]為[2×2],物理帶寬[18-19]為80M,保護間隔[20]為短保護間隔。另外,由于IPERF運行在應用層,所以統計速率為MAC層速率,根據MAC層與PHY層幀的開銷比例,兩者之間理論比例應約為90%。 為驗證基于動態速率選擇的AMSDU聚合(簡記為動態速率聚合方法)長度有效性,本文分別進行了兩個對比實驗,一個為動態速率聚合對應的MAC層吞吐率統計,另一個為普通聚合方式MAC層吞吐率統計(簡記為普通聚合方法),采用速率作為結果評價指標,其單位為Mbps。實驗結果如表1所示。 從表1中可以看出,當IEEE802.11調試方式設置在MCS0-MCS5之間時,兩種算法在MAC層的速率均可達到PHY層速率的90%,所以在低調制方式時兩者區別不大,進一步驗證了基于動態速率的AMSDU長度準確性。當IEEE802.11調試方式設置為MCS6-MCS9之間時,PHY層性可得到很大提高,此時MAC層效率成為性能瓶頸。從表1可以看出,本文提出的基于動態速率選擇的AMSDU長度計算方法可極大提高MAC層效率。 另外,為了驗證本文提出的降帶寬功能測試,分別對帶有和不帶有降帶寬功能進行實驗,實驗內容為使用其它商用無線網絡設備對本設備進行定頻段干擾,使本設備產生降帶寬現象,并驗證在兩種情況下的丟包率和吞吐率。 從表2可以看出,無線網絡設備在比較嘈雜的環境下,由于干擾較多導致實際使用的帶寬并不能使用物理帶寬,在這種情況下,需要在降帶寬的同時,對已經按照物理帶寬計算的AMPDU進行拆分,從而降低丟包率。從表2可以看出,該方法可明顯降低降帶寬情況下的丟包率。 4 結語 用戶對網絡性能要求日益提高,因此本文提出了一種基于IEEE802.11ac協議標準的新聚合實現系統,該系統實現了AMSDU和AMPDU兩種聚合結合的策略。同時,該系統還提出一種基于動態速率選擇的AMSDU長度計算方法,且在計算AMPDU聚合長度時引入定時器,降低由于AMPDU等待無效聚合請求導致的帶寬浪費,而且引入降帶寬情況下的丟包處理機制。實驗結果表明,該系統即可實現AMSDU和AMPDU的合理聚合,解決在高調制方式下由于MAC性能瓶頸導致的性能下降,同時還可解決降帶寬導致的丟包問題。 參考文獻: [1] SHARON O,ALPERT Y. Scheduling strategies and throughput optimization for the downlink for IEEE 802.11at and IEEE 802.11ac based networks[J]. Wireless Sensor Network,2018,2017(9):250-273. [2] 王磊. IEEE 802.11幀聚合機制在NS-2平臺上的仿真與實現[J]. 電子設計工程,2018(9):128-131. [3] LIU J,YAO M,QIU Z. Enhanced two-level frame aggregation with optimized aggregation level for IEEE 802.11n WLANs[J]. IEEE Communications Letters, 2015,19(12):2254-2257. [4] REZAEI S,GHARIB M,MOVAGHAR A. Throughput analysis of IEEE 802.11 multi-hop wireless networks with routing consideration: a general framework[DB/OL].https://arxiv.org/pdf/1802.00162.pdf. [5] COMBES R,OK J,PROUTIERE A,et al. Optimal rate sampling in 802.11 systems: theory, design, and implementation[J]. IEEE Transactions on Mobile Computing, 2018,(99):1. [6] SHARON O,ALPERT Y. MAC level throughput comparison: 802.11ax vs. 802.11ac[DB/OL]. https://arxiv.org/abs/1803.10189. [7] 齊龍. IEEE802.11MAC層協議退避機制與幀聚合技術的研究與改進[D]. 南京:南京郵電大學,2015. [8] 李文達. 基于IEEE802.11 Block ACK機制的鏈路自適應技術研究[D]. 南京:南京理工大學,2017. [9] DENG D J,LIN Y P,YANG X,et al. IEEE 802.11ax: highly efficient WLANs for intelligent information infrastructure[J]. IEEE Communications Magazine, 2017, 55(12):52-59. [10] KHOROV E,KIRYANOV A,LYAKHOV A. IEEE 802.11ax: how to build high efficiency WLANs[C]. Moscow:International Conference on Engineering & Telecommunication,2015. [11] 張文平. 無線局域網IEEE802.11n高吞吐量MAC層關鍵技術研究[D]. 杭州:浙江大學,2007. [12] 魯偉. IEEE 802.11標準中MAC優化技術解析[J]. 信息網絡安全, 2013(4):43-45. [13] 祖馬特. 幀聚合對IEEE802.11n吞吐量的影響[D]. 武漢:華中科技大學,2010. [14] 刁小林. 基于IEEE802.11n協議的無線局域網MAC層關鍵技術研究與實現[D]. 重慶:重慶大學,2008. [15] 朱建. 基于IEEE 802.11n的WI-FI路由器協議棧優化與實現[D]. 成都:電子科技大學,2014. [16] 何蓉,方旭明,鐘斌. 一種基于價格和效用的幀聚合策略[J]. 鐵道學報,2011,33(11):46-50. [17] 葉春燕. IEEE802.11n MAC層關鍵技術的研究及算法優化[D]. 哈爾濱:哈爾濱工業大學,2008. [18] 崔立功. 高速無線局域網802.11n協議關鍵技術研究[D]. 濟南:山東大學,2007. [19] 侯麗俊. 無線局域網MAC層幀聚合技術的研究[D]. 西安:西安電子科技大學, 2013. [20] 王軼歐. WLAN動態聚合閾值及聚合比例的幀聚合機制研究[D]. 成都:西南交通大學, 2015. (責任編輯:江 艷)