廖秋麗譚新德
(1.桂林電子科技大學,廣西 桂林 541004;2.桂林星辰科技有限公司,廣西 桂林 541004)
無線Ad hoc網絡中MAC層與TCP層跨層協作技術的研究
廖秋麗1譚新德2
(1.桂林電子科技大學,廣西 桂林 541004;2.桂林星辰科技有限公司,廣西 桂林 541004)
在無線多跳Ad hoc網絡中,網絡的丟包主要是由于MAC層介質競爭引起的,而不是傳統的路由器緩存隊列的溢出。因此,文章分析了四種能反映MAC層競爭程度的擁塞測度,提出基于MAC層擁塞測度的TCP跨層優化協議。通過仿真實驗表明該方法能極大地提高無線網絡性能。
無線Ad hoc網絡;MAC層;TCP層;ECN;跨層協議
有別于常見的蜂窩網絡或無線局域網(終端通過無線接入點AP接入有線網絡),無線Ad hoc網絡(wireless Ad hoc networks)[1]是一種完全由多個無線節點組成的多跳自組織網絡,無線節點之間可以對等地進行直接通信,不再需要通過AP轉發,每一個節點在完成自身的功能之外還必須充當一個路由器,轉發其他節點的數據分組,且無線節點可隨機移動和開關機,其網絡拓撲不可預知地發生變化。Ad hoc網絡的這些特性使得其廣泛應用于軍事、緊急營救、 特殊工作環境及其他個人通訊領域,但其自身的特點同時也給這種網絡的研究和應用帶來了許多困難和挑戰[2]。
網絡信道擁塞程度是網絡性能好壞的重要標志,傳統的TCP協議對網絡擁塞的判斷是由數據包丟失引起的節點的緩存隊列溢出,一旦隊列溢出,所有的輸入分組將被丟棄,網絡進入擁塞狀態,啟動網絡擁塞控制機制。然而,在無線Ad hoc網絡中,網絡丟包并不一定都是由于擁塞引起的,節點移動造成的路由中斷,無線鏈路出錯或MAC層競爭接入信道都會引起TCP數據包的丟失。有研究指出,無線Ad hoc網絡中,網絡的擁塞并不表現為隊列長度的增加,而更多的表現為MAC層競爭造成的阻塞現象[3]。可見,無線Ad hoc網絡的丟包大多是由于MAC層競爭沖突引起。而由于傳統的TCP協議對丟包產生的原因不加以區分,在出現分組丟失時一律采用擁塞避免算法,從而導致TCP吞吐量下降80%左右[4]。若能根據MAC層的狀態來及時調整發送方的發送速率,就可以在一定程度上減少因MAC層信道爭用造成的數據包丟失,從而可以提高網絡的性能。這就是本文利用MAC層參數進行跨層協作從而改進無線多跳Ad hoc網絡中TCP協議性能的出發點。
在無線網絡中,跨層設計的思想已被證明能有效地保障網絡的QOS(服務質量)。跨層協作最大的優點就是信息共享,各層根據共享的信息作出相應的反應以達到提高網絡性能的目的。在跨層設計中,一般只涉及到兩層,上層根據下層提供的信息采取相應的措施,如傳輸層與網絡層,網絡層與物理層,傳輸層與數據鏈路層。由于MAC層最能反映網絡的擁塞情況,故TCP層與MAC層的跨層協作最能提高無線Ad hoc網絡的性能[5]。
1.1 TCP層擁塞控制機制
TCP協議是一種根據網絡帶寬控制網絡負載(通過調整其窗口大小)的自適應傳輸協議,其目的是為了能夠在不引起網絡擁塞的情況下盡可能充分的利用網絡帶寬,同時使各條流公平共享無線鏈路帶寬,為此其使用一種加性增乘性減(Additive Increase Multiplicative Decrease, AIMD)的窗口控制算法,發送端根據網絡負載情況來自適應的動態調節自身的發送速率,進行擁塞控制[6]。實現過程如下:每個發送節點維護兩個窗口:一個是接收方窗口,另一個是擁塞窗口(congestion window, cwnd),發送端按這兩個窗口中較小的那個窗口值來發送分組。當建立一個連接時,發送端的擁塞窗口初始值為1,每收到一個非重復的ACK確認包,其擁塞窗口呈指數增長,這個過程稱為慢啟動(slow start,SS)階段。當擁塞窗口增至慢啟動閾值(slow start threshold),發送端在收到非重復的ACK確認包時,擁塞窗口不再是指數增長,而是加性增加,即將其加1,目的是減小擁塞窗口的增大速率,這個階段稱為擁塞避免(congestion avoidance)階段。如果發送端連續收到有三個重復的ACK或重傳定時器超時,認為網絡發生了擁塞,則將慢啟動閾值設置為當前窗口的一半,同時將擁塞窗口置1,進入慢啟動階段。如果網絡沒有發生丟包行為,擁塞窗口值將繼續增大,直至增大到接收方窗口,它將停止增長,而且,只要一直不丟包且接收方窗口大小不變,則擁塞窗口將保持不變。
1.2 MAC層擁塞測度
MAC層能很好地反映網絡的負載情況,不同的擁塞測度反映網絡情況的精確度也不一樣。現有的MAC層擁塞測度主要有以下幾種:RTS重傳次數,幀服務延時FSD,信道忙碌比Rb和幀傳輸效率R。
(1)RTS重傳次數
在使用RTS/CTS接入方案中,節點發送數據前會先發送RTS幀預約信道,接收方回傳一個CTS幀同意連接,之后進行數據傳送和ACK確認。當RTS幀發生沖突時,節點將重發該RTS幀。如果RTS重傳次數達到最大重傳次數7(IEEE802.11默認值),節點丟棄這個RTS幀以及隨后將要發送的數據幀,可見,RTS重傳次數越大,網絡越擁塞。在文獻[7]中通過實驗證明了MAC層RTS重傳次數與TCP擁塞程度的相關性。在實驗中,當RTS重傳次數超過2時,在整個仿真時間內網絡中數據包的成功傳輸數目最多只有2個,這說明一旦MAC層的RTS的重傳次數超過2,網絡即進入擁塞狀態。
(2)幀服務延時FSD
MAC幀服務延時(Frame Service Delay)定義為MAC層為傳輸這一幀開始偵聽信道到成功接收到ACK的時間間隔,特別的,若達到最大重試次數后,幀仍沒有發送成功,則FSD為MAC層嘗試發送該幀所消耗的時間[8],包括沖突時間和數據傳輸時間。MAC層競爭接入信道越激烈,幀服務延時越長,網絡發生擁塞的可能性越大。當MAC層采用RTS/CTS接入方案時,FSD越大,本質上是RTS重傳次數越多。
(3)信道忙碌比Rb
信道忙碌比(Channel Busyness Ratio)定義為在一段時間間隔內,鏈路層忙碌的時間(包括數據成功傳輸的時間和沖突時間)與總時間的比率[9]。信道越忙碌,表明信道利用率越高,網絡吞吐量越大。而當信道忙碌比Rb大于某一個閾值時,沖突概率急劇增加,信道利用率和吞吐量會急劇下降。
(4)幀傳輸效率R
幀傳輸效率定義為成功傳輸一幀數據的時間間隔與MAC層幀服務延時之比。隨著傳輸概率的不斷增大,幀傳輸效率R不斷減小,特別是在傳輸概率的某一閾值附近,傳輸概率的一點點增加,就會造成R的急劇下降[10]。幀傳輸效率R對MAC層擁塞是很敏感的,所以可以選取幀傳輸效率R作為擁塞指示。
以上4種MAC層擁塞測度,RTS重傳次數實現最簡單,但對擁塞感知的精確度不高;幀服務延時FSD由于與無線節點的跳數和數據包的大小有關,受場景影響較大,故閾值較難確定;信道忙碌比Rb能精確反映信道的擁塞情況,但實現起來較復雜,且時間間隔較難選取;幀傳輸效率R較容易實現,對協議改動不大,且由于幀傳輸效率是一個比值,故閾值較好確定。
1.3 跨層協作
TCP層與MAC層跨層協作是通過ECN(Explicit Congestion Notification,顯示擁塞通告)[11]機制來完成的。ECN機制提供了一種清晰明了的通知方式,來告訴發送端網絡上發生了擁塞。實現思路是:通過擁塞測度判斷網絡發生擁塞時,發送端MAC層把數據包IP頭的服務類型字段中的第7位CE位置1,當接收端收到此數據包時,會在ACK確認包中的TCP頭的保留字段最后一位(定義為ECN-Echo位)置1,發送端收到ACK報文后,查看頭部信息,發送端據此調整自身的發送速率,因此,將ECN機制應用于無線Ad hoc網絡中可以有效地減少由于無線信道競爭沖突引起的報文丟失和避免了不必要的重傳,從而提高了無線網絡的傳輸性能。
本文分別運用RTS重傳次數、幀服務延時FSD、信道忙碌比Rb和幀傳輸效率R作為MAC層擁塞測度,利用ECN機制實施基于窗口的TCP速率調節,從而在無線Ad hoc網絡中實現MAC層與TCP層的跨層協作。
本節通過網絡仿真平臺ns 2.27對圖1所示的場景進行模擬仿真。仿真場景中,所有節點采用IEEE 802.11協議,路由協議為AODV,TCP數據流分別從發送站(1…n)發送到接收站w3,其中發送節點(1…n)只在節點w1的傳輸范圍內,數據包大小為1000字節,仿真時間為300s,其它未聲明的參數設置均采用NS2的默認值。

