国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于NS-2的傳輸協(xié)議性能比較與分析

2013-06-17 05:55:14黃海利王曉喃
關(guān)鍵詞:發(fā)送數(shù)據(jù)包率吞吐量

黃海利 ,王曉喃

(1.中國礦業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221116;2.常熟理工學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 常熟 215500)

1 引言

TCP/IP的體系結(jié)構(gòu)已經(jīng)被廣泛應(yīng)用,傳輸層是整個(gè)網(wǎng)絡(luò)體系結(jié)構(gòu)中的關(guān)鍵層.從通信和信息處理的角度看,傳輸層向上面的應(yīng)用層提供通信服務(wù),屬于面向通信部分的最高層,同時(shí)也是用戶功能中的最低層.傳輸層有兩種不同的傳輸協(xié)議,即面向連接的TCP(Transmission control protocol)和無連接的UDP(User da?tagram protocl).

由于兩種協(xié)議各有特點(diǎn)和優(yōu)勢,因此它們適用于不同壞境的應(yīng)用,從而面臨著在不同的網(wǎng)絡(luò)應(yīng)用中該如何正確選擇協(xié)議的問題.深入理解不同協(xié)議的優(yōu)缺點(diǎn)和性能指標(biāo)是應(yīng)用協(xié)議的前提,因此本文從傳輸延時(shí)、丟包率、吞吐量三個(gè)方面分別對(duì)TCP和UDP的性能進(jìn)行了分析,為如何應(yīng)用這兩種協(xié)議提供了參考依據(jù).

2 傳輸協(xié)議

2.1 TCP協(xié)議

TCP是面向連接的傳輸層協(xié)議,即應(yīng)用程序在使用TCP協(xié)議之前,必須建立TCP連接,在數(shù)據(jù)傳送完畢后,必須釋放建立的連接,此過程也稱作三次握手(Three-way handshake).

TCP提供可靠交付的數(shù)據(jù)傳輸,通過TCP連接傳送的數(shù)據(jù)具有如下特點(diǎn):無差錯(cuò)、不丟失、不重復(fù)并且按序到達(dá).TCP使用分組編號(hào),在發(fā)送端對(duì)用戶數(shù)據(jù)進(jìn)行分片,在接收端進(jìn)行重組.接收端接收到數(shù)據(jù)后,都需發(fā)送確認(rèn)消息給發(fā)送方,通知其已經(jīng)成功收到數(shù)據(jù).

TCP采用滑動(dòng)窗口機(jī)制來控制發(fā)送方的發(fā)送速率,發(fā)送方和接收方都維持一個(gè)特定大小的窗口,窗口內(nèi)的數(shù)據(jù)允許發(fā)送.當(dāng)發(fā)送方接收到確認(rèn)幀后,它會(huì)向前移動(dòng)自己的發(fā)送窗口.接收方收到按序到達(dá)的數(shù)據(jù)后,也會(huì)向前移動(dòng)自己的窗口,從而達(dá)到兩個(gè)窗口相互作用控制發(fā)送速率的目的.

網(wǎng)絡(luò)的擁塞是不可避免的,如何防止數(shù)據(jù)擁塞至關(guān)重要,TCP采取如下措施來防止擁塞.在發(fā)送端發(fā)送數(shù)據(jù)之前,并不知道網(wǎng)絡(luò)的負(fù)荷情況,如果將大量的數(shù)據(jù)注入到網(wǎng)絡(luò),很有可能引起網(wǎng)絡(luò)擁塞.慢開始(slow-start)算法是由小到大逐漸增大(按照指數(shù)規(guī)律增長)擁塞窗口的數(shù)值,不斷監(jiān)測網(wǎng)絡(luò)擁塞情況.當(dāng)注入量不斷增大時(shí),必然會(huì)導(dǎo)致?lián)砣?此時(shí),采用擁塞避免機(jī)制解決這個(gè)問題.首先為擁塞窗口設(shè)置一個(gè)慢開始門限,當(dāng)擁塞窗口達(dá)到門限值時(shí)就改用擁塞避免(按照線性規(guī)律變化).當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞時(shí),將慢開始門限值減半,啟動(dòng)慢開始算法.快重傳和快恢復(fù)算法在擁塞避免機(jī)制基礎(chǔ)上進(jìn)行了改進(jìn),只要連續(xù)接收到三個(gè)重復(fù)確認(rèn)幀就重傳接收端尚未收到的報(bào)文段,并把慢開始門限減半.這時(shí),發(fā)送方認(rèn)為網(wǎng)絡(luò)已經(jīng)擁塞,它會(huì)將擁塞窗口設(shè)置為慢開始門限減半后的值,開始執(zhí)行擁塞避免算法.

2.2 UDP協(xié)議

UDP為應(yīng)用程序提供了一種不必建立連接就可以發(fā)送IP數(shù)據(jù)報(bào)的方法.

UDP是無連接的,即在發(fā)送數(shù)據(jù)之前無需建立連接,因此減少了開銷和數(shù)據(jù)傳輸時(shí)延.UDP不保證可靠交付,因此發(fā)送端不需要維持復(fù)雜的連接狀態(tài)表.

