999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NS-3的衛星鏈路TCP仿真研究

2015-01-15 05:49:58劉志敏
計算機工程與應用 2015年22期
關鍵詞:研究

余 騰,劉志敏

北京大學 信息科學技術學院,北京 100871

1 引言

衛星通信中,關于提高衛星鏈路物理層的傳輸速率的技術已經取得了較大提高,為使鏈路帶寬得到充分利用,使傳輸信息得到可靠保證,設計穩定可靠的傳輸層TCP的協議成為了研究重點[1]。TCP協議通過對應的擁塞控制策略來調整速率,在衛星網絡鏈路環境下,衛星鏈路具有長時延、高誤碼率等特點,應用傳統的TCP協議往往存在慢啟動時間過長,丟包原因判斷不準確,不能有效地利用網絡帶寬等問題[2]。針對衛星網絡鏈路的特點,為改善TCP性能,國內外研究人員做了大量的研究工作,主要成果有:(1)鏈路層的差錯控制,即在鏈路層通過前向糾錯(FEC)或自動重傳請求(ARQ)等機制來進行差錯控制以減小衛星鏈路傳輸錯誤對TCP連接的影響[3]。(2)協議網關技術,主要是采用TCP協議欺騙技術與TCP分段技術[4]。(3)TCP協議改進與加強,指通過對TCP協議進行改進,優化相應參數,加入增強機制等來提高傳輸性能[5]。

上述研究成果對TCP連接性能都有相應的提高,然而相關研究中,關于如何進行TCP仿真以及如何搭建仿真平臺方法研究并不多,本文以此為出發點,旨在提供一種通用靈活的衛星鏈路仿真方法,方便相關研究人員搭建TCP仿真平臺及進行性能的評估。

在現代通信網絡學科的研究中,網絡仿真的作用非常重要,網絡的正確性和有效性很大程度上決定于采用的仿真工具。目前在網絡仿真工具的研發方面,國外已呈現出多項研究成果,如 OPNET,QualNet,GloMoSim,NCTUNS,GTNetS,OMNET++,SSFNet,JiST,Yans和NS-2[6]。但這些仿真軟件還存在著眾多不足。主要問題有:(1)軟件內核的擴展性;(2)現實化軟件的問題;(3)整合軟件的問題;(4)支持虛擬化和實驗床的問題;(5)靈活的跟蹤和統計問題;(6)屬性系統;(7)新模式問題[6]。為了解決這些不足,2006年,美國Washington大學的Thomas R.Henderson教授的小組研究一個全新的網絡模擬工具NS-3,目前己經發布了最新穩定版本NS-3.19。NS-3是一款優秀的離散事件網絡仿真器,且是一個完全開源的項目,由于目前NS-3是個新的網絡仿真軟件,國內外研究人員對NS-3進行研究的成果和報告還比較少,但NS-3語言更加統一、代碼開放性好、模塊集成更好的特點,必將促成NS-3成為未來的主流仿真平臺之一[7]。

當前很多研究工作的網絡仿真都是通過NS-2仿真軟件來實現。NS-3是一款全新的網絡模擬軟件,并不是NS-2的升級版本,而是作為NS-2的替代者。本文將介紹利用NS-3仿真軟件上搭建衛星鏈路仿真平臺,以此建立衛星網絡的TCP連接仿真,進行各TCP擁塞控制算法的分析,提供了一種基于NS-3的TCP連接的仿真方法。讀者可根據此方法仿真衛星鏈路的TCP連接,并擴展到其他場景的TCP連接。

2 衛星通信系統模型

衛星系統通常由一個中心站及若干個遠端站組成,各遠端站間通過衛星鏈路連接。各站可外接多種用戶終端設備,可支持包括話音、數據、視頻等多種業務傳輸。由上章分析知,根據衛星鏈路的特性,想要充分利用鏈路帶寬,需要采用特殊加速的方法。例如在參考文獻[8]中,采用一種PEP技術來實現TCP的加速。PEP技術主要思想為:采取TCP分段技術來來實現TCP加速技術,如圖1所示,即保證提供端到端的可靠性的前提下,將衛星通信系統一個TCP連接分成三段,第一段和第三段為地面段,分別是服務器與加速網關間的連接與加速網關到客戶端的連接;中間段是衛星鏈路,連接著兩個衛星加速網關;因第一段和第三段為地面網絡,采用了傳統的TCP協議(如TCP Reno),第二段采用特殊的TCP協議(如TCP Hybla)[8]。具體網絡結構如圖1所示。