圖1 模擬場景
各個擁塞測度的擁塞指示門限取值分別為: RTS重傳次數大于等于2,幀服務延時FSD、信道忙碌比Rb和幀傳輸效率R分別為0.03、0.75和0.60。
2.1 測度值分析
圖2、圖3、圖4和圖5是當只有一條TCP數據流時,如果沒有使用ECN機制和分別使用以上四種擁塞測度,分別對應的測度值比較。從中可以看出,使用了基于MAC層擁塞測度的ECN機制后,RTS重傳次數、幀服務延時FSD、信道忙碌比Rb和幀傳輸效率R都趨于穩定,且有明顯改善,表明MAC層競爭沖突程度得到較大地緩解。

圖2 RTS重傳次數的比較

圖3 幀服務延時FSD的比較

圖4 信道忙碌比Rb的比較

圖5 幀傳輸效率R的比較
2.2 性能分析
當圖1仿真場景的發送站個數n為1,3,5,7,9時,分別采用RTS重傳次數、幀服務延時FSD、信道忙碌比Rb和幀傳輸效率R這四個測度為指示信號和不采用ECN機制時的性能比較,如圖6所示。圖6(a)為網絡總吞吐量,圖6(b)為網絡丟包率。

圖6 性能比較
從圖6(a)可以看出,發送節點數n越多,網絡發生擁塞的程度越嚴重,TCP流總吞吐量呈下降趨勢,但與傳統TCP協議相比,使用了MAC層擁塞測度的ECN機制之后,吞吐量下降程度較小,特別是TCP流條數越多,改善越明顯。這是因為發送TCP流條數越多,網絡擁塞的可能性越大,當網絡擁塞時,采用ECN機制的發送端會主動降低發送速率,從而達到減輕網絡負載的目的。從圖6(b)的TCP流丟包率也可看出,使用傳統TCP協議的網絡丟包率遠遠大于使用了MAC層擁塞測度的方法,并且丟包率上升得更快。例如圖6(b)中當連接數n為9時,沒有使用ECN機制的丟包率大約為0.35,分別使用基于RTS重傳次數、幀服務延時FSD和信道忙碌比Rb的ECN機制后的丟包率大約為0.15,而使用基于幀傳輸效率的ECN機制后,TCP流丟包率大約為0.014,基本保證了數據包的可靠傳輸。
綜上所述,在無線多跳Ad hoc網絡中,采用以上四種基于MAC層擁塞測度的ECN機制都能提高網絡性能,且由于擁塞測度的精度不一樣,對網絡性能的提高程度也不一樣。
在無線Ad hoc網絡中,IEEE802.11 MAC層協議對TCP性能影響很大,MAC層能最先感知到網絡的擁塞情況,聯合MAC層與TCP層的跨層設計能提高網絡性能。本文分析了用于跨層設計的各個MAC層擁塞測度(RTS重傳次數、幀服務延時、信道忙碌比和幀傳輸效率),并利用ECN機制完成跨層設計。仿真結果表明,與傳統的TCP協議相比,使用了基于MAC層擁塞測度的ECN機制后,網絡性能得到極大的提高。
[1] Ram Ramanathan, Jason Redi. A brief overview of mobile Ad hoc networks: challenge-s and directions. IEEE Communications Magazine,50th Anniversary Commemorative Issue,2002,(5):20-23.
[2] Imrich Chlamtac, Marco Conti, Jennifer J.-N.Liu. Mobile ad hoc networking:imperativ- es and challenges[J].Ad Hoc Networks,2003,1(1):13-64.
[3] Fu Zhenghua,Zerfos Petros,Luo Haiyun,Lu Songwu, Zhang Lixia, and Gerla Mario.The impact of multihop wireless channel on TCP throughput and loss.Proc.of IEEE INFOCOM’03, April 2003.
[4] Fu Zhenghua, Meng Xiaoqiao, Lu Songwu. How bad TCP can perform in wireless ad hoc networks. Proceedings of IEEE ISCC,2002:298-303.
[5] Vivek Raghunathan and P. R. Kumar,A Counterexample in Congestion Control of Wireless Networks[J].Performance Evaluation,2007,64 (5):399-418.
[6] Allman M,Paxson V, Stevens W, RFC2581,TCP Congestion Control,1999.04.
[7] 葉進,王建新.一種融合MAC層擁塞通告的混合網絡TCP協議[J].高技術通訊,2009,19(4):361-365.
[8] 岳鵬,文愛軍,趙瑞琴,等.IEEE 802.11 MAC幀服務時延分析和在擁塞控制中的應用[J].西安電子科技大學學報, 2008,(3):399-415.
[9] Hongqiang Zhai,Xiang Chen,and Yuguang Fang. Improving Transport Layer Performance in Multihop Ad Hoc Networks by Exploiting MAC Layer Information[J]. IEEE Transactions Wireless Communication,2007,6(5):1692-1701.
[10] 葉進,王建新,廖秋麗.無線ad hoc網絡中基于幀傳輸效率的擁塞控制方法[J].通信學報,2010,31(11):80-86.
[11] Floyd S. TCP and Explicit Congestion Notification[J]. ACM Computer Communicati- on Review, 1994,24(5):10-23.
Performance research of cross-layer protocols based on MAC layer and TCP layer in wireless Ad hoc networks
Packet losses due to link-layer contention dominates in wireless Ad hoc networks, rather than the traditional router buffer overflow. An analysis has been made of four congestion metrics which can reflect the degree of medium contention at the MAC layer in this paper. A cross-layer TCP protocol based on the novel use of congestion metrics at MAC layer was proposed. Extensive simulations show that it can prominently improve transport layer performance in wireless multihop Ad hoc networks.
wireless Ad hoc networks;MAC layer;TCP layer;ECN;cross-layer protocol
TP393
A
1008-1151(2015)03-0034-03
2015-02-13
桂林電子科技大學教育教學改革項目“電子工程訓練教學模式的改革與實施”(ZJW11053)。
廖秋麗(1986-),女(壯族),桂林電子科技大學助教,碩士研究生學歷,研究方向為無線網絡協議優化。