UDP沒有擁塞控制,因此當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞時(shí),發(fā)送端不會(huì)降低自己的發(fā)送速率.因此UDP適用于具有如下特點(diǎn)的應(yīng)用:1)要求發(fā)送端以恒定的速率發(fā)送數(shù)據(jù);2)允許在網(wǎng)絡(luò)發(fā)生擁塞時(shí)丟失一些數(shù)據(jù);3)不允許數(shù)據(jù)有太大的時(shí)延.這些應(yīng)用包括IP電話、實(shí)時(shí)視頻會(huì)議等.

圖1 仿真拓?fù)鋱D

3 仿真與性能分析

3.1 仿真參數(shù)

仿真工具采用NS-2,仿真參數(shù)見圖1.源節(jié)點(diǎn)n0采用TCP傳輸cbr數(shù)據(jù),n1采用UDP傳輸cbr數(shù)據(jù).兩條數(shù)據(jù)流在相同配置的鏈路上傳輸,鏈路的帶寬是2 Mbs,鏈路延時(shí)是10 ms.兩條數(shù)據(jù)流由n2接收后再轉(zhuǎn)發(fā)給n3,節(jié)點(diǎn)n3采用sink代理接收數(shù)據(jù).n2和n3之間的鏈路帶寬為1.7 Mbps,延時(shí)為20 ms.上述的設(shè)置是為了產(chǎn)生瓶頸,出現(xiàn)丟包和排隊(duì)現(xiàn)象以便進(jìn)行性能分析.n2隊(duì)列大小為20,數(shù)據(jù)包長度為1000 bytes,cbr發(fā)送速率為1 Mbps.

圖2 TCP與UDP時(shí)延

3.2 性能分析

如圖2所示,TCP協(xié)議下的路由延時(shí)比UDP協(xié)議下的延時(shí)高,主要原因是TCP采用可靠機(jī)制傳輸數(shù)據(jù).發(fā)送端在發(fā)送一個(gè)數(shù)據(jù)包后,必須等待確認(rèn)幀,如果沒有收到確認(rèn)幀,必須進(jìn)行重傳.因此,TCP的傳輸時(shí)間就包括了傳輸?shù)耐禃r(shí)間,從而增加了傳輸延時(shí).與TCP協(xié)議對(duì)比,UDP無反饋機(jī)制,不保證可靠傳輸,所以UDP發(fā)送數(shù)據(jù)的時(shí)間只包括從發(fā)送端到接收端的時(shí)間,從而它的傳輸延遲比TCP短.

由圖3可知,UDP的節(jié)點(diǎn)吞吐量高于TCP的吞吐量.TCP協(xié)議是可靠傳輸,采用滑動(dòng)窗口協(xié)議控制發(fā)送窗口的發(fā)送速率,即接收方和發(fā)送方都維持特定大小的窗口,只有當(dāng)發(fā)送方收到接收方的確認(rèn)幀后,才會(huì)增加自己的窗口.在網(wǎng)絡(luò)狀況擁塞時(shí),如果接收方?jīng)]有收到確認(rèn)幀,它就會(huì)減小發(fā)送窗口的大小,因此導(dǎo)致可以發(fā)送的數(shù)據(jù)量減小.當(dāng)仿真時(shí)間到1.0 s時(shí),UDP流和TCP流開始競爭帶寬,因此TCP會(huì)降低自己的發(fā)送速率,而無反饋流UDP仍然按照原來的發(fā)送速率發(fā)送.所以,TCP的發(fā)送量減少,而UDP沒有改變,從而導(dǎo)致UDP的吞吐量高于TCP.UCP吞吐量相比1.0 s之前會(huì)降低,是由于TCP數(shù)據(jù)流和UDP發(fā)生了競爭,產(chǎn)生了丟包.圖2也說明了TCP和UDP的相互作用會(huì)影響TCP數(shù)據(jù)流對(duì)帶寬的使用率.

從圖4可以看出,TCP的丟包率呈下降趨勢,這是由于TCP的滑動(dòng)窗口和確認(rèn)機(jī)制起了作用.TCP會(huì)定時(shí)檢測網(wǎng)絡(luò)擁塞情況,發(fā)現(xiàn)丟包后會(huì)降低自己的發(fā)送速率,從而也降低了丟包率.UDP不檢測網(wǎng)絡(luò)狀況,也不會(huì)減少發(fā)送速率,因此它的丟包率受TCP發(fā)送數(shù)據(jù)量的影響,從而導(dǎo)致此起彼伏的現(xiàn)象,即TCP流數(shù)據(jù)少,UDP丟包率就少,TCP數(shù)據(jù)流多,UDP丟包率就多.在這里,不能判定由于TCP是可靠傳輸,就斷定UDP的丟包率比TCP的丟包率要高,隊(duì)列大小和cbr參數(shù)都會(huì)對(duì)丟包率造成影響.

