《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 一種改進(jìn)的TCP Westwood算法
一種改進(jìn)的TCP Westwood算法
2015年微型機(jī)與應(yīng)用第15期
趙宇紅,劉海良,張曉琳
(內(nèi)蒙古科技大學(xué) 信息工程學(xué)院,內(nèi)蒙古 包頭 014010)
摘要: 無線網(wǎng)絡(luò)存在高誤碼率、帶寬變化大等特點,針對丟包類型多樣化、擁塞控制中參數(shù)設(shè)置既盲目又單一化等問題,提出了一種TCP Westwood(簡稱TCPW)的改進(jìn)算法TCP-NW,該算法根據(jù)網(wǎng)絡(luò)中帶寬的利用率來區(qū)分丟包類型并細(xì)化擁塞情況,并據(jù)此對CWND(擁塞窗口)和SSTHRESH(慢啟動門限值)值進(jìn)行調(diào)整。仿真實驗表明,TCP-NW算法在網(wǎng)絡(luò)時延、抖動、吞吐量等方面表現(xiàn)穩(wěn)定,對于無線網(wǎng)絡(luò)TCP的傳輸性能有較大的改善。
Abstract:
Key words :

  摘  要無線網(wǎng)絡(luò)存在高誤碼率、帶寬變化大等特點,針對丟包類型多樣化、擁塞控制中參數(shù)設(shè)置既盲目又單一化等問題,提出了一種TCP Westwood(簡稱TCPW)的改進(jìn)算法TCP-NW,該算法根據(jù)網(wǎng)絡(luò)中帶寬的利用率來區(qū)分丟包類型并細(xì)化擁塞情況,并據(jù)此對CWND(擁塞窗口)和SSTHRESH(慢啟動門限值)值進(jìn)行調(diào)整。仿真實驗表明,TCP-NW算法在網(wǎng)絡(luò)時延、抖動、吞吐量等方面表現(xiàn)穩(wěn)定,對于無線網(wǎng)絡(luò)TCP的傳輸性能有較大的改善。

  關(guān)鍵詞: 無線網(wǎng)絡(luò);帶寬估計;擁塞控制;網(wǎng)絡(luò)仿真

0 引言

  隨著網(wǎng)絡(luò)技術(shù)飛速發(fā)展,網(wǎng)絡(luò)中信息量急劇增長,擁塞的問題也日趨嚴(yán)重,網(wǎng)絡(luò)出現(xiàn)擁塞時,如果處理不當(dāng),網(wǎng)絡(luò)通信就會嚴(yán)重受阻,使網(wǎng)絡(luò)處于一種接近癱瘓的狀態(tài)。作為網(wǎng)絡(luò)廣泛使用的傳輸協(xié)議TCP為網(wǎng)絡(luò)中的用戶提供了可信和健壯的端到端網(wǎng)絡(luò)數(shù)據(jù)通信服務(wù),同時該協(xié)議一直備受大多數(shù)學(xué)者的關(guān)注,并取得了很多研究成果。如參考文獻(xiàn)[1]中提出了一種無線傳感器網(wǎng)絡(luò)中基于跨層優(yōu)化的擁塞控制算法;參考文獻(xiàn)[2]提出了基于背景流量變換的組播擁塞控制算法;參考文獻(xiàn)[3]中提出了一種高性能的TCP友好擁塞控制算法;參考文獻(xiàn)[4]中提出了一種基于自同步原則的擁塞控制方法;參考文獻(xiàn)[5]中提出一種基于雙包探測技術(shù)的TCP Westwood算法;參考文獻(xiàn)[6]提出一種基于非線性窗口增長的TCPW改進(jìn)算法;參考文獻(xiàn)[7]中提出了一種Mesh網(wǎng)絡(luò)中基于區(qū)分服務(wù)的擁塞控制機(jī)制。這些算法都對TCP的擁塞控制機(jī)制從不同的方面作出了改進(jìn),但如何使得TCP協(xié)議更好地適應(yīng)無線網(wǎng)絡(luò)環(huán)境特性,依然是一個重要的研究課題。

  TCPW協(xié)議是針對無線特點而設(shè)計的,相對于TCP Reno表現(xiàn)出了更好的性能。但是在無線網(wǎng)絡(luò)環(huán)境中TCPW協(xié)議無法區(qū)分丟包類型,即擁塞丟包和無線丟包(在網(wǎng)絡(luò)沒有出現(xiàn)擁塞時,也會出現(xiàn)丟包的現(xiàn)象,這時丟包原因往往由外界環(huán)境因素引起,使得網(wǎng)絡(luò)本身傳輸信道的信號衰弱或干擾,把這種數(shù)據(jù)包丟失稱為無線丟包),而且在擁塞處理中,參數(shù)的調(diào)整沒有區(qū)分擁塞程度而作統(tǒng)一的處理,這些問題導(dǎo)致網(wǎng)絡(luò)性能受到影響。本文根據(jù)TCPW協(xié)議存在的不足,提出了一種基于TCP的改進(jìn)算法TCP-NW,算法通過測算網(wǎng)絡(luò)中帶寬及帶寬利用率,根據(jù)帶寬利用率來區(qū)分丟包類型并細(xì)化擁塞的不同場景,并據(jù)此對CWND和SSTHRESH值進(jìn)行調(diào)整。仿真實驗表明該算法在一定程度上可以區(qū)分丟包類型及擁塞程度,較大程度上提高了TCP性能。

