《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 一種自適應比例系數的TCP擁塞控制策略
一種自適應比例系數的TCP擁塞控制策略
來源:微型機與應用2011年第12期
陶 洋,杜軍恒,武 俊
(重慶郵電大學 軟件技術中心,重慶400065)
摘要: 互聯網業務的快速發展使得網絡擁塞日益嚴重,因此如何減輕網絡擁塞也就成為當前研究的熱點。針對這一問題,首先敘述了TCP擁塞控制的基本原理及其相關算法;然后對擁塞控制算法進行了詳細分析并提出了自適應比例系數的新策略;最后對新策略進行NS2仿真。仿真結果表明,新方法提高了包投遞率,降低了端到端時延。
Abstract:
Key words :

摘  要: 互聯網業務的快速發展使得網絡擁塞日益嚴重,因此如何減輕網絡擁塞也就成為當前研究的熱點。針對這一問題,首先敘述了TCP擁塞控制的基本原理及其相關算法;然后對擁塞控制算法進行了詳細分析并提出了自適應比例系數的新策略;最后對新策略進行NS2仿真。仿真結果表明,新方法提高了包投遞率,降低了端到端時延。
關鍵詞: 擁塞控制;自適應;NS2

    21世紀以來,計算機網絡發生了突飛猛進的發展,各種新業務在互聯網上的應用也越來越廣泛,這就給帶寬有限的網絡帶來了巨大的負擔,從而引發了嚴重的網絡擁塞問題。
    TCP是互聯網上應用極其廣泛的基于滑動窗口的擁塞控制協議。它使用了一種可靠的設計思路,這種思路具有較為簡單、擴展性強等特點。它能夠依據網絡的實際具體情況自動地調整擁塞窗口的大小,使得TCP數據的發送能夠依據網絡的負擔自適應地變化。但近年來,互聯網上的用戶越來越多,業務量也隨之增加,網絡擁塞問題亦越來越嚴重。因此,人們對擁塞控制的研究重視程度亦越來越高,先后提出了許多新的算法,如TCP Tahoe、TCP Reno、TCP New-Reno、TCP sack、TCP Vegas[1]。這些算法著重研究了快重傳和快恢復機制,而慢開始和擁塞避免并無過多涉及。但慢啟動和擁塞避免亦不能忽視,因為這些策略的好壞對擁塞控制機制的影響同樣是巨大的。針對該問題,本文提出了一種自適應比例系數的擁塞控制策略。