圖1 TCP加速的網絡結構圖

本文搭建仿真平臺后,將通過NS-3仿真軟件仿真此場景,其中在衛星鏈路段將仿真各類TCP協議,進行性能分析,以驗證TCP Hybla是否是適合于衛星鏈路的TCP擁塞控制算法。

不同的TCP協議有著不同的TCP的擁塞控制算法。以常見的TCP Reno為例,其擁塞控制算法由慢啟動、擁塞避免、快速重傳和快速恢復四個階段構成。根據不同場景在四個階段設置不同的算法可衍生出各種TCP協議。本文選取11種TCP協議,分別為Reno,Hybla,Vegas,Cubic,Westwood,Veno,Highspeed,Scalable,Illinois,Htcp,YeAH。關于各TCP擁塞控制算法的詳細算法,有相關文章可供讀者參考,由于文章篇幅限制,本文不再詳述。僅簡要介紹TCP Hybla算法。

Hybla的思想是將傳輸速率獨立于時延差異,通過擁塞控制補償參數來補償長時延對鏈路傳輸速率的下降。Hybla先定義了旨在模擬的參考連接的往返時延RTT0。

ρ=RTT/RTT0

慢啟動和擁塞避免算法公式如下式所示[9]:

慢啟動:W′i+1=Wi'+2ρ-1

擁塞避免:W′i+1=Wi'+ρ2/Wi'

其中W為擁塞窗口。當ρ接近于1時,說明鏈路實際傳播時延RTT與RTT0接近,網絡擁塞的可能性最低,不需要補償傳輸速率。RTT離RTT0偏差隨ρ的增大而增大,即通過擁塞窗口快速增長使傳輸速率迅速得到補償,但此時吞吐量雖迅速提高,也將導致鏈路中有突發的大通信量,實際運用中往往根據鏈路的實際信息預先調整RTT0。

3 NS-3仿真平臺

3.1 仿真環境的建立

為搭建圖1中的仿真環境,本文通過在VMware Workstation虛擬機上安裝Linux操作系統 fedora14,內核版本為2.6.32.59,在fedora下安裝 NS-3.19,作為仿真工具。利用NS-3構建如圖2所示的網絡拓撲仿真環境。

圖2 仿真環境示意圖

由第2章分析可知,整個連接分為1段衛星連接及2段以太網連接。根據以太網的鏈路特性,其中兩段以太網的鏈路相關參數設置為帶寬BW=10 Mb/s,延時delay=1 ns。中間兩個路由模擬衛星網絡中的兩個站點,服務器和客戶端模擬網絡中兩個終端設備。模擬通過服務器向客戶端持續傳輸TCP報文的場景,其中包大小、傳輸速率及衛星鏈路的相關參數將根據不同需求設定,在客戶端接收端口統計吞吐量,每個TCP連接持續10分鐘,統計10分鐘TCP連接的吞吐量。

3.2 使用linux內核中的TCP協議

NS-3目前只提供TCP Tahoe、TCP Reno、TCP Newreno和TCP Westwood四種TCP擁塞控制算法,并不能滿足仿真要求。考慮到NS-3是基于C++語言編寫的開源軟件,而linux內核中有各種TCP擁塞控制算法的源碼,所以本文一項重要研究工作是實現在NS-3中使用linux內核源碼中的TCP擁塞控制算法。

要使NS-3使用linux內核源碼,首先得安裝NSC,NSC(Network Simulation Cradle)是一個用于包裝實際網絡代碼模擬器。下面主要介紹如何安裝NSC,將NS-3與NSC相結合,以及解決此過程中存在的bug的方法。

按照ns-3-tutorial(NS-3官網教程)的安裝方法,執行完命令$./bake.py build,安裝好ns-3后,需手動安裝NSC,安裝步驟如下:

ns-3自從3.16版本后需要手動下載nsc了,執行

下載nsc源碼。下載后執行$./waf configure可得到如下結果:

NetworkSimulationCradle:not enabled(NSC library liblinux2.6.26.so is missing:NSC has not been built?)

解決此問題的方法是執行$python scons.py linux-2.6.26

執行成功后,如果NSC還沒有安裝上就需要手動添加NSC的路徑了,執行命令為:

可看到顯示:

Network Simulation Cradle:enabled

再次運行$./test.py-c core,測試模塊,會出現錯誤:

CRASH:TestSuite ns3-tcp-interoperability

CRASH:TestSuite ns3-tcp-cwnd

CRASH:TestSuite ns3-tcp-loss