1 TCPW擁塞控制算法分析

  TCPW算法是專門針對無線網(wǎng)絡(luò)提出的一種擁塞控制算法,是在TCP Reno版本上改進(jìn)而得,在一定程度上提高了網(wǎng)絡(luò)出現(xiàn)丟包時TCP的傳輸性能[8]。TCPW也是由“慢啟動”、“擁塞避免”、“快速重傳”和“快速恢復(fù)”四個部分組成。

  TCPW算法主要通過實時測量來估算網(wǎng)絡(luò)中的帶寬值,并利用帶寬估計值來調(diào)整CWND和SSTHRESH值以達(dá)到擁塞控制的目的。基本流程是,通過持續(xù)不斷地監(jiān)測TCP目的端返回的ACK速率,從而計算出單位時間內(nèi)TCP發(fā)送端發(fā)送的分組數(shù)目和數(shù)據(jù)包大小,計算出網(wǎng)絡(luò)中的帶寬估計值[9-10]。當(dāng)出現(xiàn)擁塞收到3個重復(fù)ACK或RTO超時時,SSTHRESH和CWND的賦值如下:

  1.png

  其中cuurent_bwe是帶寬估計值,size 是數(shù)據(jù)包的大小,min_rtt_estimate是測量中的最小RTT。

  在收到3個重復(fù)ACK時,CWND值設(shè)置為SSTHRESH的當(dāng)前值,而超時的情況下,CWND值設(shè)置為1。

  TCPW算法的不足之處主要有以下幾個方面:

  (1)TCPW算法無法區(qū)分丟包類型。當(dāng)網(wǎng)絡(luò)中出現(xiàn)丟包時,TCPW算法都會按照擁塞丟包來處理,而不區(qū)分是無線丟包還是擁塞丟包。

  (2)TCPW算法在處理丟包時具有盲目性且單一。主要體現(xiàn)在CWND和SSTHRESH值的調(diào)整上,在出現(xiàn)丟包時,不管丟包原因也不分擁塞程度,單純減小窗口值,降低數(shù)據(jù)的發(fā)送速率,這種處理會使得網(wǎng)絡(luò)帶寬利用率大幅度下降。