1 TCP擁塞控制原理及相關算法
    互聯網擁塞控制主要由傳輸層完成,它通過改變一些主要的參數來降低發送端數據的發送速率。這些參數主要包括擁塞窗口cwnd(發送端一次最多發送的數據包的個數)和慢開始門限ssthresh(慢開始階段與擁塞避免階段的分界點)。
    早期的擁塞控制協議中,發送端每發送一個報文就必須收到接收端返回的ACK后才能發送下一個報文。發送端在等待接收端發送ACK的期間內不發送任何報文;當報文丟失時,必須等到計時器超時后才能重發丟失的數據包。顯然,這種策略嚴重地浪費了網絡的帶寬,網絡傳輸數據的效率極其低下。
    現在使用的擁塞控制協議采用了AMID[2]控制算法,能夠達到較好的擁塞控制效果,提高了網絡數據的傳輸效率,這種策略一般分為4個階段[3],具體如下:

 


    (1)慢開始階段。在TCP建立連接之初,如果發送方將cwnd設置為較大值,發送方有可能將較大的數據字節全部注入到網絡中,但此時并不清楚網絡的狀況,因此就有可能引起網絡擁塞。經實際證明,最好的方法是試探一下,即由小到大逐漸增大發送端的cwnd數值。通常發送方在開始發送數據報文段時將cwnd設置為一個最大的MSS數值,發送方每接收到接收方發來的一個ACK,就把cwnd增加一個值,直到cwnd增加到ssthresh(慢開始門限值),此時進入擁塞避免階段,采取擁塞避免算法。在采取擁塞避免算法之前,擁塞窗口cwnd的值以指數方式增長。
    (2)擁塞避免階段。當cwnd值達到ssthresh(慢開始門限值)時,此后進入擁塞避免階段,發送端的cwnd每經過一個RTT(往返時延)就增加一個MSS的大?。ǘ还茉跁r間RTT內收到了幾個接收端發送的ACK)。這樣,發送端cwnd就不再像慢開始階段那樣進行指數增長 ,而是按線性規律增長(稱為加法增大),這比慢開始算法的擁塞窗口增長速率緩慢得多。在沒有丟包之前,該策略將一直持續下去。當假定cwnd的數值增長到N(N=24)時,網絡出現超時(表明網絡擁塞了)。ssthresh置為N/2(為發送窗口數值的一半,這種算法稱為乘法減小),cwnd重置為1,并執行慢開始算法。當cwnd=12時改為執行擁塞避免算法,擁塞窗口按線性規律增長,每經過一個RTT就增加一個MSS的大小。
    (3)快重傳階段。前面的慢開始和擁塞避免算法是在TCP早期使用的擁塞控制算法,后來人們對其進行了改進,因此就有了快重傳和快恢復。假設發送端發送了M1~M4這4個報文段,當接收端收到M1和M2后,就發出確認ACK2和ACK3?,F假定M3丟失了,接收端收到下一個M4,發現其序號不對,但仍收下放在接收緩存中,同時發出確認,但發出的是重復的ACK3(不能發送ACK5,因為ACK5表示M4和M3都已經收到了)。這樣發送端知道現在可能是網絡出現的擁塞造成了分組丟失或是M3仍滯留在網絡中某處,還需經過較長的時延才能到達接收端。發送端接著發送M5和M6,接收端收到了M5和M6后,還要分別發出重復的ACK3。這樣發送端共接收到了4個ACK3,其中3個是重復。如果快重傳算法規定,當發送端連續收到3個重復的ACK時即可斷定有分組丟失了,就應立即重傳丟失的報文而不必繼續等待為M3設置的重傳計時器超時。由此可知,快重傳并非取消重傳計時器,而是在某些情況下更早地重傳丟失的報文段。
    (4)快恢復階段。與快重傳配合使用的還有快恢復算法,當不使用快恢復算法時,發送端若發現網絡出現擁塞就將擁塞窗口置為1,然后執行慢開始算法。但這樣做的缺點是網絡不能很快地恢復到正常狀態??旎謴退惴梢暂^好地解決這一問題。當發送端連續接收到3個重復的ACK時,就采用乘法減小設置ssthresh,與慢開始不同的是cwnd設置為ssthresh+3×MSS,然后執行擁塞避免算法,這樣可以使網絡快速恢復到正常水平(與cwnd設置為1相比),大大地提高了網絡的吞吐量。
    TCP擁塞控制算法效果圖如圖1所示。


2 乘法減小及其存在問題
    當假定cwnd的數值增長到N(N=24)時,網絡出現超時(表明網絡擁塞了)。ssthresh置為N/2,ssthresh的新數值為12,這種算法稱為“乘法減小”。進一步說,“乘法減小”是指不論在慢開始階段還是擁塞避免階段,只要出現一次超時(即出現一次網絡擁塞),就將慢開始門限值ssthresh設置為當前的擁塞窗口值的1/2。當網絡頻繁出現擁塞時,ssthresh值就會下降得很快,以大大減少注入到網絡中的分組數。但是網絡擁塞極其頻繁時,這種固定比例的減小策略就會存在問題,這種減小力度不夠大,仍會造成網絡十分擁堵,甚至使得網絡發生崩潰;當網絡很少出現擁塞時,這種固定的減小策略會使得注入網絡的分組數不夠多,從而造成網絡帶寬得不到充分利用,造成網絡資源的浪費。
3 一種新的變比例因子的乘法減小策略
    針對固定比例因子的“乘法減小”策略容易出現的一些問題,本文提出了一種新的變比例因子的策略,其主要思路是在數據傳送初期設置4個參數:3個時間參數t1、t2、△t和比例因子p,依據3個時間參數的變化來動態調整比例因子p的大小,從而使得比例因子p根據網絡的狀況自適應地變化。
    具體思路:引入3個時間參數a、b、c和p(0<p<1)。t1是上次超時的時間,t2是本次超時的時間,△t是本次超時與上次超時的時間差,p是減小比例系數并賦初值為0.5。當出現超時時,比較t2-t1與△t的大小,(1)若t2-t1<△t,判斷p是否小于0.2,如果p<0.2,則p的值大小不變,且將t2-t的值賦給△t,將t2的值賦給t1;否則將p-0.2的值賦給p,將t2-t的值賦給△t,將t2的值賦給t1;(2)若t2-t1≥△t,判斷p是否小于0.8,如果p>0.8,則p的值大小不變,將t2-t的值賦給△t,t2的值賦給t1,否則將p+0.2的值賦給p,t2-t的值賦給△t,且將t2的值賦給t1。新策略的算法描述大致如下。