圖 5中,cbr從1 mb降低為 0.9 mb,從而得到UDP和TCP的丟包率.從圖5可以看出,丟包率明顯降低,這是因?yàn)閿?shù)據(jù)流的發(fā)送速率降低緩解了網(wǎng)絡(luò)的擁塞情況,從而給接收端提供了充裕的時(shí)間接收數(shù)據(jù).

圖6中,隊(duì)列大小從20改為25.同樣可以提取UDP和TCP的丟包率來比較.從圖6可以看出,丟包率降低,這是由于在網(wǎng)絡(luò)出現(xiàn)擁塞時(shí)隊(duì)列緩存空間的增大可以接收更多的數(shù)據(jù),因此降低了丟包率.

4 總結(jié)及后期工作

由仿真結(jié)果分析,TCP的可靠機(jī)制是用增加延時(shí)減少吞吐量作為代價(jià).不能判定由于TCP是可靠傳輸,就斷定UDP的丟包率比TCP的丟包率要高,怎樣降低丟包率是個(gè)值得思考的問題.增加隊(duì)列大小和降低發(fā)送速率雖然會(huì)降低丟包率,但是也會(huì)帶來其他負(fù)面影響,比如增加隊(duì)列大小會(huì)增加排隊(duì)延時(shí),降低發(fā)送速率會(huì)降低鏈路利用率等.

圖3 TCP與UCP吞吐量

圖4 TCP和UDP丟包率

圖5 不同發(fā)送速率的丟包圖

我們下一步的工作將從以下幾方面入手:

(1)怎樣在一定的網(wǎng)絡(luò)壞境下設(shè)定最優(yōu)值,使數(shù)據(jù)傳輸延時(shí)、丟包率、吞吐量都能達(dá)到最優(yōu)解.

(2)為UDP設(shè)置一個(gè)監(jiān)聽器,監(jiān)聽網(wǎng)絡(luò)擁塞情況,當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞時(shí),以一定概率降低自己的發(fā)送速率.

(3)由于網(wǎng)絡(luò)層的分組丟棄策略對(duì)TCP擁塞控制影響較大,因此,通過改進(jìn)路由算法來提高TCP的性能.

圖6 不同隊(duì)列大小的丟包圖

[1]羅萬明,林闖,閻保平.TCP/IP擁塞控制研究[J]. 計(jì)算機(jī)學(xué)報(bào),2001,24(1):1-18.

[2]Postel J.Transmission Control Protocol[S].RFC 793.1981.

[3]Postel J.User Datagram Protocol[S].RFC 768,1980.

[4]Velten D.Reliable Data Protocol[S].RFC908,1984.

[5]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].5版.北京:電子工業(yè)出版社,2008.

[6]卡薩德.TCP/IP入門經(jīng)典[M].4版.井中月,譯.北京:人民郵電出版社,2009.

[7]柯志享,程榮祥,鄧德雋.NS2仿真實(shí)驗(yàn):多媒體和無線網(wǎng)絡(luò)通信[M].北京:電子工業(yè)出版社,2009.

[8]方路平,劉世華,陳盼,等.NS-2網(wǎng)絡(luò)模擬基礎(chǔ)與應(yīng)用[M].北京:國防工業(yè)出版社,2008.

[9]Andrew Tanenbaum S.Computer Network[M].Fourth Edition.London:Prentice Hall PTR,2004.

[10]劉俊,童學(xué)紅.TCP擁塞控制算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(7):2309-2313.

猜你喜歡
發(fā)送數(shù)據(jù)包率吞吐量
移動(dòng)自組網(wǎng)中MAC層協(xié)議研究
支持向量機(jī)的船舶網(wǎng)絡(luò)丟包率預(yù)測數(shù)學(xué)模型
一種基于噴泉碼的異構(gòu)網(wǎng)絡(luò)發(fā)包算法*
一種新的VANET網(wǎng)絡(luò)鏈路丟包率估計(jì)算法
基于馬爾科夫鏈的LoRaWAN網(wǎng)絡(luò)節(jié)點(diǎn)性能分析
帶標(biāo)記方式的CRDSA++協(xié)議性能分析*
2016年10月長三角地區(qū)主要港口吞吐量
集裝箱化(2016年11期)2017-03-29 16:15:48
2016年11月長三角地區(qū)主要港口吞吐量
集裝箱化(2016年12期)2017-03-20 08:32:27
使用IPSec安全傳輸數(shù)據(jù)
TCN 協(xié)議分析裝置丟包率研究
杭锦旗| 饶阳县| 平邑县| 桃江县| 新丰县| 杭锦旗| 理塘县| 嘉兴市| 金堂县| 长子县| 新泰市| 广州市| 特克斯县| 吉安市| 宣威市| 疏附县| 曲麻莱县| 舒兰市| 南靖县| 灌南县| 安达市| 大同县| 汾阳市| 顺平县| 镇原县| 奉节县| 西平县| 达拉特旗| 永善县| 临安市| 安国市| 淄博市| 云龙县| 江阴市| 延安市| 依兰县| 罗定市| 宁强县| 巧家县| 韩城市| 彰化县|