專利名稱:基于隨機回退的tcp擁塞窗口的控制方法
技術領域:
本發(fā)明涉及數據通信領域,尤其涉及TCP (Transmission Control Protocol,傳輸 控制協(xié)議)擁塞窗口隨機回退的控制方法。
背景技術:
TCP通過“慢啟動”、“擁塞避免”、“快速重傳”、“快速恢復”4個算法設置不同 的參數來實現不同TCP擁塞控制,就是和式增加積式減少(AIMD,additive increase multiplicative decrease),TCP根據擁塞窗口來調整發(fā)送速度。瓶頸節(jié)點中最常用的隊列 管理策略是“棄尾”(Drop Tail),即隨著緩沖區(qū)的溢出而丟包,是一種被動隊列管理機制。 “棄尾”的缺陷包括數據流的全局同步,緩沖區(qū)隊列長度振蕩以及持續(xù)隊滿造成的延遲較大 等。當一個基于TCP協(xié)議的發(fā)送端檢測到連續(xù)三個重復應答(ACK)或包的重傳計時器超時, 都進行重傳,然后發(fā)送端減小發(fā)送窗口,進入慢啟動或擁塞避免等擁塞控制階段。這會立刻 降低發(fā)送端的發(fā)送速率,以便減輕路由器擁塞。此后,發(fā)送端會逐漸將發(fā)送窗口恢復至擁塞 發(fā)生前的大小。當多個相同控制方法的TCP都產生丟包時,它們都要減少自身發(fā)送速率,由 于相同算法的TCP都按相同的系數減少發(fā)送速率,會造成路由器從擁塞狀態(tài)進入低利用率 狀態(tài),當探測到路由器空閑時,各發(fā)送端又增大發(fā)送速率,路由器又進入擁塞狀態(tài),如此往 復,產生了“全局同步”問題?!叭滞健睂е骆溌穾挼睦寐氏陆?,造成網絡資源浪費。
發(fā)明內容
本發(fā)明的目的所要解決的問題就是為在網絡發(fā)生擁塞時,TCP能按隨機數調整擁 塞窗口,緩和全局同步,提高網絡資源的利用率,提出一種基于隨機回退的TCP擁塞窗口的 控制方法。為了實現上述目的,本發(fā)明采用的技術方案是本發(fā)明只改變TCP擁塞控制過程中“快速重傳”階段的擁塞窗口減小機制和“擁塞 避免”時的擁塞窗口增加機制,其余部分不涉及。當瓶頸節(jié)點擁塞時,每個TCP各自計算一個W,l]范圍內的隨機數,然后每個TCP 按照各自計算的隨機數減少自己的擁塞窗口,這樣有的TCP擁塞窗口減少的多,而有的TCP 擁塞窗口減少的少,每個TCP的發(fā)送速度減少不一致,避免瓶頸節(jié)點的發(fā)送速度減少過多 而導致效率下降;在擁塞避免階段,每個TCP各自計算一個W,1]范圍內的隨機數,然后每 個TCP按照各自計算的隨機數增加自己的擁塞窗口,有的TCP擁塞窗口增加的多,而有的 TCP擁塞窗口增加的少,這樣每個TCP的發(fā)送速度增加不一致,這樣防止發(fā)送速度過快地增 長,有效延遲下次擁塞發(fā)生的時間和平緩擁塞窗口的波動。對于每一個運行的TCP來說,具體包括如下步驟(1)按照當前擁塞窗口發(fā)送數據;(2)收到應答信號,判斷是否新數據包應答,如果是則到第(3)步,如果否則到第 (6)步;
(3)判斷數據是否發(fā)送完,如果是到第(9)步,如果否到第⑷步;(4)判斷TCP當前擁塞窗口是否大于等于慢啟動閾值,也就是判斷是否在擁塞避 免階段,如果是則到第(5)步,如果否則到第(8);(5)則將其擁塞窗口的增加量設置為R(e, f)*l/Cwnd, R(e, f)表示為e到f之間 的隨機數,其中0彡e彡f彡1,Cwnd為當前的擁塞窗口,然后到第(1)步;(6)則判斷是否第3個非新數據包應答,也就是判斷是否第3個重復應答,如果是 則到第(7)步,如果否則到第⑶步;(7)則其將其擁塞窗口的減少量設置為R(c,d)*Cwnd,Cwnd表示當前擁塞窗口, R(c,d)表示為c到d之間的隨機數,其中0彡c彡d彡1,然后到第(1)步;(8) TCP其它過程處理,不在本發(fā)明范圍內,然后到第(1)步;(9)該次發(fā)送結束。TCP如果都按同樣的量減少或增加擁塞窗口,必然會導致“全局同步”,在TCP都按 照同樣的量減少擁塞窗口時,經常會使瓶頸節(jié)點的發(fā)送速度下降到0,導致瓶頸節(jié)點空閑, 利用率下降。因此,如果每個TCP隨機減少擁塞窗口,會使瓶頸節(jié)點的發(fā)送速度下降到0的 次數減少,從而提高網絡的傳輸效率。本發(fā)明通過隨機調整TCP擁塞窗口,不需要TCP發(fā)送端的進行復雜的計算和帶寬 預測,減緩了 TCP全局同步,提高了網絡帶寬的利用率,適合在現有的Internet上使用。
圖1是本發(fā)明方法的流程圖;圖2是本發(fā)明方法進行測試的網絡拓撲。
具體實施例方式下面結合附圖對本發(fā)明作進一步詳細說明。在本發(fā)明的實例中,c,d,e,f取值為c = 0. 2,d = 0. 55,e = 0. 38, f = 1.0。本發(fā)明中TCP按隨機數調整擁塞窗口,Cwnd表示TCP擁塞窗口,每個TCP其處理 方法如圖1所示,(I)TCP按照當前擁塞窗口發(fā)送數據;(2)收到應答信號,判斷是否新數據包應答,如果是則到第(3)步,如果否則到第 (6)步;(3)判斷數據是否發(fā)送完,如果是到第(11)步,如果否到第(4)步;(4)判斷TCP當前擁塞窗口是否大于等于慢啟動閾值,也就是判斷是否在擁塞避 免階段,如果是則到第(5)步,如果否則到第(8);(5)Cwnd = Cwnd+R(0. 38,1. 0)*1/Cwnd,R(0· 38,1. 0)表示為 0. 38 到 1. 0 之間的
平均分布隨機數,然后到第(1)步;(6)則判斷是否第3個非新數據包應答,也就是判斷是否第3個重復應答,如果是 則到第(7)步,如果否則到第(9)步;(7)Cwnd = Cwnd-R(0. 2,0. 55)*Cwnd,Cwnd 表示當前擁塞窗口,R(0. 2,0. 55)表示 為0. 2到0. 55之間的平均分布隨機數,然后到第(1)步;
(8)當前是慢啟動階段,Cwnd = Cwnd+Ι,然后到第(1)步;(9)判斷重復應答是否超過3個,如果是則到第(10)步,如果否則到第⑴步;(IO)Cwnd = Cwnd+Ι,然后到第(1)步;(11)本次發(fā)送結束。圖2是本發(fā)明方法的測試網絡環(huán)境,RO為瓶頸節(jié)點,瓶頸鏈路位于節(jié)點RO和節(jié) 點Rl之間,鏈路容量12Mbps,延時15ms,采用棄尾隊列管理,緩存大小為30packetS ;節(jié)點 Si均為持久性FTP業(yè)務源,他們與節(jié)點RO之間的鏈路容量均為20Mbps,延時15ms,向目標 節(jié)點Di發(fā)送數據;節(jié)點Di與節(jié)點Rl之間的鏈路容量均為20Mbps,延時15ms ;數據包均為 1040Byte (包括40Byte包頭)。接收端Di的窗口設置足夠大,使得TCP發(fā)送僅受擁塞窗口 Cwnd控制。表1是本發(fā)明方法圖1實施例與目前Internet使用最廣泛的TCP Rewnero在圖 2網絡環(huán)境下進行比對,設置圖2中的TCP發(fā)送節(jié)點S個數分別為2、4、6、8、10時,接收節(jié) 點D個數同時也為2、4、6、8、10時,分別采用TCP Rewnero和本發(fā)明方法,統(tǒng)計100秒內瓶 頸節(jié)點RO發(fā)送的有效數據包個數。由表1可見本發(fā)明方法的網絡傳輸效率明顯高于TCP Rewnero ο表1本發(fā)明方法與TCP Newreno比對結果
權利要求
一種基于隨機回退的TCP擁塞窗口的控制方法,其特征在于在瓶頸節(jié)點擁塞時,每個TCP各自計算一個
范圍內的隨機數,然后每個TCP按照各自計算的隨機數減少自己的擁塞窗口;在擁塞避免階段,每個TCP各自計算一個
范圍內的隨機數,然后每個TCP按照各自計算的隨機數增加自己的擁塞窗口。
2.根據權利要求1所述的基于隨機回退的TCP擁塞窗口的控制方法,其特征在于每一 個運行的TCP的運行方式如下(1)按照當前擁塞窗口發(fā)送數據;(2)收到應答信號,判斷是否新數據包應答,如果是則到第(3)步,否則到第(6)步;(3)判斷數據是否發(fā)送完,如果是到第(9)步,否則到第(4)步;(4)判斷TCP當前擁塞窗口是否大于等于慢啟動閾值,也就是判斷是否在擁塞避免階 段,如果是則到第(5)步,否則到第(8);(5)將TCP擁塞窗口的增加量設置為R(e,f)*l/Cwnd,R(e, f)表示為e到f之間的隨 機數,其中0彡e < f 彡1,Cwnd為當前的擁塞窗口,然后到第(1)步;(6)判斷是否為第3個非新數據包應答,也就是判斷是否第3個重復應答,如果是則到 第(7)步,否則到第⑶步;(7)將TCP擁塞窗口的減少量設置為R(c,d)*Cwnd,Cwnd表示當前擁塞窗口,R(c,d) 表示為(到(1之間的隨機數,其中0彡c<d彡1,然后到第(1)步;(8)該次發(fā)送結束。
全文摘要
本發(fā)明公開了一種基于隨機回退的TCP擁塞窗口的控制方法,其特征是在瓶頸節(jié)點擁塞時,每個TCP各自計算一個
范圍內的隨機數,然后每個TCP按照各自計算的隨機數減少自己的擁塞窗口;在擁塞避免階段,每個TCP各自計算一個
范圍內的隨機數,然后每個TCP按照各自計算的隨機數增加自己的擁塞窗口。本發(fā)明通過隨機調整TCP擁塞窗口,不需要TCP發(fā)送端的進行復雜的計算和帶寬預測,減緩了TCP全局同步,提高了網絡帶寬的傳輸效率,適合在現有的Internet上使用。
文檔編號H04L29/06GK101969432SQ201010297460
公開日2011年2月9日 申請日期2010年9月27日 優(yōu)先權日2010年9月27日
發(fā)明者姜文剛, 孫金生, 尚婕, 王執(zhí)銓 申請人:江蘇科技大學