2 TCP-NW算法原理

  針對TCPW算法的不足,提出了一種改進(jìn)算法TCP-NW,TCP-NW算法的步驟如下:

  (1)計算網(wǎng)絡(luò)帶寬估計值

  通過TCPW協(xié)議中的帶寬估計算法實時計算網(wǎng)絡(luò)中的帶寬估計值current_bwe,引入一個變量bwe_max,用于保存此過程中的current_bwe的最大值。

  (2)計算網(wǎng)絡(luò)帶寬利用率

  根據(jù)(1)中計算出的current_bwe和bwe_max的值,計算出網(wǎng)絡(luò)中的帶寬利用率。計算公式如式(2)所示:

  2.png

  其中,current_bwe為當(dāng)前帶寬估計值,bwe_max為當(dāng)前帶寬估計值中的最大值,α∈(0,1]。

  由于網(wǎng)絡(luò)中帶寬利用率較低時,網(wǎng)絡(luò)擁塞的可能性較小,如果網(wǎng)絡(luò)中此時出現(xiàn)了數(shù)據(jù)丟包,則認(rèn)定為出現(xiàn)了無線丟包。此算法中α∈(0,1/4]時,認(rèn)定為無線丟包。

  (3)分別對不同情況下的丟包作出相應(yīng)處理

  當(dāng)在無線網(wǎng)絡(luò)出現(xiàn)數(shù)據(jù)丟包時,根據(jù)計算出的網(wǎng)絡(luò)帶寬利用率來調(diào)整CWND和SSTHRESH值的大小。由于在網(wǎng)絡(luò)環(huán)境下丟包的原因主要有三個重復(fù)的ACK和超時,因此兩種情況下的調(diào)整如下:

  ①收到三個重復(fù)ACK

  當(dāng)出現(xiàn)無線丟包時(此時網(wǎng)絡(luò)并沒有發(fā)生擁塞),如果按照式(1)計算,SSTHRESH值會過度減小,CWND進(jìn)而減小,從而降低了數(shù)據(jù)發(fā)送速率,浪費(fèi)網(wǎng)絡(luò)帶寬,改進(jìn)后的重新計算公式如式(3)所示:

  3.png

  其中,α為當(dāng)前網(wǎng)絡(luò)的帶寬利用率,計算公式如式(2)。

  式(3)雖然避免了在帶寬利用率較低時將SSTHRESH值過度減小的問題,但是在帶寬利用率較高時,依然存在此問題。為了解決此問題,將α值進(jìn)行細(xì)化,重新計算公式如式(4)所示:

  4.png

  算法偽代碼如下:

  if(receive 3 dupacks){

  if(0<α≤1/4){

  null}

  if(1/4<α≤1/2){

  ssthresh=current_bwe*(1-α)/size/8;

  cwnd=ssthresh+3MSS;

  }

  if(1/2<α≤1){

  ssthresh=1/2*current_bwe/size/8;

  cwnd=ssthresh+3MSS;

  }}

  ②RTO(重傳計時器)超時

  當(dāng)TCP發(fā)送端每發(fā)送一個報文時,為了防止數(shù)據(jù)包丟失,TCP發(fā)送端會啟動一個重傳計時器,如果發(fā)送端發(fā)送的數(shù)據(jù)包在計時器超時前沒有收到該數(shù)據(jù)包的確認(rèn)ACK,就會重傳該數(shù)據(jù)報,而此時出現(xiàn)網(wǎng)絡(luò)擁塞的程度要比收到3個重復(fù)ACK時嚴(yán)重,不論α如何取值,此時統(tǒng)一設(shè)置CWND的值為1,SSTHRESH值的計算公式如式(5)所示:

  5.png

  算法偽代碼如下:

  if(RTO timeout){

  if(1/4<α<1/2){

  ssthresh=current_bwe*(1-α)/size/8;

  cwnd=1;}

  if(α≤1/4){null;}

  if(1/2<α<3/4){

  ssthresh=current_bwe*α/size/8;

  cwnd=1;}

  if(3/4<α≤1){

  ssthresh=1/2*current_bwe*(1-α)/size/8;

  cwnd=1;

  }}

3 TCP-NW算法的仿真實驗結(jié)果分析

  3.1 仿真實驗環(huán)境


