《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > TCP Vegas擁塞避免機制的改進算法
TCP Vegas擁塞避免機制的改進算法
來源:電子技術應用2013年第6期
曹 新, 董 瑋, 譚一酉, 倪長寶
大連東軟信息學院 計算機科學與技術系,遼寧 大連116023
摘要: TCP Vegas協議在許多方面的性能比傳統的TCP協議優越,但是TCP Vegas在擁塞避免機制上存在一些問題,包括與TCP Reno競爭時性能較差、對先前的連接不公平等問題。針對上述問題提出了一種改進的擁塞避免算法TCP Vegas-N,該算法不依賴于其他因素,可在端節點上運行。仿真實驗結果表明,改進的算法在有線網絡中能獲得更好的性能,對解決上述Vegas存在的問題達到了良好的效果。
中圖分類號: TP393
文獻標識碼: A
文章編號: 0258-7998(2013)06-0100-03
Enhanced TCP Vegas congestion avoidance mechanism
Cao Xin, Dong Wei, Tan Yiqiu, Ni Changbao
Dalian Neusoft Institue of Information, Computer Science and Technical Department, Dalian 116023, China
Abstract: TCP Vegas’performance is better than the traditional TCP protocol in many ways.However,studies have shown that TCP Vegas has some defects in its congestion avoidance mechanism.They include that TCP Vegas has a poor performance when it competes with TCP Reno and it is not fair to the previous connections.To solve these problems,the authors proposed an improved congestion avoidance algorithm called TCP Vegas-N.The algorithm did not depend on the other factors and hence could be implemented solely at the end host.The experimental results show that the improved algorithm can get better performance in the wired network and it is a good solution to the problems of the Vegas.
Key words : congestion control;TCP Vegas; round trip time; fairness; NS2

    目前在Internet中廣泛使用且較為成熟的算法是TCP Reno,它通過觀測發送端數據包的丟失來估計當前網絡的可用帶寬,調整擁塞控制窗口以調節發送速率。TCP Vegas是TCP Reno的改進算法,其在發生丟包之前就可以根據往返時間RTT(Round Trip Time)來調整窗口大小。TCP Vegas比TCP Reno能夠更好地利用帶寬,且吞吐量穩定[1]。但是其自身也存在一些無法解決的問題,如公平性、響應不及時以及為保持吞吐量的穩定而不能最大限度地利用帶寬等問題,從而很大程度地限制了它的實際應用性。

    以往的研究中,大多只對TCP Vegas的某一方面進行了改進[2-3],雖然效果有所提升,但不能從根本上改變TCP Vegas存在的問題。本文通過建立TCP Vegas網絡的數學模型,從理論上分析了TCP Vegas在擁塞避免階段的競爭能力處于明顯劣勢的原因,并提出一種TCP Vegas擁塞避免機制的改進算法,分別從數學模型分析與網絡狀況仿真等兩個方面驗證了改進算法,該算法可以改變TCP Vegas擁塞避免機制所帶來的固有問題。

    TCP Vegas根據預期傳送率和實際傳送率之間的差異值來調整cwnd的大小。當diff的值大于β時,意味著傳送速率太快,應該減小cwnd的值以減緩傳送的速率。反之,當diff的值小于α時,則表明傳送速率較慢,應該加大cwnd的值,以增加傳送的速率。
2 TCP Vegas存在的不足及原因分析
    (1)路徑變更問題。由于Base_rtt是最小的回路響應延時。當文件傳輸過程中路徑發生變化時,如果新的路徑有一個較長的延時,TCP Vegas連接不能推斷這個長的rtt是由擁塞還是變更路徑造成的。由于TCP Vegas把rtt的增大都視為擁塞造成的,因此減少了擁塞窗口,進而導致吞吐量退化。
   (2)不公平性問題。 由于期望吞吐量的計算是基于
Base_rtt的測量。當新的連接開始發送數據而其他的連接仍然存在時,其Base_rtt必定會大于其他連接的Base_rtt,因此它比其他的連接更容易增加擁塞窗口。新的連接能夠獲得更高的帶寬,從而導致在TCP Vegas連接中帶寬的不公平分配。
   (3)帶寬利用問題。由于TCP Vegas為了保證其發送速率的穩定性,將rtt中的最小值作為Base_rtt來計算期望吞吐量,在很大程度上限制了發送窗口的增大,從而不能最大限度地利用有效帶寬,在保持穩定性的同時,犧牲了帶寬利用率。
    (4)響應不及時問題。由于TCP Vegas擁塞避免階段所使用的rtt為所有rtt的平均值,因此rtt的變化不能隨著實時rtt的變化而及時變化,導致TCP Vegas對現有網絡擁塞狀況感知比較遲緩,不能對網絡變化及時做出響應。
    (5)不兼容性問題。當TCP Vegas和TCP Reno共享一個瓶頸連接的時候,TCP Reno持續地增加窗口大小直到檢測到一個包的丟失。隨著TCP Reno窗口的不斷增大,鏈路中rtt的值會迅速增大,而TCP Vegas則認為這是擁塞信號,減少擁塞窗口,因此,TCP Reno會竊取TCP Vegas的帶寬,這種不兼容性限制了Vegas的采用。
