《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于帶寬估計的TCPW改進算法
基于帶寬估計的TCPW改進算法
來源:電子技術應用2013年第10期
金林珠1, 庫流亨2
1. 武漢科技大學 信息科學與工程學院,湖北 武漢430081; 2. 華北計算機系統工程研究所,北京100083
摘要: TCP Westwood(TCPW)協議在誤碼率較高、帶寬不穩定的無線網絡環境下,已經表現出比傳統TCP更為優越的性能,但它不能區分丟包的原因,在帶寬利用率及性能上仍顯不足。針對此問題,提出了TCPW改進算法TCPW-J,基于帶寬估計值的變化情況劃分網絡擁塞等級,以區分擁塞丟包和無線丟包。仿真結果表明,TCPW-J算法提高了網絡帶寬利用率,并保持了較好的公平性和友好性。
中圖分類號: TN915.04
文獻標識碼: A
文章編號: 0258-7998(2013)10-0102-03
Enhanced TCPW scheme based on bandwidth estimation
Jin Linzhu1, Ku Liuheng2
1. College of Information Science and Engineering, Wuhan University of Science and Technology, Wuhan 430081, China; 2. National Computer System Engineering Research Institute of China, Beijing 100083, China
Abstract: TCP Westwood (TCPW) has shown more superior performance than traditional TCP protocol in the error rate is high, unstable bandwidth wireless network environment. But it can not distinguish the reason of packet loss. Its bandwidth utilization, and performance is still insufficient. For this problem, the proposed the TCPW improved algorithm TCPW-J divided the network congestion level based on bandwidth estimation, to distinguish between congestion losses and wireless packet loss. Simulation results show the TCPW-J algorithm improves network bandwidth utilization, and maintains good fairness and friendliness.
Key words : transmission control protocol; TCP westwood; congestion control; wireless network

    TCP Westwood(TCPW)協議[1]是專門針對無線網絡應用環境而提出的傳輸控制協議,它是在TCP Reno協議的基礎上修改而來的。TCPW通過估算網絡的可用帶寬,對擁塞窗口(cwnd)和慢啟動閾值(ssthresh)進行優化控制,在一定程度上改善了傳統TCP協議在發生數據丟包時所導致的網絡帶寬利用率下降的問題[2]。然而,TCPW算法無法區分網絡丟包的原因,在高誤碼率、頻繁移動的無線網絡環境下,往往會由于較多的無線丟包而頻繁調用網絡擁塞控制算法,降低了網絡帶寬利用率[3]。

    本文提出一種基于TCPW協議的改進擁塞控制算法TCPW-J,該算法根據當前網絡的帶寬估計值的變化情況來推斷網絡丟包發生的最可能原因,使網絡控制協議能夠對擁塞情況作出更加準確的判斷,減少在不必要情況下調用網絡擁塞控制算法的次數。經過分析和仿真實驗的驗證,表明TCPW-J能夠較為有效地判斷丟包的原因,提高了TCPW算法對網絡帶寬的利用率。
1 TCPW-J算法
1.1 設計思想

    網絡擁塞是一種持續過載的網絡狀態,網絡擁塞會導致數據包丟失、時延增加、吞吐量下降等現象[4]。基于這些因素,在網絡擁塞狀態下得到的帶寬估計值(BWE)比正常情況下的要小很多。另一方面,由于無線網絡誤碼率較高等原因而導致的數據丟包具有偶然性,并不影響往返時延(RTT),因此發生無線丟包時,所計算出來的BWE值相對于正常情況下并不會產生較大變化。
   基于以上事實和分析,提出的TCPW-J算法對BWE進行持續觀測,得到TCP連接在一段時間內的BWE變化范圍,并劃分網絡擁塞情況等級。根據計算的網絡擁塞等級,推斷當前網絡的擁塞情況,并做出恰當的調整。
1.2 算法實現
    TCPW-J算法持續計算BWE并記錄其最大和最小值,得到BWE的變化范圍,即:
    
     結合式(1)、式(2),可以看出A∈[0,1]表示了當前帶寬估計值與歷史變化情況相比的大小程度,間接地反映了網絡的擁塞情況。式(2)中的A越小,表明當前網絡帶寬已經處于較好的情況,網絡擁塞的可能性較小或趨于穩定;反之,A越大則表明網絡擁塞的可能性越大或程度越高。這里將A劃分成三個等級,其等級L越高則表明擁塞可能性越大。
    L=1  A∈[0,0.25]2  A∈(0.25,0.5]3  A∈(0.5,1]
    根據上述劃分的擁塞等級范圍,對TCPW的擁塞控制算法進行改進。
    新的擁塞控制算法用偽代碼描述如下:
    (1) 收到新的ACK之后
         if (L==1||L==2)    
                     /*網絡擁塞可能性較小或輕度擁塞*/
        if(cwnd>ssthresh)    /*擁塞避免*/
                 cwnd=cwnd+1/cwnd;
            else        /*慢啟動*/
                 cwnd=cwnd+1;
             endif
        else            /*網絡擁塞可能性較大*/
        ssthresh=(BWE*RTTmin)/seg_size;
             if(cwnd>ssthresh)        
                 cwnd=cwnd+(1/cwnd)/2;
                              /*減慢cwnd增長速度*/
             else
                 cwnd=cwnd+1;
             endif
       endif
    (2) 收到重復的ACK之后
      if(3 DUPACKs are received)
           if (L==1)        /*網絡擁塞可能性較小*/
        快速重傳;
        if(cwnd>ssthresh)    /*擁塞避免*/
                 cwnd=cwnd+1/cwnd;
             else            /*保持慢啟動*/
                 cwnd=cwnd+1;
             endif
    else if(L==2)    /*網絡擁塞呈現擁塞趨勢*/
             快速重傳;
             快速恢復;
     else if(L==3)    /*網絡擁塞可能性較大*/
             ssthresh=(BWE*RTTmin)/seg_size;
                 if(cwnd>ssthresh)
                     cwnd=ssthresh;
                 endif
            endif
        endif
