摘要:分析了Ad hoc網(wǎng)絡的多跳性對其TCP性能的影響,提出了一種改進的超時重傳機制。NS2仿真實驗結(jié)果表明提出的方案能有效地改善Ad hoc網(wǎng)絡的TCP性能。
關(guān)鍵詞:Ad hoc網(wǎng)絡; TCP性能; 傳輸時延
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2010)21-5967-02
An Improvement Scheme of TCP Performance base on Ad hoc Network
DAI Wei
(Department of Computer Information Science, Neijiang Normal University, Neijiang 641000, China)
Abstract: Analyze the impact of multi-hops to capability of TCP in Ad hoc network, introduce a modified retransmission mechanism about TCP, simulation results show that the proposed scheme can improve the TCP performance efficiently.
Key words: Ad hoc network; TCP performance; propagation delay time
移動Ad hoc網(wǎng)絡(MANET)是一種具有高度動態(tài)拓撲結(jié)構(gòu)、節(jié)點任意移動的分布式控制自組織網(wǎng)絡,它的各個節(jié)點具備報文轉(zhuǎn)發(fā)能力,通過分層協(xié)議和分布式算法實現(xiàn)網(wǎng)絡的自組織和運行。
Ad hoc網(wǎng)絡具有多跳的特性,多跳連接競爭共享的無線信道會引起丟包。標準TCP協(xié)議會把此種情況當作擁塞進行處理,啟動不必要的擁塞控制機制,使TCP性能受到嚴重影響[1]。
1 多跳特性對TCP性能的影響
1.1 傳輸時延問題
在網(wǎng)絡中,設(shè)從TCP源節(jié)點到目標節(jié)點之間的跳數(shù)為h,數(shù)據(jù)鏈路層實際數(shù)據(jù)傳輸速率為Vlink,MAC協(xié)議的CTS,RTS,ACK消息長度分別為Lcts,Lrts,Lack,TCP數(shù)據(jù)報文和應答報文長度分別為LTCP,LACK,TCP數(shù)據(jù)報文和應答報文每跳的等效傳輸速率分別為:
(1)
(2)
TCP數(shù)據(jù)報文和應答報文每跳傳輸時延分別為:
(3)
(4)
TCP數(shù)據(jù)報文和應答報文的端到端時延為:
(5)
(6)
當Vlink、Lcts、Lrts、Lack、Ltcp、Lack給定以后,則每跳時延為一常數(shù),所以端到端時延將隨節(jié)點數(shù)h的增大而線性增加,因此在單位時間內(nèi)傳輸?shù)臄?shù)據(jù)量會線性減少,即TCP吞吐容量減少。
1.2 擴展的隱藏節(jié)點與暴露節(jié)點問題
在無線網(wǎng)絡中,MAC協(xié)議主要解決當信道使用產(chǎn)生競爭時分配信道使用權(quán)的問題。目前,IEEE802.11DCF已被廣泛地接受為Ad hoc網(wǎng)絡的MAC層協(xié)議,但它本身是針對單跳無線網(wǎng)絡設(shè)計的,當應用于Ad hoc網(wǎng)絡時存在著很多不適應,因為Ad hoc網(wǎng)絡是多跳共享競爭的無線信道,存在著隱藏節(jié)點和暴露節(jié)點問題,引發(fā)TCP吞吐容量減小[2]。
1) 擴展的隱藏節(jié)點問題。為有效解決隱藏節(jié)點問題,802.11DCF協(xié)議采用RTS/CTS機制,而且效果良好。但RTS/CTS機制不能解決擴展的隱藏節(jié)點問題。如圖1所示,網(wǎng)絡中有4個節(jié)點,分別是節(jié)點1、2、3、4,如果節(jié)點1發(fā)送給節(jié)點4的數(shù)據(jù)正經(jīng)過節(jié)點2,通過RTS/CTS機制,節(jié)點3之前會收到節(jié)點2的CTS,而節(jié)點4收不到節(jié)點2的CTS。若節(jié)點4要發(fā)送ACK給節(jié)點3,節(jié)點4便先會發(fā)送RTS給節(jié)點3請求建立連接,而節(jié)點3之前收到了節(jié)點2的CTS,知道信道非空閑,在該次數(shù)據(jù)傳輸結(jié)束之前,不會發(fā)送CTS給節(jié)點4,此時節(jié)點4就是一個擴展的隱藏節(jié)點。
2) 暴露節(jié)點問題[5]。圖1中,在節(jié)點3轉(zhuǎn)發(fā)數(shù)據(jù)給節(jié)點4之前,會先發(fā)送一個RTS給節(jié)點4,收到節(jié)點4返回的CTS后, 節(jié)點3便向節(jié)點4發(fā)送數(shù)據(jù)。如果節(jié)點2需要轉(zhuǎn)發(fā)ACK給節(jié)點1,由于它偵聽到了節(jié)點3的發(fā)送,知道信道繁忙,便會推遲向節(jié)點1發(fā)送ACK,實際上節(jié)點2向節(jié)點1的發(fā)送不會影響節(jié)點3向節(jié)點4的數(shù)據(jù)傳輸,此時節(jié)點2就是暴露節(jié)點。同樣,節(jié)點2的發(fā)送不成功,便會采用BEB算法退避一段時間后再次嘗試接入信道。
為驗證上述理論分析結(jié)果,采用NS2網(wǎng)絡仿真軟件進行模擬仿真。仿真中MAC層協(xié)議為802.11DCF,路由協(xié)議為AODV,仿真時間為120s。從仿真結(jié)果(圖2)分析,在跳數(shù)較少(如1、2)的情況下,不存在隱藏節(jié)點、暴露節(jié)點問題,分組無需競爭無線信道,在跳數(shù)較多(如3、4)時,出現(xiàn)擴展的隱藏節(jié)點與暴露節(jié)點,會出現(xiàn)因目的端ACK無法接入信道而發(fā)生假的路由中斷,開始出現(xiàn)丟包,而且出現(xiàn)擴展的隱藏節(jié)點和暴露節(jié)點越多,信道的競爭越嚴重,丟包率越大。當跳數(shù)大于一定閥值(如5)時,TCP源端與接收端相距較遠,分組可以在多跳鏈路上同時傳輸,丟包與穩(wěn)定性的情況有所改善。
2 改進的超時重傳機制
由于網(wǎng)絡中的跳數(shù)增加不但會引起節(jié)點間的傳輸時延增加,而且一定程度上也會引起丟包率的明顯增加,引發(fā)不需要的擁塞控制機制,而且大量的數(shù)據(jù)包需要重傳,實質(zhì)上也降低了TCP的吞吐容量。基于有線網(wǎng)絡的超時重傳機制不太適合具有多跳特性的Ad hoc網(wǎng)絡。因此我們提出一個改進的超時重傳機制:后退多幀重傳。由于無線鏈路的傳輸質(zhì)量具有時間相關(guān)性,當一個數(shù)據(jù)包發(fā)生超時,其后的多個數(shù)據(jù)包也可能會超時,這樣會導致吞吐量的下降。
TCP的發(fā)送端對發(fā)送的數(shù)據(jù)包進行計時,當某個數(shù)據(jù)包的確認ACK在RTO內(nèi)沒有到達時就啟動重傳機制。
為了研究所提出的改進方案的性能,采用NS2進行模擬仿真。在測試過程中由移動終端連續(xù)發(fā)送2Kbyte的幀給相鄰的路由器。使用一個TCP模擬器通過數(shù)據(jù)包的RTT來判定超時數(shù)據(jù)包的個數(shù)和1Mbyte文件傳輸?shù)耐掏铝俊7抡娼Y(jié)果顯示改變m的值導致RTO的增加和數(shù)據(jù)包超時的次數(shù)減少,TCP的吞吐量得到了改善。如圖3所示,當m值設(shè)為4時,使用后退多幀重傳機制的吞吐量比常規(guī)重傳機制提高了12%。而m值為9時,由于避免了偽超時,這樣使兩者的吞吐量變得非常相近。
3 結(jié)束語
文中分析了Ad hoc網(wǎng)絡的多跳特性對其TCP性能的影響。由于無線信道的競爭機制,一定范圍內(nèi),通信節(jié)點數(shù)越多,節(jié)點間的傳輸時延越大,而且會引起數(shù)據(jù)掉包率的增加,引發(fā)不必要的擁塞控制,實質(zhì)上降低了TCP吞吐容量,指出在數(shù)據(jù)包時延有一定時間相關(guān)性的網(wǎng)絡環(huán)境中,TCP采用后退多幀重傳機制可以有效解決該問題。
參考文獻:
[1] Jacobson V. Congestion Avoidance and Control[J]. IEEE/ACM Trans Networking, 1998,6(3):314-329.
[2] Jacobson V. Modified TCP congestion avoidancealgorithm [R]. Technical Report, Apri1-30,1990:1-22.
[3] Hoe JC. Improving the start-up behavior of acongestion control scheme for TCP[J]. Computer Communication Review, 1996,26(4):270-280.
[4] Song B, Chung K S, Rhee S H. A new TCP congestion control for high-speed long-distance networks[J]. Information networking lecture notes in Computer Science, 2004, 3(9):606-615.
[5] Klemm F, Krishnamurthy S, Tripathi S. Alleviating effects of mobility on tcp performance in ad hoc networks using signal strength based link management. In Proc. of the Personal Wireless Communications, Ven2 ice, Italy, Sep. 2003: 611-624.
[6] Altman E, J imenez T. Novel delayed ACK techniques for imp roving TCP performance in multihop wireless networks. In Proc of the Personal Wireless Communications,Venice, Italy, 2003: 237-253.
[7] 李云, 陳前斌, 隆克平,等.無線自組織網(wǎng)絡中TCP穩(wěn)定性的分析及改進[J]. 軟件學報, 2003,14(6):1178-1186.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文