001.jpg

  仿真網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1所示。節(jié)點N0、N1為TCP發(fā)送端,節(jié)點R0、R1為中間路由節(jié)點,節(jié)點N2、N3為TCP接收端。節(jié)點N0到R0之間、節(jié)點N1到R0之間、節(jié)點R1到N2和節(jié)點R1到N3之間建立延時為3 ms、帶寬為10 Mb/s的雙向鏈路。在節(jié)點R0和R1之間建立延時為2 ms、帶寬為5 Mb/s的雙向鏈路,此鏈路作為瓶頸鏈路。節(jié)點N0向節(jié)點N2發(fā)送數(shù)據(jù),節(jié)點N1向節(jié)點N3發(fā)送數(shù)據(jù),節(jié)點N0和節(jié)點N2之間建立TCP背景業(yè)務(wù),數(shù)據(jù)通信業(yè)務(wù)為FTP數(shù)據(jù)流,數(shù)據(jù)包大小為    1 000 packets。仿真實驗在仿真模擬工具NS2(Network Simulator Version2)下進(jìn)行,NS2的版本為NS2.35[11]。

  3.2 仿真實驗結(jié)果分析

  實驗主要從端到端時延、抖動、吞吐量以及不同鏈路丟包率下平均吞吐量4個方面進(jìn)行實驗結(jié)果的對比。各個對比實驗圖如圖2~圖4所示。

  圖2中delay-TCPReno、delay-TCPW、delay-TCP-NW分別為TCP Reno、TCP Westwood、TCP-NW三種算法下時延大小的變化值。從圖中可以看出TCP-NW算法下的時延值變化更加平滑,端到端的時延更小。

003.jpg

  圖3中jitter-Reno、delay-Westwood、delay-TCP-NW分別為TCP Reno、TCP Westwood、TCP-NW三種算法下的網(wǎng)絡(luò)抖動的變化值。從圖中可以看出TCP-NW算法下的抖動值變化幅度更加平滑,證明了網(wǎng)絡(luò)的穩(wěn)定性。

004.jpg

  圖4中throughput-Reno、throughput-Westwood、throughput-NW分別為TCP Reno、TCP Westwood、TCP-NW 算法下得到的系統(tǒng)吞吐的大小。通過仿真實驗結(jié)果可以看出,TCP-NW算法下的系統(tǒng)吞吐量最大。

  為了更好地驗證TCP-NW算法對于丟包類型的區(qū)分,分別在不同鏈路誤碼率實驗環(huán)境下對TCP Reno、TCP Westwood、TCP-NW三種算法進(jìn)行了平均吞吐量的對比,如表1所示。

005.jpg

  表1中分別為TCP-Reno、TCPW、TCP-NW算法在無線丟包率分別為1%、2%、3%、4%的鏈路下的系統(tǒng)平均吞吐量,從中可以看出TCP-NW算法不同鏈路丟包率的情況下平均吞吐量最高,并且隨著無線丟包率的升高,TCP-NW平均吞吐量下降的程度最少,說明了TCP-NW算法在一定程度上可以區(qū)分出無線丟包和擁塞丟包。

  綜合仿真實驗結(jié)果表明,本文改進(jìn)的TCP-NW算法能有效地改善無線網(wǎng)絡(luò)環(huán)境中因無線丟包而過多減小CWND和SSTHRESH值的問題,并可以在一定程度上區(qū)分無線丟包和擁塞丟包。在發(fā)生無線丟包時,不至于過多減小發(fā)送速率,從而更加充分利用網(wǎng)絡(luò)帶寬,很大程度上提高TCP的傳輸性能。

4 結(jié)論

  本文針對TCPW算法在無線網(wǎng)絡(luò)環(huán)境中存在的不足之處,提出了一種改進(jìn)的TCP-NW擁塞控制算法。通過實時計算網(wǎng)絡(luò)中的可用帶寬,根據(jù)帶寬的變化來區(qū)分不同的丟包類型以及在不同類型的丟包情況下對CWND和SSTHRESH值進(jìn)行調(diào)整。通過仿真實驗表明,與TCPW相比,TCP-NW算法在端到端時延、抖動性、系統(tǒng)吞吐量等方面性能都有提升,較大程度上提高了無線TCP的傳輸性能。

