楊永鵬 劉天琦 楊真真
摘 要:如何提升IEEE 802.11ac無線局域網(wǎng)協(xié)議標(biāo)準(zhǔn)中的MAC層效率,進(jìn)而提高無線局域網(wǎng)傳輸速率,是當(dāng)前研究熱點。提出一種基于IEEE 802.11ac協(xié)議標(biāo)準(zhǔn)新的幀聚合實現(xiàn)算法,該算法一方面根據(jù)系統(tǒng)動態(tài)速率算法選擇的速率自適應(yīng)地選取媒體訪問控制服務(wù)數(shù)據(jù)單元聚合中的聚合幀個數(shù),另一方面提出一種媒體訪問控制協(xié)議數(shù)據(jù)單元聚合機(jī)制,該機(jī)制規(guī)定了聚合時機(jī)和聚合長度等;同時,針對由無線信道環(huán)境嘈雜性引起帶寬下降導(dǎo)致丟包率上升的現(xiàn)象,引入AMPDU聚合情況下的帶寬自適應(yīng)機(jī)制。與現(xiàn)有IEEE 802.11ac聚合機(jī)制相比,該算法可提高數(shù)據(jù)幀發(fā)送吞吐率,同時又能在帶寬下降時減少丟包率,增強(qiáng)數(shù)據(jù)發(fā)送魯棒性。
關(guān)鍵詞:聚合MAC服務(wù)數(shù)據(jù)單元;聚合MAC協(xié)議數(shù)據(jù)單元;帶寬;保護(hù)間隔;吞吐率
DOI:10. 11907/rjdk. 191013 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
中圖分類號:TP393文獻(xiàn)標(biāo)識碼: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 引言
隨著網(wǎng)絡(luò)技術(shù)的蓬勃發(fā)展和信息化產(chǎn)業(yè)進(jìn)程的加快,尤其是各種便攜式設(shè)備的快速普及,使用戶對計算機(jī)網(wǎng)絡(luò)的要求越來越高。用戶希望隨時隨地上網(wǎng),而傳統(tǒng)有線網(wǎng)絡(luò)已不能滿足該要求,因此IEEE 802.11標(biāo)準(zhǔn)協(xié)議下的WLAN技術(shù)應(yīng)運而生;同時,隨著無線網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,為提高無線網(wǎng)絡(luò)設(shè)備性能以滿足用戶需求,IEEE 802.11標(biāo)準(zhǔn)先后經(jīng)歷了IEEE 802.11a、b、g、n、ac等標(biāo)準(zhǔn),并且隨著標(biāo)準(zhǔn)的不斷修改,許多新的PHY功能不斷被引入以提高無線網(wǎng)絡(luò)設(shè)備性能。例如IEEE 802.11ac中支持MU-MIMO技術(shù),導(dǎo)頻可對VHT-LTF進(jìn)行相位追蹤,還增加了兩種調(diào)制與編碼方式:MCS8(碼率為3/4的256-QAM)、MCS9(碼率為5/6的256-QAM)、更寬的帶寬(11n支持最大幀帶寬為40M,11ac支持最大帶寬為160M)以及空間流數(shù)目(11n最大支持4條空間流,11ac最大支持8條空間流)等,PHY功能的加入極大提高了無線網(wǎng)絡(luò)設(shè)備性能,但是隨著PHY層數(shù)據(jù)速率的不斷增加,其吞吐率增長變化不明顯,這是由MAC層幀間隔和前導(dǎo)碼造成的開銷導(dǎo)致的,如果使無線網(wǎng)絡(luò)設(shè)備吞吐率進(jìn)一步提升,則必須提升MAC層效率,所以從IEEE 802.11n協(xié)議標(biāo)準(zhǔn)開始,引入了AMSDU和AMPDU的聚合機(jī)制[2-3]。
IEEE 802.11ac標(biāo)準(zhǔn)中并沒有規(guī)定如何設(shè)計AMSDU和AMPDU聚合機(jī)制。目前,有諸多文獻(xiàn)對該聚合算法進(jìn)行研究。文獻(xiàn)[3]提出增強(qiáng)型兩級聚合算法,該算法根據(jù)當(dāng)前誤碼率和子幀長度,動態(tài)計算AMSDU聚合長度和AMPDU聚合幀數(shù),可提高M(jìn)AC層傳輸效率,但是并沒有考慮AMPDU聚合時機(jī)、AMPDU聚合幀長度以及環(huán)境因素導(dǎo)致降帶寬、從而引起性能降低等問題。
本文主要針對IEEE 802.11ac[4]協(xié)議標(biāo)準(zhǔn)中的AMSDU和AMPDU,提出一種新的聚合算法,該算法規(guī)定一種基于動態(tài)速率選擇的AMSDU聚合長度計算方法,明確了由于環(huán)境因素導(dǎo)致的降帶寬情況下的處理方法,提出一種完整的幀聚合實現(xiàn)算法。實驗結(jié)果表明,該機(jī)制既能夠通過提高M(jìn)AC層效率提高數(shù)據(jù)吞吐率,又能在降帶寬的情況下,保證數(shù)據(jù)正確性和魯棒性。
1 幀聚合機(jī)制
IEEE 802.11ac標(biāo)準(zhǔn)中的聚合機(jī)制按照聚合所處的位置,分為處于MAC頂端的AMSDU聚合[5]和處于MAC底端的AMPDU聚合[6-7]。
AMSDU聚合機(jī)制將網(wǎng)絡(luò)協(xié)議上層傳遞下來的以太幀(MSDU)按照發(fā)送端、接收端和服務(wù)類別是否遵循同一個原則封裝在一起,AMSDU封裝過程如圖1所示。其中,AMSDU支持的最大長度在IEEE 802.11ac標(biāo)準(zhǔn)的VHT能力描述中有所提及,值一般為3 839字節(jié)、7 935字節(jié)或 ?11 510字節(jié)。在塊確認(rèn)策略建立時決定是否支持AMSDU。從圖1可以看出,多個MSDU封裝在一起成為AMSDU聚合機(jī)制可以有效減少該數(shù)據(jù)幀在封裝成IEEE 802.1數(shù)據(jù)幀時的數(shù)據(jù)幀頭。
AMPDU聚合機(jī)制[8-9]將具有相同地址和服務(wù)類別的MPDU幀(將上層遞交下來的MSDU或者AMSDU加上MPDU幀頭)聚合在一起,并且在每個MPDU開始處加上一個32bit的短MPDU分隔符,之后,將AMPDU聚合幀封裝成一個PPDU遞交給PHY層。其封裝格式如圖2所示。
其中,AMPDU最大聚合長度也在IEEE 802.11ac標(biāo)準(zhǔn)的VHT能力描述中提到,值一般為8k、16k、32k、64k、128k、256k、512k、1024k等。其中,32bit的分隔符用于軟件實現(xiàn)定界,防止在其中某個幀破壞的情況下,系統(tǒng)也可以通過分隔符提取下一個正常的MPDU,增強(qiáng)AMPDU穩(wěn)健性。從圖2可以看出,多個MPDU聚合成一個AMPDU也可減少在每個MPDU前加上對應(yīng)PHY層前導(dǎo)致的開銷。
由于AMPDU聚合的長度比AMSDU聚合長度大,所以與AMSDU相比,AMPDU對于MAC層性能提升效果更明顯。一般情況下,AMSDU與AMPDU一起使用的效果并不會比單用AMPDU好,但是在傳送大量短分組或者在PHY層速率很高的情況下,兩種機(jī)制同時使用會增加聚合傳輸?shù)臄?shù)據(jù)量,增加無線數(shù)據(jù)吞吐率。本文主要依據(jù)無線網(wǎng)絡(luò)系統(tǒng)中動態(tài)速率選擇的實時使用速率決定AMSDU聚合長度。
2 幀聚合實現(xiàn)算法
隨著IEEE 802.11標(biāo)準(zhǔn)無線網(wǎng)絡(luò)通信協(xié)議的發(fā)展,提高無線網(wǎng)絡(luò)設(shè)備吞吐率[10]成為研究熱點,引入MAC層的AMPDU和AMSDU聚合機(jī)制可以有效提高M(jìn)AC層傳輸效率,從而提高無線網(wǎng)絡(luò)設(shè)備吞吐率。目前IEEE 802.11標(biāo)準(zhǔn)和相關(guān)文獻(xiàn)中尚未對聚合機(jī)制作統(tǒng)一規(guī)定,本文針對該問題提出一種新的幀聚合算法系統(tǒng)框架,其基本算法系統(tǒng)框架如圖3所示。
該系統(tǒng)第一步是AMSDU聚合機(jī)制,該機(jī)制主要功能是將從協(xié)議棧接收的以太幀按照某種規(guī)則聚合成AMSDU幀,并將AMSDU幀遞交給AMPDU聚合模塊。AMSDU聚合規(guī)則為發(fā)送端、接收端和服務(wù)類別是否為同一個,并且聚合長度由動態(tài)速率選擇選取的速率決定,其基本算法流程如圖4所示。
在AMSDU聚合算法中,分兩種情況處理。一種情況為目前存在正在聚合的AMSDU幀,在這種情況下,需要將由協(xié)議棧新下發(fā)的MSDU幀聚合在AMSDU幀尾部;另一種情況為目前不存在正在聚合的AMSDU幀,需要創(chuàng)建一個新的AMSDU幀,并把由協(xié)議棧新下發(fā)的MSDU幀放在AMSDU的第一個位置。另種,兩種情況的結(jié)束條件均為達(dá)到AMSDU可以聚合的最大長度。本文獲取AMSDU可以聚合的最大長度是以動態(tài)速率選擇算法選擇的速率作為依據(jù)計算而來,其理論依據(jù)為選擇發(fā)送速率比較大的情況下,數(shù)據(jù)吞吐率比較大,可支撐AMSDU聚合長度的能力相應(yīng)提高,所以AMSDU可以聚合的最大長度與數(shù)據(jù)發(fā)送速率強(qiáng)相關(guān),其中,該系統(tǒng)選擇的動態(tài)速率選擇算法是自適應(yīng)動態(tài)速率反饋(Adaptive Auto Rate Feedback,AARF)算法[11-12],則AMSDU可以聚合的最大長度的算法如式1所示。
其中,[lamsdu]為AMSDU能夠聚合的最大長度,MCS為調(diào)制編碼機(jī)制(modulation and coding scheme,MCS),即幀發(fā)送選取的速率,[Nss]為空間流數(shù)目(number of spatial streams,NSS),即幀發(fā)送選取的空間流數(shù)目,1550bytes為以太網(wǎng)MTU值。
AMPDU聚合算法主要是將AMSDU幀進(jìn)行聚合。首先,為保證AMPDU數(shù)據(jù)幀完整性,所以必須保證AMPDU幀在未結(jié)束聚合之前不能發(fā)送。在該情況下,如果發(fā)送的幀之間時間間隔較長,則會產(chǎn)生由于等待聚合導(dǎo)致的信道帶寬浪費。針對該問題,本文引入幀聚合定時器,即當(dāng)兩幀發(fā)送時間間隔滿足一定時間差則聚合;否則,不聚合。算法流程為:
步驟一:第i個AMSDU幀進(jìn)入AMPDU聚合模塊,記錄當(dāng)前時間[Ti];
步驟二:如果[(Ti-Ti-1) 其次,AMPDU聚合幀長度是由空間流數(shù)目(number of spatial streams,NSS)、帶寬(band width, BW)、保護(hù)間隔(guard interval,GI)和特定通信類別的有界時段(transmit opportunity,TXOP)計算而來。其計算方法為: 其中,[lampdu]為AMPDU聚合最大長度,TXOP為特定通信類別的有界時段,[f(BW,GI,NSS)]為由BW、GI、NSS計算出的IEEE 802.11ac標(biāo)準(zhǔn)的PHY層速率。本文按照無線網(wǎng)絡(luò)設(shè)備的最大能力計算AMPDU聚合長度,所以在計算IEEE 802.11標(biāo)準(zhǔn)速率時按照最大帶寬計算,但是由于無線網(wǎng)絡(luò)環(huán)境不穩(wěn)定導(dǎo)致出現(xiàn)降帶寬的情況,例如由原先160M的帶寬[13-14]降到80M,甚至降到20M,在這種情況下,繼續(xù)使用公式(2)會出現(xiàn)丟包。針對該問題,本文提出一種針對降帶寬情況的解決方法,有效降低丟包率。其算法基本步驟如下所示: 步驟一:根據(jù)[f(BW,GI,NSS)]公式分別計算20M、40M、80M和160M帶寬下的速率,并且用一維數(shù)組存儲; 步驟二:AMPDU聚合時,按照最大帶寬計算的長度聚合AMPDU,但是在20M、40M、80M和160M對應(yīng)長度的幀處統(tǒng)一做標(biāo)記; 步驟三:當(dāng)系統(tǒng)出現(xiàn)降帶寬,則記錄當(dāng)前帶寬,并且將已經(jīng)按照最大帶寬聚合的AMPDU拆分成當(dāng)前使用帶寬對應(yīng)長度的子AMPDU塊,重新發(fā)送出去。 3 實驗結(jié)果及分析 本文基于IEEE 802.11ac協(xié)議標(biāo)準(zhǔn),提出了一種新的聚合實現(xiàn)算法,一方面提出一種基于動態(tài)速率標(biāo)準(zhǔn)的AMSDU聚合長度計算方法;另一方面引入幀聚合定時器控制AMPDU聚合,防止由于不合適的聚合導(dǎo)致性能浪費;最后,提出一種降帶寬情況下的處理機(jī)制。為驗證基于IEEE 802.11ac協(xié)議標(biāo)準(zhǔn)的新聚合實現(xiàn)算法在吞吐率和丟包率[15-16]方面的效果,對該系統(tǒng)進(jìn)行仿真實驗。 實驗采用應(yīng)用層網(wǎng)絡(luò)性能測試工具IPERF,分為服務(wù)器端和客戶端,實驗中服務(wù)器端安裝在設(shè)備處,作為AP進(jìn)行數(shù)據(jù)發(fā)送??蛻舳税惭b在PC處,作為STA進(jìn)行數(shù)據(jù)接收、吞吐量和丟包率統(tǒng)計。其中,設(shè)備為帶有IEEE 802.11ac標(biāo)準(zhǔn)無線網(wǎng)絡(luò)設(shè)備系統(tǒng)的FPGA單板,包括硬件、數(shù)字邏輯部分和軟件驅(qū)動部分。其中,本文使用IPERF發(fā)送數(shù)據(jù)包的長度設(shè)置為1 500byte,空間流數(shù)目[17]為[2×2],物理帶寬[18-19]為80M,保護(hù)間隔[20]為短保護(hù)間隔。另外,由于IPERF運行在應(yīng)用層,所以統(tǒng)計速率為MAC層速率,根據(jù)MAC層與PHY層幀的開銷比例,兩者之間理論比例應(yīng)約為90%。 為驗證基于動態(tài)速率選擇的AMSDU聚合(簡記為動態(tài)速率聚合方法)長度有效性,本文分別進(jìn)行了兩個對比實驗,一個為動態(tài)速率聚合對應(yīng)的MAC層吞吐率統(tǒng)計,另一個為普通聚合方式MAC層吞吐率統(tǒng)計(簡記為普通聚合方法),采用速率作為結(jié)果評價指標(biāo),其單位為Mbps。實驗結(jié)果如表1所示。 從表1中可以看出,當(dāng)IEEE802.11調(diào)試方式設(shè)置在MCS0-MCS5之間時,兩種算法在MAC層的速率均可達(dá)到PHY層速率的90%,所以在低調(diào)制方式時兩者區(qū)別不大,進(jìn)一步驗證了基于動態(tài)速率的AMSDU長度準(zhǔn)確性。當(dāng)IEEE802.11調(diào)試方式設(shè)置為MCS6-MCS9之間時,PHY層性可得到很大提高,此時MAC層效率成為性能瓶頸。從表1可以看出,本文提出的基于動態(tài)速率選擇的AMSDU長度計算方法可極大提高M(jìn)AC層效率。 另外,為了驗證本文提出的降帶寬功能測試,分別對帶有和不帶有降帶寬功能進(jìn)行實驗,實驗內(nèi)容為使用其它商用無線網(wǎng)絡(luò)設(shè)備對本設(shè)備進(jìn)行定頻段干擾,使本設(shè)備產(chǎn)生降帶寬現(xiàn)象,并驗證在兩種情況下的丟包率和吞吐率。 從表2可以看出,無線網(wǎng)絡(luò)設(shè)備在比較嘈雜的環(huán)境下,由于干擾較多導(dǎo)致實際使用的帶寬并不能使用物理帶寬,在這種情況下,需要在降帶寬的同時,對已經(jīng)按照物理帶寬計算的AMPDU進(jìn)行拆分,從而降低丟包率。從表2可以看出,該方法可明顯降低降帶寬情況下的丟包率。 4 結(jié)語 用戶對網(wǎng)絡(luò)性能要求日益提高,因此本文提出了一種基于IEEE802.11ac協(xié)議標(biāo)準(zhǔn)的新聚合實現(xiàn)系統(tǒng),該系統(tǒng)實現(xiàn)了AMSDU和AMPDU兩種聚合結(jié)合的策略。同時,該系統(tǒng)還提出一種基于動態(tài)速率選擇的AMSDU長度計算方法,且在計算AMPDU聚合長度時引入定時器,降低由于AMPDU等待無效聚合請求導(dǎo)致的帶寬浪費,而且引入降帶寬情況下的丟包處理機(jī)制。實驗結(jié)果表明,該系統(tǒng)即可實現(xiàn)AMSDU和AMPDU的合理聚合,解決在高調(diào)制方式下由于MAC性能瓶頸導(dǎo)致的性能下降,同時還可解決降帶寬導(dǎo)致的丟包問題。 參考文獻(xiàn): [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幀聚合機(jī)制在NS-2平臺上的仿真與實現(xiàn)[J]. 電子設(shè)計工程,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層協(xié)議退避機(jī)制與幀聚合技術(shù)的研究與改進(jìn)[D]. 南京:南京郵電大學(xué),2015. [8] 李文達(dá). 基于IEEE802.11 Block ACK機(jī)制的鏈路自適應(yīng)技術(shù)研究[D]. 南京:南京理工大學(xué),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] 張文平. 無線局域網(wǎng)IEEE802.11n高吞吐量MAC層關(guān)鍵技術(shù)研究[D]. 杭州:浙江大學(xué),2007. [12] 魯偉. IEEE 802.11標(biāo)準(zhǔn)中MAC優(yōu)化技術(shù)解析[J]. 信息網(wǎng)絡(luò)安全, 2013(4):43-45. [13] 祖馬特. 幀聚合對IEEE802.11n吞吐量的影響[D]. 武漢:華中科技大學(xué),2010. [14] 刁小林. 基于IEEE802.11n協(xié)議的無線局域網(wǎng)MAC層關(guān)鍵技術(shù)研究與實現(xiàn)[D]. 重慶:重慶大學(xué),2008. [15] 朱建. 基于IEEE 802.11n的WI-FI路由器協(xié)議棧優(yōu)化與實現(xiàn)[D]. 成都:電子科技大學(xué),2014. [16] 何蓉,方旭明,鐘斌. 一種基于價格和效用的幀聚合策略[J]. 鐵道學(xué)報,2011,33(11):46-50. [17] 葉春燕. IEEE802.11n MAC層關(guān)鍵技術(shù)的研究及算法優(yōu)化[D]. 哈爾濱:哈爾濱工業(yè)大學(xué),2008. [18] 崔立功. 高速無線局域網(wǎng)802.11n協(xié)議關(guān)鍵技術(shù)研究[D]. 濟(jì)南:山東大學(xué),2007. [19] 侯麗俊. 無線局域網(wǎng)MAC層幀聚合技術(shù)的研究[D]. 西安:西安電子科技大學(xué), 2013. [20] 王軼歐. WLAN動態(tài)聚合閾值及聚合比例的幀聚合機(jī)制研究[D]. 成都:西南交通大學(xué), 2015. (責(zé)任編輯:江 艷)