這是NS-3目前存在的bug,即安裝過程無法自動檢測NSC三個模塊crash的問題。原因是NSC liblinux libraries需要一個可執行的堆棧。因本文使用的是linux-2.6.26內核源碼,執行如下命令:

結果為PASS TestSuite ns3-tcp-interoperability

表示NSC已安裝成功,此時就可利用NSC中linux kernel中的相關模塊了。本文目的是調用linux內核中的TCP擁塞控制算法,通過調研相關TCP協議及分析內核的源碼,本文挑選出了11種TCP擁塞算法作為仿真對象。

3.3 仿真主要流程

本節主要介紹仿真主要流程及部分關鍵代碼。

(1)節點

節點代表著網絡中的一個點,可以是一臺主機、服務器或路由器。本文仿真環境需要定義四個節點。

(2)配置物理層和信道

使用Helper設置鏈路屬性,如本文設置以太網信道速率為10 Mb/s,時延為1 ns。同樣方法設置衛星鏈路參數。

(3)安裝網絡協議棧

待node、device和channel創建完成后,將用Internet-Stack拓撲來添加棧。在此處設置TCP擁塞控制算法。

(4)Ipv4 地址分配

使用Ipv4AddressHelper給各端口分配Ipv4地址,以dev1(服務器端)為例。

(5)設置衛星鏈路丟包率

Ptrem1=CreateObjectWithAttributes("ErrorRate",DoubleValue(0.05),"ErrorUnit",Enum-Value(RateErrorModel::ERROR_UNIT_PACKET));//設置丟包率為5%

(6)應用程序(創建TCP發送和接收)

①TCP發送

②TCP接收

(7)計算吞吐量

(8)Simulator模擬

4 仿真結果與分析

4.1 仿真結果的正確性確定

由于本文為仿真環境,應驗證仿真環境的有效性和仿真結果的正確性,參考文獻[10]和[11]有類似的仿真環境,如參考文獻[10]仿真了瓶頸鏈路BW=20 Kb/s,丟包率為5%和8%的兩組數據,比較了Cubic、Veno、Hybla和Reno四種擁塞控制算法。本文仿真此場景,得到的仿真結果為 Cubic(15.712 Kb/s)>Veno(14.231 Kb/s)>Hybla(13.629Kb/s)>Reno(11.794Kb/s)和 Cubic(13.287Kb/s)>Veno(11.822 Kb/s)>Hybla(9.785 Kb/s)>Reno(9.199 Kb/s),與參考文獻[10]仿真結果相符;文獻[11]中,一場景鏈路帶寬為BW=1 Mb/s,RTT=0.25 s,采用TCP Cubic傳送文件大小為500 KB的時間為9 s,本平臺搭建相同環境,仿真結果與之相同。綜上,認為仿真本平臺所得仿真結果是正確可靠的。

4.2 吞吐量隨丟包率變化仿真結果

保留時延中如傳播時延、消息處理時延等固定成分,將時延固定在270 ms。分配衛星鏈路帶寬BW=2 Mb/s,觀察丟包率從0.01%增加到10%的過程中,各TCP擁塞控制算法的吞吐量隨丟包率變化的示意圖。

由圖3可知,在分配鏈路帶寬BW=2 Mb/s,衛星鏈路時延為270 ms的典型衛星鏈路情形下,各TCP改進擁塞算法相對傳統TCP Reno算法,吞吐量都有提高。其中TCP Hybla協議能顯著提高吞吐量大小,其吞吐量遠大于其他TCP擁塞控制算法。

圖3 固定帶寬和時延,吞吐量隨丟包率變化

4.3 吞吐量隨時延變化仿真結果

分配衛星鏈路帶寬BW=2 Mb/s。通常衛星鏈路誤碼率為10-6[12],為了同時比較取誤碼率增大時吞吐量的變化,分別設置誤碼率為10-6和10-5,由丟包率公式PLR=1-(1-Pb)L知,衛星鏈路的丟包率為PLR=0.05%和0.5%(設置TCP報文包長度L=520 B)。設置衛星鏈路丟包率為0.05%和0.5%,觀察各TCP擁塞控制算法的吞吐量隨時延變化的示意圖。