3 TCP Vegas擁塞避免機制的算法改進
    在TCP Vegas-N中,對Base_rtt和rtt的值選取方式做了改進,使其能夠與網絡情況動態聯系起來,并改進了diff的計算方法,使其更能及時準確地反應網絡狀況,從而較好地彌補了上述缺點,改進部分的代碼如下:
     將rtt的取值由平均值改為實時值:
     rtt = currentTime - v_begtime_;
     將Base_rtt由最小值改為rtt的加權值,使Base_rtt隨著rtt變化而及時變化:
     if (rttLen ≤ 1)
         Base_rtt = rtt;
    else
        Base_rtt = Base_rtt*a+rtt*(1-a);
    其中a為0~1的加權因子,a值越小,Base_rtt隨rtt的變化越及時(本文實驗中a的取值為0.3)。
    用新的計算公式來計算diff值:
  b= Base_rtt/rtt;
     diff=(1-b*b*b)*cwnd(t)+c;
其中c為常數,本文實驗中取值為0.999 999 999。α取1, β取3。
4 仿真實驗和性能分析
    為了驗證改進算法的有效性,本文利用網絡仿真軟件NS2基于圖1中的拓撲結構對原始擁塞控制算法和改進算法進行了仿真實驗對比。

    實驗2:驗證公平性問題。建立兩條鏈路,兩條鏈路相隔5 s開始,時間設為100 s。
    圖4為TCP Vegas兩條鏈路相隔5 s后出發的擁塞窗口情況,后開始的鏈路的Base_rtt大于先前的Base_rtt,從而將會更大地增加發送窗口,導致了不公平性的發生。圖5為改進后的TCP Vegas擁塞窗口情況,保持了良好的公平性。

    實驗3:驗證響應不及時問題。建立三條鏈路,兩條鏈路在0秒同時開始,第三條鏈路在第100秒開始,第200秒結束,總時間設為300秒。
    在圖6中,當第三條鏈路在第100 s開始時,TCP Vegas只有第一條鏈路感知到了網絡擁塞變化,并降低了發送窗口。在第200秒時,當第三條鏈路結束發送,前兩條鏈路仍然保持原來發送窗口不變。而在圖7中,TCP Vegas-N可以根據網絡擁塞情況及時做出反應,既保證了各條鏈路的公平性,同時又充分利用了有效帶寬。

 

 

    本文從Base_rtt和rtt的值選取方式入手,通過改進TCP Vegas擁塞避免算法,立足于解決TCP Vegas的固有問題。仿真實驗表明,改進后的算法有效地解決了TCP Vegas本身所存在的公平性、路由更換、帶寬利用和響應不及時等問題。本文給出了詳細的算法描述,該算法只需在發送端進行修改,不需要修改中間路由器,易于網絡實施。
參考文獻
[1] Chan Yicheng, LIN C L,CHAN C T,et al. Improving  performance of TCP Vegas for high bandwidth-delay product networks[C]. Proc of the 8th International Conference  on Advanced Communication Technology.2006:464.
[2] 李鵬,陳元琰,羅曉署.無線異構網絡環境中基于擁塞狀態區分的TCP Vegas改進算法[J].計算機應用,2010,30(2):309-311.
[3] 王云濤,方建安,張曉輝.基于TCP Vegas的網絡擁塞控制改進算法[J].計算機應用研究,2009,26(12):4645-4647.
[4]  BRAKMO L S, O′MALLEY S W, PETERSON L. TCP  Vegas:New techniques for congestion detection and avoidance[J].IEEE/ACM Transactions on Networking,1994,24(4):1024-1035.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美日韩一区二区三区久久 | 亚洲成人综合在线 | 国产精品久久久久久网站 | 国产精品日韩 | 中国人免费观看高清在线观看二区 | 91日本在线观看亚洲精品 | 国产最新精品 | 国产黄色a三级三级三级 | 久久久久久久国产视频 | a免费毛片在线播放 | 精品国产综合区久久久久久 | 欧美毛片在线观看 | 免费aa在线观看 男人的天堂 | 国产精品久久久久久久久久影院 | 99视频在线免费 | www.自拍| 亚洲国产欧洲精品路线久久 | 日韩欧美精品一区二区三区 | 日美三级 | 在线播放精品一区二区啪视频 | 成人免费视频一区 | 中国一级毛片录像 | 精品动漫一区二区 | 一级毛片真人免费播放视频 | 福利片成人午夜在线 | 国产精品亚洲成在人线 | 亚洲 欧美 成人日韩 | 亚洲国产成人影院播放 | 浮力影院网站午夜 | 一级看片免费视频 | 波多野结衣中文在线 | 国产成人无精品久久久 | 在线亚洲精品国产成人二区 | 99国产精品免费观看视频 | 亚洲综合网址 | 久久精品视频免费观看 | 欧美一级网址 | 亚洲一区二区精品视频 | jizzjizz成熟丰满舒服 | 亚洲第一页在线 | 99精品国产高清一区二区三区香蕉 |