t1=初值;
t2=初值;
p=0.5 ;
if(超時)
{
    t2=getcurrenttime();
    if(t2-t1>=△t)
      {
        if(p>0.8)
        {
            p=0.9;
            ssthresh=(int)p×cwnd;
            △t=t2-t1;
            t1=t2;
        }
        else
        {
            p+= 0.2;
            ssthresh=(int)p×cwnd;
            △t=t2-t1;
            t1=t2;
        }
    }
    else
    {
        if(p<0.2)
        {
            p=0.1;
            ssthresh=(int)p×cwnd;
            △t=t2-t1;
            t1=t2;
        }
        else
        {
            p-=0.2;
            ssthresh=(int)p×cwnd;
            △t=t2-t1;
            t1=t2;
        }
    }
}
    本文所提出的動態變化系數策略如上所述,新策略可以根據網絡狀態的好壞動態地調整系數p的大小。
4 仿真
4.1 仿真場景

    為了證明新策略的有效性,本文使用NS2[4]網絡仿真軟件對未改進的策略與改進后的策略進行了仿真對比。本文使用的網絡拓撲圖如圖2所示。
    圖2中,s1、s2為發送端,t1、t2為干路的路由器,r1、r2為接收端。在上面的拓撲圖中,建立了兩條鏈路,一條為s1將數據通過干路路由器轉發,將數據發送到r1;另一條為s2將數據通過干路路由器轉發,將數據發送到r2。兩條鏈路均采用基于TCP的FTP連接,傳輸速率為10 Mb/s,延遲為2 ms,分組大小為1 000 B。干路路由器t1、t2之間構成瓶頸鏈路,傳輸速率為1.5 Mb/s,延遲為50 ms。

4.2 仿真結果分析
    圖3、圖4是新舊策略包到達率和端到端延時比較,可以看到,新策略的到達率比原策略大,這是因為新策略可以根據網絡狀態的好壞動態調整乘法比例因子。當網絡發生擁擠時,新策略降低乘法因子,減少數據包的發送,減小網絡負擔,因此數據包到達的可能性提高,封包端到端時延減小。

    本文闡述了擁塞控制原理及算法并對算法做出了一些改進,提出了自適應比例因子乘法減小策略。通過NS2仿真分析可知,這種策略明顯提高了網絡的性能。
