余秋哲,謝凱,龔康奕,阮寧君
(長江大學電子信息學院,湖北 荊州 434023)
賀建彪
(中南大學信息科學與工程學院,湖南 長沙 410083)
?
基于Ad Hoc網絡的數據快速傳輸方法
余秋哲,謝凱,龔康奕,阮寧君
(長江大學電子信息學院,湖北 荊州 434023)
賀建彪
(中南大學信息科學與工程學院,湖南 長沙 410083)
[摘要]Ad Hoc網絡是一種新型的自組網絡,因其架設方便,應用范圍不受環境設備的制約,在近年來得到了研究人員的高度關注。針對擁塞避免在Ad Hoc網絡中無法區分丟包類別而錯誤啟動致使傳輸效率下降的問題,將傳統TCP協議擁塞控制算法進行優化,并在NS-2仿真軟件中通過仿真試驗證實該方法在Ad Hoc網絡中傳輸速率更快、數據包的遺失率更低。
[關鍵詞]Ad Hoc網絡;TCP協議;網絡擁塞;NS-2
Ad Hoc網絡是一種新型的自組織網絡[1],相較于傳統網絡,其沒有專用節點,但其中各個節點又兼具轉發包和路由的功能[2,3]。較之有線網絡和傳統的無線網絡,Ad Hoc網絡的靈活性和可靠性均較為優越。Ad Hoc網絡技術已廣泛應用于軍事通信、災后救援、個人局域網等方面[4],隨著技術的愈發成熟,將運用到更多更復雜的通信環境。
Ad Hoc的架設特點使得網絡中各節點運動軌跡不可預知,運動方式無法獲得,從而節點間的通信缺乏集中管理,交通擁堵可以發生在任何中間節點。在Ad Hoc網絡中,網絡擁塞產生的原因往往不盡相同,所以在傳輸過程中,數據包的丟失也有所差異。傳統TCP協議在此應用往往達不到需要的效果。傳統的TCP協議中運用了4種機制來避免在通信中可能會出現的擁塞問題,分別是慢啟動機制、擁塞避免機制、快速重傳機制和快速恢復機制[5]。這些算法的最初設計是針對鏈路具有較高可靠性的有線傳輸網絡環境,因此TCP協議在設計之初把網絡中的擁塞原因主要歸結為數據分組的丟失。但在自身的鏈路不穩定、節點移動導致的路由不穩定以及單個節點傳輸能力限制的Ad Hoc網絡中,信道干擾強、誤碼率高和競爭激烈都可能造成網絡擁塞,這些因素在傳統TCP協議下不能有效的被區分,網絡擁塞難以正確的解決,使機制的處理效果不明顯[6]。越來越多學者已經意識到原來的TCP協議在Ad Hoc網絡中不可避免的會產生各種各樣的問題[7],并且可以改進的地方都是圍繞鏈路層、網絡層和傳輸層進行。
鏈路層的研究主要圍繞Ad Hoc網絡的中暴露終端和隱藏終端的問題對MAC層協議進行修改。有學者對802.11 MAC協議做了適應性修改,優化了避退算法和重傳機制[8],同時多信道協議也被應用到Ad Hoc網絡中,如跳預約多址接入協議(DC-HRMA)[9]、雙信道接入協議(DCMA)[10]等。網絡層的主要的改進在于路由協議的研究。有不少文獻對DSDV、WRP、AODV、DSR、TORA、ZRP等路由的比較進行了研究[11~14],也有學者在這些協議的基礎上進行修改,提出了LSDSR協議、 M-TORA協議等[15,16]。傳輸層的主要目的就是實現端到端數據的傳輸。傳輸層主要由2個基本的協議TCP和UDP組成,所以對Ad Hoc網絡的研究就是對TCP或UDP的修改,有不少改進協議產生,如SRUDP、ARUDP、 TCP-aware、 Learning-TCP等[17,18]。
傳統TCP協議中,丟包擁塞是擁塞的主要原因,通常通過減少穿過擁擠路徑流做出響應[19]。其主要思路如下:只要發送方判斷網絡出現擁塞,就把ssthresh(慢啟動門限值)設置為出現擁塞時cwnd(擁塞窗口)的二分之一,然后把cwnd置為1,執行慢開始算法[20]。當然,數據包的丟失也可能是由信道干擾等其他原因造成,但傳統TCP協議只對有線傳輸的環境做出有效優化,在該情況中信道的影響對于傳輸來說可以忽略不計,為了協議的簡便,有些學者在設計擁塞控制算法時只能對有線環境進行很好的應答。這些設計運用到移動頻繁、端口節點不穩定、丟包原因多變的Ad Hoc網絡中時,就顯得有些不夠實用。為此,筆者通過對原有擁塞控制機制的修改,使其能夠更好的適應Ad Hoc網絡的應用環境。
1改進算法

