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

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

  關鍵詞: 無線網絡;帶寬估計;擁塞控制;網絡仿真

0 引言

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

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

1 TCPW擁塞控制算法分析

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

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

  1.png

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

  在收到3個重復ACK時,CWND值設置為SSTHRESH的當前值,而超時的情況下,CWND值設置為1。

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

  (1)TCPW算法無法區分丟包類型。當網絡中出現丟包時,TCPW算法都會按照擁塞丟包來處理,而不區分是無線丟包還是擁塞丟包。

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

2 TCP-NW算法原理

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

  (1)計算網絡帶寬估計值

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

  (2)計算網絡帶寬利用率

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

  2.png

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

  由于網絡中帶寬利用率較低時,網絡擁塞的可能性較小,如果網絡中此時出現了數據丟包,則認定為出現了無線丟包。此算法中α∈(0,1/4]時,認定為無線丟包。

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

  當在無線網絡出現數據丟包時,根據計算出的網絡帶寬利用率來調整CWND和SSTHRESH值的大小。由于在網絡環境下丟包的原因主要有三個重復的ACK和超時,因此兩種情況下的調整如下:

  ①收到三個重復ACK

  當出現無線丟包時(此時網絡并沒有發生擁塞),如果按照式(1)計算,SSTHRESH值會過度減小,CWND進而減小,從而降低了數據發送速率,浪費網絡帶寬,改進后的重新計算公式如式(3)所示:

  3.png

  其中,α為當前網絡的帶寬利用率,計算公式如式(2)。

  式(3)雖然避免了在帶寬利用率較低時將SSTHRESH值過度減小的問題,但是在帶寬利用率較高時,依然存在此問題。為了解決此問題,將α值進行細化,重新計算公式如式(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(重傳計時器)超時

  當TCP發送端每發送一個報文時,為了防止數據包丟失,TCP發送端會啟動一個重傳計時器,如果發送端發送的數據包在計時器超時前沒有收到該數據包的確認ACK,就會重傳該數據報,而此時出現網絡擁塞的程度要比收到3個重復ACK時嚴重,不論α如何取值,此時統一設置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算法的仿真實驗結果分析

  3.1 仿真實驗環境


001.jpg

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

  3.2 仿真實驗結果分析

  實驗主要從端到端時延、抖動、吞吐量以及不同鏈路丟包率下平均吞吐量4個方面進行實驗結果的對比。各個對比實驗圖如圖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三種算法下的網絡抖動的變化值。從圖中可以看出TCP-NW算法下的抖動值變化幅度更加平滑,證明了網絡的穩定性。

004.jpg

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

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

005.jpg

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

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

4 結論

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

參考文獻

  [1] 張永敏,徐偉強,黃炯,等.Ad Hoc網絡節能型功率控制與擁塞控制的跨層優化[J].軟件學報,2013,24(4):900-914.

  [2] 陶益坤,朱艷琴,羅喜召.基于背景流變化特征的組播擁塞控制算法[J].計算機應用與軟件,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].廈門大學學報(自然科學版),2014,54(4):469-476.

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

  [7] 俞浚,白光偉,沈航.IEEE 802.16 Mesh網基于區分服務的擁塞控制機制[J].計算機應用研究,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.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩视频免费在线| 欧美一区二区三区免费视频| 国产精品国产三级国产专区53 | 西西人体一区二区| 亚洲天堂av电影| 亚洲视频免费看| 一本色道**综合亚洲精品蜜桃冫| 亚洲黄网站在线观看| 亚洲国产精品va在看黑人| 精久久久久久| 在线观看中文字幕不卡| 亚洲成人在线视频播放| 亚洲国产精品一区二区第一页| 亚洲春色另类小说| 亚洲国内高清视频| 日韩亚洲一区二区| 亚洲天堂av高清| 午夜精品久久久久99热蜜桃导演| 亚洲综合99| 午夜免费在线观看精品视频| 欧美一区二区三区四区在线| 久久精品一区二区三区四区| 亚洲国产精品一区二区www在线| 亚洲高清网站| 亚洲精品综合久久中文字幕| 在线亚洲欧美视频| 午夜久久一区| 久久噜噜噜精品国产亚洲综合| 久久嫩草精品久久久久| 牛牛影视久久网| 欧美日韩国产探花| 国产精品久久国产三级国电话系列| 国产欧美日本在线| 激情成人av在线| 91久久久在线| 亚洲性色视频| 久久国产黑丝| 一本色道久久88亚洲综合88| 亚洲欧美日韩直播| 久久婷婷麻豆| 欧美日韩国产综合一区二区| 国产精品私房写真福利视频| 狠狠色丁香婷综合久久| 亚洲剧情一区二区| 午夜久久99| 日韩视频二区| 欧美亚洲一区二区在线| 老司机成人网| 国产精品大全| 在线精品国产欧美| 一本色道久久加勒比88综合| 午夜在线成人av| 亚洲美女区一区| 欧美一区亚洲| 欧美成人精品1314www| 国产精品对白刺激久久久| 狠狠入ady亚洲精品经典电影| 亚洲精品视频在线观看网站| 欧美亚洲综合另类| 99精品欧美一区二区三区| 小黄鸭精品密入口导航| 欧美成人性网| 国产精品视频福利| 亚洲国产婷婷综合在线精品| 亚洲一区二区三| 亚洲日产国产精品| 欧美一区二区三区在线看 | 亚洲第一黄色| 亚洲欧美精品| 一区二区三区四区五区精品视频| 久久精品日韩一区二区三区| 欧美日韩精品免费观看视频| 国产一区二区三区丝袜 | 亚洲一区视频在线| 日韩亚洲欧美在线观看| 久久精品国产一区二区三 | 国产精品久久久久天堂| 亚洲国产精品成人一区二区| 亚洲欧美日韩国产成人| 日韩小视频在线观看| 久久免费黄色| 国产精品区一区| 亚洲美女黄网| 亚洲精品乱码久久久久久按摩观| 久久狠狠亚洲综合| 国产精品xxxxx| 亚洲欧洲另类国产综合| 亚洲第一天堂无码专区| 欧美在线播放一区| 国产精品国内视频| 亚洲美女毛片| 日韩一级裸体免费视频| 麻豆精品精华液| 国产一区二区三区在线观看视频 | 亚洲小说区图片区| 欧美国产日韩免费| 精品白丝av| 久久激情一区| 欧美在线视频免费| 国产精品美女久久久| 9色精品在线| 亚洲精品综合在线| 欧美成人亚洲| 亚洲高清视频的网址| 亚洲大胆视频| 久久久久久久精| 国产一区二区剧情av在线| 亚洲欧美日韩区| 欧美一区二区精品在线| 国产精品成人播放| 在线一区亚洲| 亚洲一区在线直播| 欧美体内谢she精2性欧美| 日韩一级大片在线| 亚洲视频大全| 欧美三级资源在线| 日韩系列在线| 亚洲视频一区| 国产精品乱码一区二三区小蝌蚪| 中文一区二区| 新狼窝色av性久久久久久| 国产精品综合av一区二区国产馆| 亚洲永久免费视频| 欧美一区二区三区视频在线观看| 国产精品美女www爽爽爽| 亚洲欧美清纯在线制服| 久久国产一区二区| 国模吧视频一区| 久久精品二区三区| 免费国产自线拍一欧美视频| 亚洲第一毛片| 99天天综合性| 国产精品国产精品| 午夜一区二区三区不卡视频| 久久精品人人做人人综合| 一区二区三区在线视频观看| 91久久精品www人人做人人爽| 牛人盗摄一区二区三区视频| 最新国产成人在线观看| 中国成人黄色视屏| 国产精品一香蕉国产线看观看| 性欧美精品高清| 免费精品99久久国产综合精品| 亚洲经典三级| 亚洲欧美日韩国产一区| 国产欧美在线| 最近中文字幕日韩精品 | 欧美日韩亚洲一区二区三区四区| 一本色道久久综合亚洲精品按摩| 亚洲影院在线| 国产日韩专区| 亚洲精品日韩在线观看| 欧美日韩一本到| 亚洲欧美日本日韩| 噜噜噜噜噜久久久久久91| 亚洲精品影院在线观看| 欧美亚洲视频在线观看| 精品动漫3d一区二区三区| 一本色道久久88精品综合| 国产精品欧美久久久久无广告| 欧美专区日韩视频| 欧美va日韩va| 亚洲一区二区精品视频| 蜜桃久久精品乱码一区二区| 日韩一区二区精品| 欧美在线免费看| 亚洲激情在线观看视频免费| 亚洲综合三区| 尤物精品国产第一福利三区| 亚洲影视在线| 在线观看成人av电影| 亚洲尤物在线视频观看| 黄色亚洲在线| 亚洲欧美一区二区在线观看| 在线色欧美三级视频| 午夜精品一区二区在线观看| 娇妻被交换粗又大又硬视频欧美| 亚洲午夜精品久久久久久浪潮| 国产一区二区三区四区hd| 中国成人黄色视屏| 亚洲精品美女在线| 欧美日韩国产综合网| 亚洲一区精品视频| 欧美大尺度在线| 午夜精品久久久久久久99水蜜桃 | 日韩午夜免费视频| 久久婷婷一区| 亚洲自拍偷拍麻豆| 欧美精品在线观看一区二区| 欧美一区二区三区在线免费观看| 欧美日韩性视频在线| 91久久国产自产拍夜夜嗨| 国产精品尤物| 99国产精品国产精品毛片| 国内精品免费在线观看| 午夜视黄欧洲亚洲| 亚洲国产精彩中文乱码av在线播放| 欧美一级淫片播放口| 日韩视频在线一区| 欧美国产国产综合|