2 仿真結果與分析
    采用OPNET Modeler 14.5仿真平臺對New Reno、TCPW以及TCP-J算法在混合鏈路上進行仿真,如圖1所示。

    在圖1中模擬了一個作為數據源的服務器子網(Server Subnet)、一個數據訪問子網(Client Subnet)以及IP云(IP Cloud)作為兩者之間傳輸數據的混合鏈路。配置FTP服務用于模擬連續的TCP數據傳輸,FTP文件大小為50 MB,數據包延遲為0.1 s,兩個子網之間是瓶頸鏈路,最大傳輸速率為10 Mb/s,模擬時間為12 min。
2.1不同誤碼率下的吞吐量分析
     表1中給出了三種算法分別在不同誤碼率環境下的吞吐量統計結果。可以很清晰地看到,在誤碼率較高的環境下,TCPW-J的吞吐量明顯高于New Reno和TCPW算法。而且隨著誤碼率的提高,TCPW-J相對于TCPW的吞吐量的提升更加明顯,其原因在于TCPW-J算法能夠有效地區分擁塞丟包和無線丟包,減少了不必要的擁塞窗口調整次數,提高了帶寬的利用率。

 

 

    在測試友好性的過程中,建立兩個不同的TCP流,分別運行New Reno和TCPW-J協議。表2給出了這兩種算法在不同誤碼率環境下的平均吞吐量對比結果。從結果中可以看出,TCPW-J對New Reno是友好的。

    本文在TCPW的基礎之上提出了改進算法TCPW-J,根據帶寬估計值BWE的變化情況劃分擁塞等級,以推測最可能導致丟包的原因,區分無線丟包和擁塞丟包。仿真實驗結果表明,TCPW-J算法在誤碼率較高的無線網絡環境下,不僅表現出了更高的網絡帶寬利用率吞吐量,而且保持了良好的公平性和友好性。
參考文獻
[1] CLAUDIO C, MARIO G, SAVERIO M,    et al. TCP westwood: end-to-end congestion control for wired/wireless  networks[J]. Wireless Networks Journal, 2002(8):467-469.
[2] LOW SH, PAGANINI F, DOYLE J C. Internet congestion control [J]. IEEE Control Systems Magazine, 2002,22(1):28-43.
[3] CHEN J, PAGANINI F, WANG R. Fluid-flow analysis of  TCP westwood with RED[A]. Proceedings of the IEEE  GLOBECOM 2003, 2003:4064-4068.
[4] (美)STEVENS W R著.TCP/IP詳解,卷1:協議[M].  范建華,等譯. 北京:機械工業出版社,2000:226-243.
[5] JAIN R, CHIU D, HAWE W. A quantitative measure of  fairness and discrimination for resource allocation in shared  systems[Z]. DEC Research Report TR-301.1984.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 99久久精品久久久久久清纯 | va国产| 久久91这里精品国产2020 | 免费一级夫妻a | 免费国产小视频在线观看 | 国产成人精品一区二区不卡 | 国内精品久久久久久 | 成人精品一区二区三区 | 奇米电影网 | 久久免费小视频 | 一级高清毛片 | 久久一区二区精品 | 大香伊人久久 | 99视频免费在线 | 欧美日韩高清在线观看一区二区 | 九九精品成人免费国产片 | 国产a级| 国产区成人精品视频 | 黄色小视频网站 | 四虎成人免费影院网址 | 色婷婷免费视频 | 最新99热| 国内自拍视频网站 | 午夜丁香婷婷 | 国产精品久久久久久久久免费 | 日韩一级视频 | 99九九精品视频 | 狠狠色网 | 四虎精品影院在线观看视频 | 国产99页 | 六月婷婷中文字幕 | 美女午夜色视频在线观看 | 国产成人精品视频播放 | 青青草国产97免久久费观看 | 色在线免费观看 | 四虎www成人影院 | 久久精品国产一区 | 久久一区二区三区不卡 | 精品视频一区二区三三区四区 | 久久免费国产精品一区二区 | 四虎成人国产精品视频 |