由圖4和圖5可知,在低丟包率情形下,如丟包率為0.05%時,在時延300 ms內,TCP Illinois的吞吐量最大,時延大于300 ms時Htcp吞吐量最大;其次是Hybla和Cubic。但TCP Hybla算法受時延影響敏感,如在時延小于350 ms和大于450 ms時,吞吐量與Cubic,Illinois不相上下,但當時延為400 ms時,吞吐量顯著下降,說明發送窗口對時延的過度補償導致了較頻繁的網絡擁塞[10]。當丟包率數值提高時,TCP Hybla算法優勢開始體現,如當丟包率為0.5%時,TCP Hybla算法吞吐量顯著大于其他TCP擁塞算法,雖然在時延為400 ms時吞吐量有下降,但仍優于其他算法。

圖4 帶寬2 Mb/s,丟包率0.05%,吞吐量隨時延變化

圖5 帶寬2 Mb/s,丟包率0.5%,吞吐量隨時延變化

4.4 吞吐量隨帶寬變化的仿真結果

設置時延為270 ms,分別設置鏈路丟包率為0.05%和0.5%,從分配衛星鏈路帶寬BW=120 Kb/s增加到BW=6 Mb/s,觀察各TCP擁塞控制算法的吞吐量隨帶寬變化的情況。

由圖6和圖7可知:

(1)在低丟包率情形下,如丟包率為0.05%時,在分配帶寬小于3 Mb/s時,TCP Hybla和Illinois吞吐量最大,其次是Htcp,但當帶寬繼續增大時,如帶寬大于3 Mb/s時,其余算法的吞吐量隨帶寬增加而增大的趨勢已不明顯。而Hybla的吞吐量則繼續增大。除Hybla外,TCP擁塞控制算法的吞吐量最后都會趨于穩定,不再隨帶寬的增大而增大,此時影響吞吐量的因素為丟包率,不是帶寬。

圖6 時延270 ms,丟包率0.05%,吞吐量隨帶寬變化

圖7 時延270 ms,丟包率0.5%,吞吐量隨帶寬變化

(2)在丟包率更大時,如丟包率為0.5%,TCP擁塞控制算法的吞吐量會更快趨于穩定,且TCP Hybla算法吞吐量顯著大于其他TCP擁塞控制算法,并且在帶寬1 Mb/s時,除TCP Hybla外,其他TCP擁塞控制算法吞吐量已經不再隨帶寬增加而增大。

4.5 仿真結論

綜上可知,在衛星鏈路中,根據衛星鏈路特性選擇取適合于該特性的TCP協議比采用傳統TCP協議具有更高的傳輸效率。具有時延獨立性的TCP Hybla算法是目前最適合衛星鏈路的TCP算法,而且在誤碼率增加和隨帶寬時延積的增加的情況下,性能優勢更顯著,但TCP Hybla基于“時延補償”的優化思想,受參數RTT0的影響。在進一步的研究中,可通過調整RTT0值使Hybla對衛星信道具有更佳優化能力。仿真的結果證明文獻[8]提出的對衛星部署TCP連接是有效的,同樣也驗證了本文所提供的仿真方法及搭建的仿真平臺是正確有效的。

5 結束語

本文以衛星通信系統TCP加速相關工作的研究為基礎,通過在NS-3仿真軟件上搭建衛星鏈路仿真場景,進行衛星鏈路的TCP擁塞控制算法仿真。同時本文實現將NS-3與linux內核模塊結合,介紹其實現方法,并針對此過程中出現的BUG,給出了解決方法。根據參考文獻[8]中提出的TCP加速場景,仿真了linux內核中的11種TCP擁塞控制算法。仿真結果證明了本仿真平臺的靈活性、有效性和正確性。本文的研究成果是提供了一種靈活、可靠的基于NS-3的TCP仿真方法,方便研究人員進行相關科研工作。

[1]Akyildiz I,Morabito G,Palazzo S.Research issues for transport protocols in satellite IP networks[J].IEEE Personal Communications,2001,8(3):44-48.

[2]王健,王海濤.衛星通信網中TCP加速技術研究[J].科學技術與工程,2009,9(11):3148-3152.

[3]楊征,吳玲達.衛星鏈路上TCP改進研究綜述[C]//2005中國計算機大會,2005.

[4]周兆清,陳立軍.TCP/IP協議在衛星鏈路上的應用研究[J].無線電工程,2006,36(1):47-50.

[5]伍文平,肖云,江濤,等.一種基于衛星信道的TCP數據加速方法[J].信息技術,2013(8):105-106.

[6]常秀麗.基于NS-3的Ad Hoc網絡路由協議研究與仿真[D].哈爾濱:哈爾濱工業大學,2010.

[7]張登銀.新型網絡模擬器NS-3研究[J].計算機技術與發展,2009,19(11):80-84.

