《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于帶寬估計(jì)的TCPW改進(jìn)算法
基于帶寬估計(jì)的TCPW改進(jìn)算法
來(lái)源:電子技術(shù)應(yīng)用2013年第10期
金林珠1, 庫(kù)流亨2
1. 武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,湖北 武漢430081; 2. 華北計(jì)算機(jī)系統(tǒng)工程研究所,北京100083
摘要: TCP Westwood(TCPW)協(xié)議在誤碼率較高、帶寬不穩(wěn)定的無(wú)線網(wǎng)絡(luò)環(huán)境下,已經(jīng)表現(xiàn)出比傳統(tǒng)TCP更為優(yōu)越的性能,但它不能區(qū)分丟包的原因,在帶寬利用率及性能上仍顯不足。針對(duì)此問(wèn)題,提出了TCPW改進(jìn)算法TCPW-J,基于帶寬估計(jì)值的變化情況劃分網(wǎng)絡(luò)擁塞等級(jí),以區(qū)分擁塞丟包和無(wú)線丟包。仿真結(jié)果表明,TCPW-J算法提高了網(wǎng)絡(luò)帶寬利用率,并保持了較好的公平性和友好性。
中圖分類(lèi)號(hào): TN915.04
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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)協(xié)議[1]是專(zhuān)門(mén)針對(duì)無(wú)線網(wǎng)絡(luò)應(yīng)用環(huán)境而提出的傳輸控制協(xié)議,它是在TCP Reno協(xié)議的基礎(chǔ)上修改而來(lái)的。TCPW通過(guò)估算網(wǎng)絡(luò)的可用帶寬,對(duì)擁塞窗口(cwnd)和慢啟動(dòng)閾值(ssthresh)進(jìn)行優(yōu)化控制,在一定程度上改善了傳統(tǒng)TCP協(xié)議在發(fā)生數(shù)據(jù)丟包時(shí)所導(dǎo)致的網(wǎng)絡(luò)帶寬利用率下降的問(wèn)題[2]。然而,TCPW算法無(wú)法區(qū)分網(wǎng)絡(luò)丟包的原因,在高誤碼率、頻繁移動(dòng)的無(wú)線網(wǎng)絡(luò)環(huán)境下,往往會(huì)由于較多的無(wú)線丟包而頻繁調(diào)用網(wǎng)絡(luò)擁塞控制算法,降低了網(wǎng)絡(luò)帶寬利用率[3]。

    本文提出一種基于TCPW協(xié)議的改進(jìn)擁塞控制算法TCPW-J,該算法根據(jù)當(dāng)前網(wǎng)絡(luò)的帶寬估計(jì)值的變化情況來(lái)推斷網(wǎng)絡(luò)丟包發(fā)生的最可能原因,使網(wǎng)絡(luò)控制協(xié)議能夠?qū)砣闆r作出更加準(zhǔn)確的判斷,減少在不必要情況下調(diào)用網(wǎng)絡(luò)擁塞控制算法的次數(shù)。經(jīng)過(guò)分析和仿真實(shí)驗(yàn)的驗(yàn)證,表明TCPW-J能夠較為有效地判斷丟包的原因,提高了TCPW算法對(duì)網(wǎng)絡(luò)帶寬的利用率。
1 TCPW-J算法
1.1 設(shè)計(jì)思想

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

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

 

 

    在測(cè)試友好性的過(guò)程中,建立兩個(gè)不同的TCP流,分別運(yùn)行New Reno和TCPW-J協(xié)議。表2給出了這兩種算法在不同誤碼率環(huán)境下的平均吞吐量對(duì)比結(jié)果。從結(jié)果中可以看出,TCPW-J對(duì)New Reno是友好的。

    本文在TCPW的基礎(chǔ)之上提出了改進(jìn)算法TCPW-J,根據(jù)帶寬估計(jì)值BWE的變化情況劃分擁塞等級(jí),以推測(cè)最可能導(dǎo)致丟包的原因,區(qū)分無(wú)線丟包和擁塞丟包。仿真實(shí)驗(yàn)結(jié)果表明,TCPW-J算法在誤碼率較高的無(wú)線網(wǎng)絡(luò)環(huán)境下,不僅表現(xiàn)出了更高的網(wǎng)絡(luò)帶寬利用率吞吐量,而且保持了良好的公平性和友好性。
參考文獻(xiàn)
[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:協(xié)議[M].  范建華,等譯. 北京:機(jī)械工業(yè)出版社,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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。