圖1 改進算法流程圖
在網絡傳輸的過程中,產生丟包一般可以分為2種:擁塞丟包和隨機丟包。擁塞丟包就是網絡產生擁塞導致的丟包,這個也是有線網絡中最常見的丟包行為,也是傳統TCP擁塞控制算法解決問題的初衷;而隨機丟包則可能是除網絡擁塞以外一切能導致封包丟失的行為引起的丟包,在Ad Hoc網絡中主要原因是節點移動鏈路不穩定,信道噪聲干擾等因素引起。新擁塞避免算法主要重點區別這2種丟包行為,并對不同的丟包行為做出不同的應答方案,具體流程如圖1所示。
在數據傳輸之前,數據的接收端需要和數據的發送端取得聯系。通信的開始,先由數據的接收端向發送端發出數據請求消息;發送端收到來自接收端的請求消息后進行確認,并對其回復確認消息做好連接準備;最后,接收端收到發送端的確認消息后,向服務器發送消息表示已經準備就緒可以建立通信。
在TCP通信建立之后,發送端將產生一個cwnd(擁塞窗口)和一個ssthresh(慢啟動門限值),其中cwnd=1,即一個流量包的大小。
通信開始初期,傳輸應用慢啟動算法,試探性的逐步增大cwnd,來增大網絡吞吐量。每當發送端收到一個來自客戶端的確認信息ACK后,就對原有的cwnd進行增加:
cwnd=2*cwnd
(1)
直到網絡通信出現問題。
在進行慢啟動算法的同時,對每次從發送端發送的數據進行測速,求出發送速率最大值vmax和當前發送的瞬時速率v(t):
(2)
(3)
式中,RTT為流量包的發送時間;RTTmin為流量包的最小發送時間。
由于vmax可以近似的看做網絡無擁塞時的數據傳輸速率,所以,當v(t) n=(RTT-RTTmin)×v(t) (4) 此時,可以通過n的值對丟包事件進行分析。在此,設計一個閾值m與n進行比較,如果n 當發生隨機丟包事件時,由于認定丟包不是由網絡擁塞所引起,所以用快速重傳算法對丟失流量包進行重新發送。在此,令: (5) cwnd=ssthresh+3 (6) 以加大擁塞窗口,增大網絡吞吐量。 當發生擁塞丟包時,則用擁塞避免算法,令: (7) 并將cwnd重新置為1。 當cwnd (8) 由此一來,cwnd重新增大,減小了網絡數據包的注入量,讓網絡擁塞有足夠的時間處理。 當擁塞處理完畢后,網絡需要快速恢復擁塞窗口以充分利用網絡帶寬,故使用快速恢復算法: (9) cwnd=ssthresh+3 (10) 這樣網絡就成功處理了一次擁塞行為,重新恢復到正常的通信狀態。 最后,所有數據發送完畢,客戶端與發送端斷開連接,通信結束。 2試驗 NS-2可以對不同的網絡環境進行仿真,該試驗結果通過NS-2仿真軟件仿真獲得。 圖2 試驗Ad Hoc網絡拓撲結構圖 傳統算法與新算法所產生的吞吐量如圖3所示。從圖3中可以明顯看到新算法的吞吐量要大于原有算法,這就說明了使用新的算法后網絡相比之前更加“通暢”,更多的帶寬得到有效的利用,網絡擁塞得到改善。 從圖4(a)、(b)對比可以得出,新的協議產生的延遲時間明顯低于傳統TCP協議,經計算傳統TCP協議產生的平均延遲時間為0.54672S,新協議產生的平均延遲為0.36259s,傳輸速度提升接近35%,達到了提升傳輸速率的效果。 圖3 網絡吞吐量對比圖 表1是經過多次試驗得到的網絡丟包率平均統計結果,可以看出,改進后算法在丟包率方面較之原有擁塞控制算法有明顯的下降,傳輸的穩定性有所提升。 表1 網絡丟包率表 圖4 網絡延遲對比圖 3結語 在充分研究Ad Hoc網絡傳輸特點之后,發現其中原有的TCP協議擁塞控制算法無法合理的在Ad Hoc網絡中使用。筆者在之前的基礎上添加了判斷丟包類型機制,使擁塞控制更加合理,避免了不必要的帶寬浪費。試驗證明,改進后的算法明顯優于之前的算法,丟包率更低,傳輸速率更快,達到了設計的最初目的。 [參考文獻] [1]鐘梅,李云,趙為糧,等.Ad Hoc網絡中支持QoS的MAC協議研究[J].重慶郵電學院學報(自然科學版),2005(4):464~467. [2]謝壽吾.移動Ad Hoc網絡安全策略研究[D].武漢:武漢理工大學,2007. [3]孫利榮.異步移動Ad Hoc網絡信任模型研究[D].西安:西北工業大學,2005. [4]馮彥君,張方舟,葉潤國,等.Ad Hoc網絡中一種基于端節點的啟發式TCP改進方法[J].微電子學與計算機,2005(1):1~5+9. [5] Stevens W R.TCP/IP詳解卷1:協議[M].范建華 等譯.北京:機械工業出版社,2000. [6]宋建華.Ad Hoc網絡路由的入侵檢測方法研究[D].武漢:華中科技大學,2007. [7]鄭少仁.Ad Hoc網絡技術[M].北京:人民郵電出版社, 2005. [8]黃清艷.IEEE 802.11速率自適應及分段機制研究[D].長沙:國防科學技術大學,2006. [9]魏飛.基于跳預約多址接入的認知無線電MAC協議[J].電力系統通信,2007(6):31~34. [10]鐘紅艷.基于認知無線電Ad Hoc網絡的多用戶接入及通信調度的研究[D].南京:南京郵電大學,2014. [11]謝偉東.Ad Hoc網絡OLSR路由協議的改進與實現[D].廣州:華南理工大學,2010. [12]孫寶林,李臘元.多跳無線移動Ad Hoc網絡路由協議的研究分析[J].小型微型計算機系統,2004(10):1737~1741. [13]李理巖.Ad hoc無線網絡DSR路由協議研究[D].北京:北京郵電大學,2011. [14]施榮華,羅棋峰.一種MANET中基于位置信息的ZRP路由協議[J].湖南大學學報(自然科學版),2009(8):38~42. [15]謝偉東.Ad Hoc網絡OLSR路由協議的改進與實現[D].廣州:華南理工大學,2010. [16]劉強,匡鏡明,王華,等.基于TORA的移動Ad hoc網絡多徑路由協議M-TORA[J].北京理工大學學報,2006(5):442~446. [17]張力,戴冠中.一種無線Ad hoc網絡中的可靠UDP協議[J].計算機仿真,2009(2):162~165. [18]Zhu Jing,Niu Zhisheng.A Reliable TCP-Aware Link Layer Retransmission for Wireless Networks[A].2000 International Conference on Communication Technology Proceedings Volume Ⅰ of Ⅱ[C].Chinese Institute of Electronics,Chinese Institute of Communications,2000. [19]劉梅.面向無線多跳網絡的TCP協議改進研究綜述[J].計算機與現代化,2011(7):45~48. [20]李寧寧.Ad Hoc網絡傳輸控制機制研究[D].濟南:山東師范大學,2006. [編輯]洪云飛 [收稿日期]2016-02-29 [基金項目]國家自然科學基金項目(61272147);湖北省教育廳項目(B2015446);長江大學大學生創新創業訓練計劃項目(20150040)。 [作者簡介]余秋哲(1994-),男,碩士生,現主要從事信號處理、信號傳輸方面的研究工作。 [通信作者]謝凱(1975-),男,博士,教授,博士生導師,現主要從事油氣信息處理和三維地質建模方面的教學與研究工作;E-mail:pami2010@163.com。 [中圖分類號]TN929.5 [文獻標志碼]A [文章編號]1673-1409(2016)16-0057-05 [引著格式]余秋哲,謝凱,龔康奕,等.基于Ad Hoc網絡的數據快速傳輸方法[J].長江大學學報(自科版),2016,13(16):57~61.