[8]Alain Pirovano1,Fabien Garcia1,A new survey on improving TCP performances over geostationary[J].Network and Communication Technologies,2013,2(1):1-18.

[9]Caini C,Firrincieli R.TCP Hybla:a TCP enhancement for heterogeneous networks[J].International Journal of Satellite Communications and Networking,2004,22(5):547-566.

[10]段薇,聞翔,向東蕾,等.窄帶無線信道的TCP優化性能研究[J].計算機工程,2010,36(13):99-101.

[11]劉亞娟.同步衛星中繼網絡TCP擁塞控制算法研究[D].重慶:重慶大學,2013.

[12]刁龍龍.衛星網絡鏈路仿真系統的研究與實現[D].長沙:國防科學技術大學,2006.

[13]Marchese M,Rossi M,Petra M G.performance enhancing transport architecture for satellite communications[J].IEEE Journal on Selected Areas in Communications,2004,22(2):320-332.

[14]任勇毛,唐海娜,李俊,等.高速網絡TCP改進協議NS2仿真性能比較[J].計算機工程,2009,35(2):6-9.

[15]張亞生,彭華,谷聚娟,等.衛星TCP加速技術研究[J].無線電通信技術,2010,36(5):29-31.

[16]葉青娣.衛星鏈路中TCP傳輸性能改進與仿真[J].現代電子技術,2010,33(11):51-54.

猜你喜歡
研究
FMS與YBT相關性的實證研究
2020年國內翻譯研究述評
遼代千人邑研究述論
視錯覺在平面設計中的應用與研究
科技傳播(2019年22期)2020-01-14 03:06:54
關于遼朝“一國兩制”研究的回顧與思考
EMA伺服控制系統研究
基于聲、光、磁、觸摸多功能控制的研究
電子制作(2018年11期)2018-08-04 03:26:04
新版C-NCAP側面碰撞假人損傷研究
關于反傾銷會計研究的思考
焊接膜層脫落的攻關研究
電子制作(2017年23期)2017-02-02 07:17:19
主站蜘蛛池模板: 在线免费观看AV| 人妻丰满熟妇啪啪| 亚洲综合片| 国产一区二区三区免费| 日本在线免费网站| 久久精品国产在热久久2019| 18禁不卡免费网站| 黄色网页在线观看| 精品伊人久久久香线蕉| 无码人中文字幕| 国产一级裸网站| 青青草原国产| 亚洲第一视频区| 欧美a网站| www亚洲天堂| 日韩精品一区二区三区大桥未久| 亚洲男人天堂2018| 99久久精品国产自免费| 久久国语对白| 国产91线观看| 乱人伦视频中文字幕在线| 青青草国产一区二区三区| 欧美激情福利| 最近最新中文字幕在线第一页| JIZZ亚洲国产| 四虎影视库国产精品一区| 午夜精品影院| 极品国产一区二区三区| 亚洲一区第一页| 国产久草视频| 天天摸天天操免费播放小视频| 三上悠亚一区二区| 天天爽免费视频| 欧洲成人免费视频| 99精品在线看| av尤物免费在线观看| 亚洲AⅤ综合在线欧美一区| 国产丝袜91| 无套av在线| 国产视频久久久久| 天堂亚洲网| 国产免费久久精品99re丫丫一 | 青青草a国产免费观看| 亚欧成人无码AV在线播放| 欧美一道本| 亚洲综合中文字幕国产精品欧美| 欧美激情福利| 成人小视频在线观看免费| 免费一看一级毛片| a欧美在线| 亚洲天堂网2014| 午夜a视频| 亚洲一区二区在线无码| 天堂av高清一区二区三区| 亚洲男人的天堂在线| 婷婷综合在线观看丁香| 国产成人精品免费视频大全五级| www.亚洲国产| 萌白酱国产一区二区| 丁香五月激情图片| 亚洲三级电影在线播放| 国产成人超碰无码| 狠狠色噜噜狠狠狠狠奇米777 | 欧美在线中文字幕| 中文字幕 欧美日韩| 中文字幕亚洲专区第19页| 国产免费久久精品44| 青青草a国产免费观看| 热久久国产| 欧美综合一区二区三区| 国产精品13页| 日韩欧美中文在线| 欧美色综合网站| 日韩欧美中文在线| 免费国产高清精品一区在线| 韩日无码在线不卡| 国产精品成| 精品久久香蕉国产线看观看gif| 国产精品一区二区不卡的视频| 婷婷伊人久久| 天天做天天爱夜夜爽毛片毛片| 国内精品伊人久久久久7777人|