參考文獻
[1] 王云濤,方建安,張曉輝,等.基于TCP Vegas的網絡擁塞控制改進算法[J].計算機應用研究,2009,26(12):56-58.
[2] Yang Ming,Hang Fuyan.AIMD-based congestion control  for layered multicast[S].IEEE.2002,02:833-837.
[3] 謝希仁.計算機網絡[M].北京:電子工業出版社,2006.
[4] 徐雷鳴,龐博,趙耀.NS與網絡模擬[M].北京:人民郵電大學出版社,2003.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一本色道久久99精品综合 | 国产日韩欧美高清免费| 欧美成在线观看| 久久人人看视频| 久久国产精品久久久| 香蕉成人伊视频在线观看| 亚洲综合欧美日韩| 亚洲欧美成人精品| 亚洲尤物在线视频观看| 亚洲一区二区日本| 亚洲直播在线一区| 亚洲宅男天堂在线观看无病毒| 亚洲一区二区三区涩| 亚洲一区二区三区高清不卡| 亚洲一区二区免费视频| 亚洲天堂av高清| 亚洲免费中文| 欧美亚洲日本一区| 久久9热精品视频| 久久久久久久久久久久久久一区 | 亚洲最黄网站| 亚洲最新视频在线| 日韩一级精品视频在线观看| 一本色道久久综合亚洲精品小说 | 国产中文一区二区| 激情亚洲一区二区三区四区| 禁断一区二区三区在线| 伊人精品在线| 亚洲黄一区二区| 亚洲免费不卡| 亚洲午夜久久久久久久久电影院| 亚洲小少妇裸体bbw| 午夜日韩在线| 亚洲盗摄视频| 日韩系列在线| 亚洲午夜黄色| 欧美一区在线视频| 久久一区中文字幕| 欧美黄色影院| 国产精品久久久一区麻豆最新章节| 国产精品一区二区在线| 韩国欧美一区| 亚洲日本免费电影| 亚洲影院免费| 亚洲国产精品日韩| 这里只有精品视频| 欧美一级专区| 免费在线国产精品| 欧美日韩综合精品| 国产欧美日韩三级| 亚洲成人影音| 一区二区三区欧美在线| 蜜臀av在线播放一区二区三区| 午夜视频在线观看一区二区三区| 亚洲欧美精品suv| 欧美在线看片| 欧美成人午夜| 欧美亚洲第一区| 国产亚洲精品资源在线26u| 亚洲高清精品中出| 夜夜嗨av色一区二区不卡| 先锋影音国产精品| 99精品久久免费看蜜臀剧情介绍| 亚洲欧美另类在线| 免费欧美电影| 国产精品女主播一区二区三区| 国内伊人久久久久久网站视频| 亚洲精品中文在线| 欧美怡红院视频| 一区二区三区www| 久久九九免费视频| 欧美日韩在线一区二区| 国产一区二区日韩精品| 亚洲精选在线观看| 久久激情网站| 亚洲图片欧洲图片日韩av| 久久久亚洲欧洲日产国码αv| 欧美三级在线播放| 在线看片日韩| 亚洲欧美日韩精品久久| 一本久道久久综合婷婷鲸鱼| 久久久久久69| 国产精品夜夜夜一区二区三区尤| 亚洲精品1区2区| 久久精品国产亚洲一区二区| 亚洲专区在线视频| 欧美高清在线视频| 国产真实乱偷精品视频免| 中文无字幕一区二区三区| 亚洲三级视频| 久久9热精品视频| 欧美午夜精品理论片a级大开眼界| 伊人成年综合电影网| 先锋影音网一区二区| 亚洲综合日韩在线| 欧美国产视频在线| 国内精品久久久久久久影视蜜臀 | 午夜精品亚洲一区二区三区嫩草| 99re视频这里只有精品| 久久综合狠狠综合久久激情| 国产精品区一区二区三| 亚洲免费黄色| 亚洲人午夜精品免费| 久久精品视频在线看| 国产精品国产三级国产a| 亚洲精品午夜| 亚洲精品一区二区三区蜜桃久 | 亚洲美女中文字幕| 亚洲精品日韩一| 久久综合九九| 国产在线精品二区| 西西裸体人体做爰大胆久久久| 午夜视频在线观看一区二区三区| 欧美手机在线| 99精品99久久久久久宅男| 亚洲三级免费观看| 欧美不卡激情三级在线观看| 国精品一区二区| 欧美制服丝袜| 久久精品主播| 国产日韩欧美在线一区| 性xx色xx综合久久久xx| 欧美一区二区三区在线观看| 国产精品亚洲第一区在线暖暖韩国| 亚洲午夜在线观看| 午夜精品影院| 国产精品免费看| 亚洲一区二区在| 欧美一区在线看| 国产日韩欧美不卡| 性色av一区二区三区在线观看 | 日韩视频在线免费观看| 欧美激情a∨在线视频播放| 亚洲国产精品久久久久婷婷老年| 亚洲精品资源| 欧美日韩亚洲一区二| 在线一区免费观看| 性欧美超级视频| 国产亚洲欧美色| 亚洲国产毛片完整版 | 亚洲国产婷婷| 亚洲小说春色综合另类电影| 国产精品久久久久久av福利软件| 亚洲女同在线| 久久久国产精品亚洲一区| 国产区日韩欧美| 久久国产综合精品| 欧美高清在线视频观看不卡| 99精品国产在热久久婷婷| 亚洲免费网址| 国产婷婷成人久久av免费高清| 亚洲高清网站| 欧美日韩极品在线观看一区| 亚洲午夜精品视频| 久久成人18免费网站| 一区视频在线| 一区二区三区 在线观看视频| 国产精品视频999| 久久riav二区三区| 欧美激情综合五月色丁香| 在线中文字幕不卡| 欧美亚洲视频一区二区| 国色天香一区二区| 一区二区三区免费网站| 国产精品盗摄久久久| 欧美在线视频免费| 欧美激情bt| 午夜精品999| 欧美激情女人20p| 亚洲一区二区三区精品在线观看| 久久久天天操| 一区二区三区日韩精品视频| 久久人人超碰| 在线视频亚洲一区| 久久婷婷综合激情| 99re热精品| 久久免费高清| av成人免费观看| 久久免费视频在线| 夜夜嗨av一区二区三区四季av| 欧美中文字幕在线观看| 亚洲欧洲日产国产综合网| 欧美在线二区| 亚洲免费成人av| 久久青草久久| 亚洲在线第一页| 欧美乱人伦中文字幕在线| 欧美一区二区三区在线| 欧美网站在线| 亚洲精品乱码久久久久久蜜桃91 | 亚洲精品中文字| 久久久久久久综合| 在线一区亚洲| 欧美精品电影在线| 久久国产精品久久精品国产| 国产精品久久久久久久久婷婷| 亚洲欧洲在线看| 国产午夜精品全部视频在线播放| 亚洲视频在线观看一区| 亚洲第一精品夜夜躁人人爽 |