李二兵,徐偉強(qiáng)
(浙江理工大學(xué) 信息學(xué)院,浙江 杭州 310018)
10.3969/j.issn.1003-3114.2018.01.11
李二兵,徐偉強(qiáng).基于信道信息統(tǒng)計(jì)的WLAN速率自適應(yīng)算法[J].無線電通信技術(shù),2018,44(1):55-59.
[LI Erbing ,XU Weiqiang.A WLAN Rate Adaptive Algorithm Based on Channel Information Statistics[J].Radio Communications Technology,2018,44(1):55-59.]
基于信道信息統(tǒng)計(jì)的WLAN速率自適應(yīng)算法
李二兵,徐偉強(qiáng)
(浙江理工大學(xué) 信息學(xué)院,浙江 杭州 310018)
隨著802.11協(xié)議簇的新標(biāo)準(zhǔn)越來越多,調(diào)制編碼方式也越來越多,速率越來越高。在不同的信道條件下,針對(duì)如何快速準(zhǔn)確地獲取發(fā)送速率來提高系統(tǒng)在不同條件下的適應(yīng)能力,提出了一個(gè)新型實(shí)用基于信道信息統(tǒng)計(jì)的速率適應(yīng)(RA)算法,稱為ISRA。發(fā)送方在發(fā)送狀態(tài)和探測(cè)狀態(tài)來回切換,在信道條件不停地變化中根據(jù)探測(cè)速率的表現(xiàn)及時(shí)找到合適的發(fā)送速率,提供給發(fā)送狀態(tài)使用。構(gòu)建了一個(gè)用于探測(cè)時(shí)使用的二維速率探測(cè)表,在探測(cè)時(shí),根據(jù)傳輸統(tǒng)計(jì)的更新決定探測(cè)的方向。在實(shí)際的硬件設(shè)備中實(shí)現(xiàn)了該算法,并將實(shí)驗(yàn)所獲得的數(shù)據(jù)與現(xiàn)有的速率控制機(jī)制進(jìn)行比較。實(shí)驗(yàn)證明此方案的信道適應(yīng)能力明顯優(yōu)于內(nèi)核默認(rèn)的minstrel速率適應(yīng)算法。
無線局域網(wǎng);信道條件;速率適應(yīng);Ath9k
TP391.4
A
1003-3114(2018)01-55-5
2017-10-09
國(guó)家自然科學(xué)基金項(xiàng)目(61374020);中國(guó)博士后科學(xué)基金一等資助項(xiàng)目(20080440201)
AWLANRateAdaptiveAlgorithmBasedonChannelInformationStatistics
LI Erbing,XU Weiqiang
(School of Information Science and Technology,Zhejiang Sci-Tech University,Hangzhou 310018,China)
With new standards of 802.11 protocol cluster get more and more,the modulation and coding modes are becoming more and more,and the rate higher and higher.Under different channel conditions,a new practical rate-adaptive (RA) algorithm based on channel information statistics,which is called ISRA,is proposed to obtain the transmission rate continuously and accurately to improve the adaptability of the system under different conditions.The sender switches between transmission state and detection state,and when the channel condition is constantly changing,the appropriate transmission rate is found according to the performance of the detection rate,and is provided for use under transmission state.A two-dimensional rate detection list is used for probing,and the detection direction is determined according to the update of the transmission statistics.The algorithm is implemented in actual hardware device,and the data obtained by the experiment is compared with the existing rate control mechanism.Experiments show that this scheme is superior to the kernel's default minstrel rate adaptation algorithm in channel adaptability.
WLAN; channel condition; rate adaptation; Ath9k
無線網(wǎng)絡(luò)因其移動(dòng)性的巨大優(yōu)勢(shì),更容易部署、減少維護(hù)和配置成本。 例如,無線技術(shù)被廣泛地應(yīng)用在工業(yè)控制系統(tǒng)自動(dòng)化[1]、醫(yī)療保健、生物醫(yī)學(xué)系統(tǒng)[2]和智能機(jī)器人系統(tǒng)[3]。但是多數(shù)情況下信道條件在不停地動(dòng)態(tài)變化,由于無線信道遭受不受控制的干擾、接收站的流動(dòng)性和來自隱蔽站對(duì)信道資源的爭(zhēng)奪,導(dǎo)致吞吐量性能比較差。如何及時(shí)調(diào)整數(shù)據(jù)發(fā)送速率來減少對(duì)系統(tǒng)性能的影響,成為研究的焦點(diǎn)。速率適應(yīng)(RA)是802.11設(shè)備基礎(chǔ)資源的管理問題,它的目標(biāo)是在不同的環(huán)境下優(yōu)化無線鏈路吞吐量。默認(rèn)的內(nèi)核minstrel算法在信道條件較好或者信道條件變化緩慢的情況下能夠擁有很好的表現(xiàn),在信道條件快速變化時(shí)表現(xiàn)卻極劇降低?;谶@個(gè)缺陷,對(duì)默認(rèn)的速率適應(yīng)算法進(jìn)行了改進(jìn)。高速無線網(wǎng)絡(luò)要求一個(gè)基于時(shí)變信道條件的有效控制機(jī)制優(yōu)化速率選擇。在一些文獻(xiàn)中,有一些RA算法專為最近的標(biāo)準(zhǔn)而設(shè)計(jì),但是,其中許多測(cè)試的開展僅使用了網(wǎng)絡(luò)模擬器NS-2。此外,目前這些提出的RA算法沒有在實(shí)踐中使用現(xiàn)有設(shè)備驅(qū)動(dòng),因?yàn)樾枰薷腎EEE 802.11標(biāo)準(zhǔn)。
對(duì)于WLAN,現(xiàn)有的RA算法是采用簡(jiǎn)單直觀的規(guī)則找到最優(yōu)的速率,但在信道條件快速變化中其表現(xiàn)非常遲緩并出現(xiàn)性能下降。那么,需要一個(gè)兼容802.11標(biāo)準(zhǔn)的算法來抵抗各種動(dòng)態(tài)變化。本文設(shè)計(jì)了一個(gè)基于探測(cè)的WLAN實(shí)用速率控制算法,然后在實(shí)際使用的設(shè)備中使用Ath9k驅(qū)動(dòng)程序,而且不需修改現(xiàn)有標(biāo)準(zhǔn)。新的速率適應(yīng)將鏈路條件中的短暫和持續(xù)變化分類,然后控制短期和長(zhǎng)期信道質(zhì)量變化,不斷智能監(jiān)控傳輸歷史并且探測(cè)可能勝過當(dāng)前速率的新數(shù)據(jù)速率,通過有效的傳輸速率調(diào)整來快速適應(yīng)這些變化。因此,它優(yōu)化了無線鏈路上的吞吐量(或延遲)性能。
RA算法可以分為兩類,第一類基于統(tǒng)計(jì)的算法(例如ARF[4]、AARF[5]、SampleRate[6]和ONOE[7])和第二類基于信號(hào)測(cè)量的算法(例如,CHARM[8]、RBAR[9]、OAR[10]和Goodput Analysis[11])。在文獻(xiàn)[12]中,提出了一種使用混合方法收集的傳輸統(tǒng)計(jì)并測(cè)量接收信號(hào)強(qiáng)度信息(RSSI)提高網(wǎng)絡(luò)多媒體性能的應(yīng)用。一些RA的績(jī)效評(píng)估算法出現(xiàn)在文獻(xiàn)[13-14]中。
Ath9k是一個(gè)完全免費(fèi)和開源的用于Atheros芯片組的Linux設(shè)備驅(qū)動(dòng)程序,它是在802.11系列的WLAN卡進(jìn)行操作。Ath9k驅(qū)動(dòng)程序維護(hù)了一些FIFO(先進(jìn)先出)隊(duì)列。每當(dāng)一個(gè)數(shù)據(jù)從網(wǎng)絡(luò)層接收到,驅(qū)動(dòng)程序添加適當(dāng)?shù)腎EEE 802.11 MAC頭與必要的信息并將數(shù)據(jù)包插入一個(gè)FIFO隊(duì)列。在Ath9k中,Atheros 傳輸為每個(gè)幀指定4個(gè)重試系列(r0/c0,r1/c1,r2/c2,r3/c3)去準(zhǔn)備發(fā)送,每對(duì)具有特定速率ri和最大傳輸嘗試ci。因此,丟失的數(shù)據(jù)包以4個(gè)不同速率來傳輸直到成功或超過重試限制。每幀在(c0+c1+c2+c3)次不成功的傳輸嘗試之后被丟棄。
ISRA算法由兩部分組成,分別是統(tǒng)計(jì)信息更新和發(fā)送速率選擇。前者是估計(jì)機(jī)制,用來估算信道質(zhì)量;后者是響應(yīng)機(jī)制,實(shí)現(xiàn)速率的自適應(yīng)調(diào)節(jié)。本文算法采用‘S’型的速率調(diào)節(jié)方式,如圖1所示,通過不斷地在子集間和子集內(nèi)來回切換搜索,選擇出最佳的發(fā)送速率以獲得吞吐量性能的最大化,當(dāng)無線信道狀況發(fā)生變化時(shí),首先選擇在同一個(gè)速率子集內(nèi)進(jìn)行向上/向下搜索,直到取得該區(qū)間內(nèi)吞吐率性能的最大值;然后選擇向右/向左切換到不同的速率子集進(jìn)行搜索,判斷是否存在更高吞吐率的發(fā)送速率。
圖1 ISRA算法的速率調(diào)節(jié)示意圖
本文提出一個(gè)實(shí)際的基于發(fā)送的算法,這是隨著無線信道條件變化的自調(diào)整和快速響應(yīng)。它是一個(gè)開環(huán)RA的算法不需要來自接收器的任何顯式反饋,僅監(jiān)視二進(jìn)制ACK(隱式反饋),ISRA算法是通過速率組來實(shí)現(xiàn)對(duì)速率的管理。MCS_group是一個(gè)根據(jù)MCS(調(diào)制與編碼策略)組成的長(zhǎng)度為8的數(shù)組;rate_group是一個(gè)長(zhǎng)度為8的數(shù)組,按照空間流數(shù),是否支持SGI和使用的帶寬分為不同速率,其配置順序如表1所示。
表1 速率的分類
組號(hào)空間流數(shù)是否支持SGI帶寬的選擇20MHz/40MHz01否2012否2021是2032是2041否4052否4061是4072是40
在每個(gè)子集MCS中,速率按從低到高排序,這樣就構(gòu)成了二維的速率探測(cè)表rateProbeTable[MCS_group][Rate_group]。如圖1所示,當(dāng)需要探測(cè)的時(shí)候,從rateProbeTable選擇需要探測(cè)的速率。
ISRA 算法保持當(dāng)前信道對(duì)每個(gè)使用過的傳輸速率的統(tǒng)計(jì)(包括吞吐率、投遞率、吞吐率與投遞率的加權(quán)平均、PER)。在ISRA 算法中,收集發(fā)送方的統(tǒng)計(jì)數(shù)據(jù)分為兩類以適應(yīng)時(shí)變信道的特征。長(zhǎng)期統(tǒng)計(jì)和短期統(tǒng)計(jì)通過監(jiān)測(cè)的傳輸結(jié)果不斷更新。長(zhǎng)期統(tǒng)計(jì)維持適應(yīng)的傳輸速率,保證這個(gè)吞吐量的長(zhǎng)期最大化。其潛在的最佳速率通過觀察在探測(cè)階段的傳輸吞吐率與投遞率的加權(quán)平均值來決定。短期統(tǒng)計(jì)用于控制傳輸速率應(yīng)對(duì)瞬態(tài)變化來提高系統(tǒng)響應(yīng)能力。無線鏈路通常表現(xiàn)多樣,不遵循固定成敗模式。在這種情況下,連續(xù)接收和丟失ACK幀反映出信道條件在短時(shí)間內(nèi)快速改善和惡化。
在單輸入單輸出(SISO)情況下,決定只是簡(jiǎn)單的一步步提升或降低,這可能導(dǎo)致過早的速率切換決定。然而,在MIMO技術(shù)的情況下,附加的發(fā)射天線可用于分集增益。probe()函數(shù)被定期調(diào)用,在可能的探測(cè)方向智能探測(cè)。探測(cè)速率根據(jù)多速率重試機(jī)制進(jìn)行調(diào)整,圖2顯示了6個(gè)自定義的探測(cè)函數(shù),每個(gè)函數(shù)執(zhí)行不同的探測(cè)方向功能,對(duì)應(yīng)于以下功能:Up_Probe()、Down_Probe()、Right_Probe()、Left_Probe()、Left_Up_Probe()和Right_Down_Probe()。分別代表向上探測(cè)、向下探測(cè)、向右探測(cè)、向左探測(cè)、向左上探測(cè)、向右下探測(cè)。
圖2 不同的探測(cè)方向
探測(cè)速率的選擇。在探測(cè)階段,發(fā)送方設(shè)置2個(gè)連續(xù)的探測(cè)序列進(jìn)入Probe狀態(tài),第一個(gè)序列被用于探測(cè)當(dāng)前使用的空間流,其中數(shù)據(jù)的10%是在與max_tp_rate同一個(gè)MCS組的2個(gè)相鄰速率發(fā)送的。因此多速率重試序列r1=Up_Probe()、r2=max_tp_rate、r3=Down_Probe();第二序列中的探測(cè)是基于目前使用的流的數(shù)量,10%的數(shù)據(jù)包在另一個(gè)窗口被發(fā)送在其他候選的速率;如果發(fā)送方只有一個(gè)空間流,向右進(jìn)行高速率探測(cè),調(diào)用的函數(shù)是Right_Probe()和Right_Down_Probe();否則,對(duì)于其他情況向左進(jìn)行低速率探測(cè),調(diào)用的函數(shù)是Left_Probe()和Left_Up_Probe();在探測(cè)期間,max_tp_rate保持在多速率重試序列中。在這2個(gè)探針序列之后,發(fā)送者返回Tx(發(fā)送)狀態(tài)。每個(gè)速率發(fā)送完后調(diào)用minstrel_ht_update_caps()函數(shù),對(duì)速率參數(shù)進(jìn)行更新,對(duì)所有探測(cè)的5個(gè)速率的表現(xiàn)(吞吐率與投遞率的加權(quán)平均)進(jìn)行評(píng)估,得到最佳速率在二維速率探測(cè)表中的索引sample_idx。
速率選擇由get_rate()功能控制,它決定了新的發(fā)送數(shù)據(jù)包的速率ri。在獲得成功發(fā)送速率的sample_idx后,用這個(gè)速率與當(dāng)前吞吐率最高的速率max_tp_rate進(jìn)行比較,如果sample_idx速率大于max_tp_rate,sample_idx速率就會(huì)成為當(dāng)前新的吞吐率最高的速率max_tp_rate,也就是接下來的發(fā)送速率,否則max_tp_rate不變。
在ISRA算法中,鏈路質(zhì)量的短期變化由多速重試系列控制,長(zhǎng)期的變化是通過操縱來改變r(jià)i的值。高速率在信道條件下降時(shí)可能導(dǎo)致額外重傳。另一方面,低速率可能導(dǎo)致傳輸減少速度相當(dāng)快。多速率重試系列在發(fā)送(Tx狀態(tài))和探測(cè)(Probe)期間使用。對(duì)于這2個(gè)狀態(tài)可能不止一次嘗試,不要第一次嘗試失敗就急于去降低速率,因?yàn)楹芸赡苓@樣的失敗是由于碰撞引起的。因此,將c2設(shè)置為2,這意味著第一次和第二次嘗試使用長(zhǎng)期的速率在傳播期間或保護(hù)期間的探測(cè)。同樣,c1和c3重試限制設(shè)置為2個(gè),以確??焖龠m應(yīng)短期信道變化。其他子集間的速率探測(cè)也都是設(shè)置c為2。
ISRA方案中,對(duì)每個(gè)站長(zhǎng)期的傳輸速度的minstrel_ht_rate_status根據(jù)發(fā)送方的狀態(tài)。狀態(tài)轉(zhuǎn)換和使用功能如圖3所示,發(fā)送方有2種狀態(tài),即Tx狀態(tài)和Probe狀態(tài)。在每一輪中,發(fā)送方周期性地移動(dòng)在這2種狀態(tài)之間并且不斷地更新相關(guān)統(tǒng)計(jì)。發(fā)送方調(diào)整長(zhǎng)期MCS,兩個(gè)時(shí)期的統(tǒng)計(jì)重置,這意味著開始一個(gè)新的回合。
采用長(zhǎng)期統(tǒng)計(jì)和短期統(tǒng)計(jì)相結(jié)合的方式,長(zhǎng)期統(tǒng)計(jì)根據(jù)一段時(shí)間內(nèi)對(duì)數(shù)據(jù)幀發(fā)送狀態(tài)的統(tǒng)計(jì)來決定當(dāng)前的發(fā)送速率,短期統(tǒng)計(jì)采用多速率重試機(jī)制。同時(shí),發(fā)件方觀察當(dāng)前速率的傳輸結(jié)果。具體來說,根據(jù)監(jiān)控PER來計(jì)算吞吐量。在實(shí)踐中,TCP的平均碰撞率約為11%,因此PER值相比這個(gè)閾值較小時(shí)被忽略。長(zhǎng)期傳輸速率調(diào)整后,下一個(gè)探測(cè)時(shí)間probe_interval被設(shè)置為默認(rèn)周期60 ms。
圖3 發(fā)送方的傳輸狀態(tài)
本文在有無線干擾的實(shí)驗(yàn)室進(jìn)行了性能驗(yàn)證,基于不同的信道條件,把ISRA算法與內(nèi)核默認(rèn)的minstrel算法進(jìn)行了性能比較。
在實(shí)驗(yàn)中使用Intel Core i3的cpu和內(nèi)核版本為3.11.0-15的ubuntu 12.04操作系統(tǒng)。部署一個(gè)TDMA AP在帶有英特爾酷睿i3的筆記本電腦上,其他4個(gè)筆記本電腦作為站。每個(gè)TDMA節(jié)點(diǎn)配備Atheros 系列的無線網(wǎng)卡,默認(rèn)采用ISRA速率適應(yīng)算法。網(wǎng)絡(luò)拓?fù)鋵?shí)驗(yàn)?zāi)P腿鐖D4所示。
圖4 網(wǎng)絡(luò)拓?fù)鋵?shí)驗(yàn)?zāi)P?/p>
以minstrel算法作為參考,圖5給出了不同速率適應(yīng)算法的TCP吞吐量性能比較。所有的測(cè)試都是由站主動(dòng)發(fā)起,并與網(wǎng)絡(luò)連接點(diǎn)AP實(shí)現(xiàn)上層流量的通信。
圖5(a)與圖5(b)分別是minstrel方法的客戶端與服務(wù)端,圖5(c)與圖5(d)分別是ISRA方法的客戶端與服務(wù)端。在進(jìn)行多次實(shí)驗(yàn)后,通過圖5(a)與圖5(c)、圖5(b)與圖5(d)的對(duì)比可以發(fā)現(xiàn),相同的系統(tǒng)條件狀況下,采用ISRA算法明顯比minstrel算法吞吐量要高。圖6給出的是在一個(gè)實(shí)驗(yàn)室環(huán)境中,每個(gè)站發(fā)出請(qǐng)求在不同速率算法條件下的最大吞吐量。
(a)Minstrel算法的客服端
(b)Minstrel算法的服務(wù)端
(c)ISRA算法的客服端
(d)ISRA算法的服務(wù)端圖5 不同速率適應(yīng)算法的TCP吞吐量性能比較
圖6 2種速率適應(yīng)算法性能上的比較
研究了無線局域網(wǎng)絡(luò)速率自適應(yīng)算法的改進(jìn)問題,綜合考慮了信道條件各種情況下的發(fā)送策略。首先介紹了內(nèi)核默認(rèn)的速率發(fā)送機(jī)制以及它的不足,然后提出了ISRA算法。一方面通過長(zhǎng)期統(tǒng)計(jì)來提高系統(tǒng)穩(wěn)定性,另一方面通過短期統(tǒng)計(jì)來提高系統(tǒng)的響應(yīng)性。最后在Ath9k驅(qū)動(dòng)中實(shí)現(xiàn)ISRA算法,在實(shí)驗(yàn)室中通過測(cè)量對(duì)比發(fā)現(xiàn),ISRA算法比內(nèi)核默認(rèn)的minstrel算法在吞吐量性能上提高8%左右,表明了ISRA算法在速率控制上具有良好的性能。后續(xù)工作將會(huì)在鏈路調(diào)度的優(yōu)先級(jí)上展開。
[1] Song J, Han S,Mok A,et al.Wireless HART: Applying Wireless Technology in Real-Time Industrial Process Control[C]∥ IEEE Real-Time and Embedded Technology and Applications Symposium.IEEE Computer Society,2008:377-386.
[2] Zhang W, Zhu X,Han S,et al.Design of a Network-based Mobile Gait Rehabilitation System[C]∥ IEEE International Conference on Robotics and Biomimetics.IEEE,2015:1773-1778.
[3] Han S, Mok A K,Meng J,et al.Architecture of a Cyberphysical Avatar[C]∥ ACM/IEEE International Conference on Cyber-Physical Systems.IEEE,2013:189-198.
[4] Kamerman A, Monteban L.WaveLAN?-II: a High-performance Wireless LAN for the Unlicensed Band[J].Bell Labs Technical Journal,2010,2(3):118-133.
[5] Lacage M, Manshaei M H,Turletti T.IEEE 802.11,Rate Adaptation: a Practical Approach[C]∥ ACM International Symposium on Modeling,Analysis and Simulation of Wireless and Mobile Systems.ACM,2004:126-134.
[6] Bicket J C.Bit-rate Selection in Wireless Networks[D].NewYork:Master’s Thesis Mit,2005.
[7] ONOE Rate Control[OL].Available: http:∥www.madwifi.org/browser/madwifi/trunk/ath_rate/onoe.
[8] Judd G, Wang X,Steenkiste P.Low-overhead Channel-aware Rate Adaptation[C]∥Proceedings of the 6th International Conference on Mobile Systems,Applications,and Services,New York,USA,2008: 118-131.
[9] Holland G, Vaidya N,Bahl P.A Rate-adaptive MAC Protocol for Multi-Hop Wireless Networks[C]∥ ACM,2001:236-251.
[10] Sadeghi B, Kanodia V,Sabharwal A,et al.OAR: An Opportunistic Auto-Rate Media Access Protocol for Ad Hoc Networks[J].Wireless Networks,2005,11(1-2):39-53.
[11] Qiao D,Choi S,Shin K G.Goodput Analysis and Link Adaptation for IEEE 802.11 a Wireless LANs[J]. IEEE Transactions on Mobile Computing,2002,1(4): 278-292.
[12] Haratcherev I,Langendoen K,Lagendijk R,et al.Hybrid Rate Control for IEEE 802.11[C]∥Proceedings of Acm Mobiwac,2004:10-18.
[13] Pal S,Kundu S R,Basu K,et al.IEEE 802.11 Rate Control Algorithms: Experimentation and Performance Evaluation in Infrastructure Mode[C]∥ Digital Information,Networking,and Wireless Communications (DINWC),International Conference on.IEEE,2008:105-108.
[14] Yang Y,Marina M,Bagrodia R.Experimental Evaluation of Application Performance with 802.11 PHY Rate Adaptation Mechanisms in Diverse Environments[C]∥ Wireless Communications and Networking Conference,WCNC.IEEE,2006:2273-2278.
李二兵( 1991—) ,男,碩士研究生,主要研究方向: 物聯(lián)網(wǎng)應(yīng)用與開發(fā);
徐偉強(qiáng)( 1975—) ,男,教授,碩士生導(dǎo)師,主要研究方向:物聯(lián)網(wǎng)、無線傳感網(wǎng)絡(luò)、通信網(wǎng)絡(luò)的分布式優(yōu)化與控制等, 承擔(dān)國(guó)家自然科學(xué)基金資助項(xiàng)目(No.61374020,No.61302076);浙江省自然科學(xué)基金資助項(xiàng)目(No.LR15F010002,No.Y17F010088)。