參考文獻(xiàn)

  [1] 張永敏,徐偉強(qiáng),黃炯,等.Ad Hoc網(wǎng)絡(luò)節(jié)能型功率控制與擁塞控制的跨層優(yōu)化[J].軟件學(xué)報,2013,24(4):900-914.

  [2] 陶益坤,朱艷琴,羅喜召.基于背景流變化特征的組播擁塞控制算法[J].計算機(jī)應(yīng)用與軟件,2012,29(2):48-50.

  [3] UTSUMI S, ZABIR S M S. A new high-performance TCP friendly congestion control over wireless networks[J]. Journal of Network and Computer Applications,2014,41(3):369-378.

  [4] HU W, XIAO G. Self-clocking principle for congestion control in the Internet[J]. Automatica,2012,48(2):425-429.

  [5] 袁鵬飛,鄭濤,楊李冬,等.一種基于CAPPROBE帶寬估計的TCP Westwood算法[J].廈門大學(xué)學(xué)報(自然科學(xué)版),2014,54(4):469-476.

  [6] 趙文波,孫小科,馬草川.基于非線性窗口增長的TCP Westwood改進(jìn)算法[J].計算機(jī)應(yīng)用,2011,31(9):2344-2348.

  [7] 俞浚,白光偉,沈航.IEEE 802.16 Mesh網(wǎng)基于區(qū)分服務(wù)的擁塞控制機(jī)制[J].計算機(jī)應(yīng)用研究,2014,31(9):2811-2814.

  [8] SHETH A M, PATEL K D, CHAUDHARI J P, et al. Analysis of TCP Westwood NR protocol in congested and lossy network[J]. International Journal of Engineering and Technology, 2013,3(4):477-482.

  [9] CASETTI C, GERLA M, MASCOLO S, et al. TCP Westwood: end-to-end congestion control for wired/wireless networks [J]. Wireless Networks, 2002, 8(5):467-479.

  [10] GERLA M, SANADIDI M Y, WANG R, et al. TCP Westwood: congestion window control using bandwidth estimation[C]. Global Telecommunications Conference, 2001. IEEE, 2001:1698-1702.

  [11] UCB/LBNL/VINT. Network simulator ns(version2) [EB/OL].(2010-12-19)[2014-11-10]. http://www.isi.edu/nsnam/ns.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产午夜亚洲精品羞羞网站 | 久久久久久久久久久久久久一区 | 久久精品男女| 亚洲一区二区日本| 一区二区三区欧美激情| 日韩视频精品在线观看| 日韩一区二区精品葵司在线| 亚洲精品网站在线播放gif| 亚洲国产婷婷综合在线精品 | 午夜在线成人av| 亚洲女与黑人做爰| 亚洲综合精品一区二区| 亚洲免费在线电影| 小处雏高清一区二区三区| 香蕉成人久久| 欧美在线黄色| 久久久久综合| 免费成人av在线| 欧美护士18xxxxhd| 欧美精品一区二区三区四区| 欧美精品三级| 欧美视频在线一区二区三区| 国产精品mv在线观看| 国产精品视频xxxx| 国产欧美日韩综合一区在线播放| 国产亚洲视频在线观看| 韩日精品在线| 亚洲国产专区校园欧美| 99re热精品| 亚洲一区二区成人在线观看| 午夜欧美精品| 亚洲精品1区2区| 99精品视频一区| 亚洲专区在线视频| 久久aⅴ国产欧美74aaa| 久久午夜电影网| 欧美激情精品久久久久久大尺度| 欧美日韩国产成人在线91| 国产精品国产三级欧美二区| 国产嫩草一区二区三区在线观看| 激情久久五月| 日韩午夜电影在线观看| 亚洲一区尤物| 亚洲成人在线视频播放| 亚洲人久久久| 亚洲欧美激情视频| 久久五月天婷婷| 欧美日韩一区二区视频在线 | 国产精品99久久久久久有的能看| 亚洲综合国产精品| 久久天天狠狠| 欧美午夜大胆人体| 国产亚洲欧美日韩日本| 亚洲国产综合在线| 亚洲欧美久久| 日韩一级黄色av| 欧美一区二区三区免费大片| 欧美1区2区| 欧美性大战久久久久| 狠狠色丁香婷综合久久| 日韩亚洲视频在线| 午夜在线精品偷拍| 亚洲精品中文字幕在线| 欧美亚洲尤物久久| 欧美—级在线免费片| 国产日韩欧美精品综合| 亚洲人成欧美中文字幕| 午夜精品福利一区二区蜜股av| 亚洲日本va在线观看| 性色av香蕉一区二区| 欧美激情小视频| 国产自产精品| 亚洲香蕉在线观看| 亚洲精品一区二区三区四区高清| 欧美亚洲在线观看| 欧美日韩国产在线观看| 国内免费精品永久在线视频| 亚洲色图综合久久| 亚洲三级视频| 久久久久久久波多野高潮日日| 欧美日韩一区二区在线播放| 国产一区二区三区久久久久久久久 | 国内外成人免费激情在线视频| 一本色道久久88综合亚洲精品ⅰ| 亚洲第一黄色| 久久国产免费| 国产精品久久久久久久9999| 亚洲三级免费电影| 亚洲国产毛片完整版| 欧美亚洲在线| 欧美新色视频| 亚洲六月丁香色婷婷综合久久| 亚洲国产色一区| 久久精品国产2020观看福利| 国产精品99一区| 日韩午夜精品| 日韩午夜激情电影| 欧美va亚洲va香蕉在线| 国产综合色产| 性亚洲最疯狂xxxx高清| 亚洲欧美激情视频| 欧美日韩一区高清| 亚洲精品免费观看| 亚洲精品国久久99热| 久久视频免费观看| 国产日产精品一区二区三区四区的观看方式 | 欧美在线观看视频一区二区| 亚洲一线二线三线久久久| 欧美日韩精品中文字幕| 91久久久久久久久久久久久| 亚洲国产成人av好男人在线观看| 久久精品国产久精国产思思| 国产精品青草久久久久福利99| 在线视频你懂得一区| 亚洲午夜伦理| 欧美性猛交xxxx免费看久久久| 日韩网站在线看片你懂的| 日韩网站在线观看| 欧美精品在线观看一区二区| 亚洲精品国产品国语在线app| 亚洲国产一区二区三区a毛片| 久久久爽爽爽美女图片| 国产在线拍揄自揄视频不卡99| 欧美一区二区三区视频| 久久久xxx| 国内偷自视频区视频综合| 久久动漫亚洲| 免费不卡在线观看| 亚洲高清久久久| 亚洲精品视频免费| 欧美日韩八区| 99精品免费网| 亚洲欧美在线高清| 国产日韩高清一区二区三区在线| 午夜在线精品| 麻豆九一精品爱看视频在线观看免费| 在线免费观看一区二区三区| 亚洲另类黄色| 欧美午夜激情在线| 亚洲一区二区三区影院| 久久国产精品黑丝| 韩日在线一区| 亚洲精品视频免费在线观看| 欧美日韩亚洲国产精品| 亚洲天堂av在线免费| 欧美在线观看视频一区二区三区 | 国产乱码精品| 久久精品99国产精品日本| 免费看av成人| 一本色道久久88综合日韩精品| 欧美亚洲视频在线看网址| 国产亚洲午夜高清国产拍精品| 亚洲高清不卡在线| 欧美日韩极品在线观看一区| 亚洲午夜电影| 久久精品亚洲一区| 91久久精品国产91久久性色tv| 亚洲私拍自拍| 国产视频一区二区在线观看 | 亚洲综合国产精品| 国产一区二区三区久久| 亚洲毛片在线观看| 国产精品久久久一区麻豆最新章节| 欧美一级免费视频| 欧美国产欧美亚洲国产日韩mv天天看完整 | 在线观看成人一级片| 中国女人久久久| 国产区日韩欧美| 日韩视频第一页| 国产女人18毛片水18精品| 最新热久久免费视频| 国产精品国产自产拍高清av| 欧美有码在线视频| 欧美视频日韩视频在线观看| 欧美影院久久久| 欧美日韩免费观看一区| 西西裸体人体做爰大胆久久久| 欧美精品日韩一区| 欧美在线高清| 欧美日韩午夜激情| 久久精品视频免费| 国产精品国产a级| 亚洲精品视频在线观看网站| 国产伦精品一区二区三区免费 | 欧美久久久久久蜜桃| 校园激情久久| 欧美日韩无遮挡| 亚洲高清在线视频| 国产精品嫩草影院一区二区| 亚洲精品一二三区| 国产一区二区黄| 亚洲综合电影| 亚洲精品三级| 免费高清在线视频一区·| 午夜精品久久久久久| 欧美视频精品在线| 亚洲伦理在线观看| 国内在线观看一区二区三区| 午夜免费电影一区在线观看 | 在线中文字幕一区|