999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

TCP擁塞控制機制Slow-Start淺析

2018-01-20 06:42:04尚建貞
電腦知識與技術 2018年31期

尚建貞

摘要:TCP協議在Internet中廣泛使。但隨著網絡通信量的增加,網絡擁塞不可避免。如何有效的處理網絡擁塞,成為網絡研究的熱門問題,人們也提出了很多不同的解決方案。Slow-Start(慢開始)算法通過設置接收窗口、擁塞窗口兩個變量和一套完整的控制機制,可以有效避免擁塞的發生,但網絡中的數據流是動態變化的,任何一種擁塞控制算法都不可能完全避免擁塞的發生,Slow-Start算法也有其自身的局限性。

關鍵詞: TCP; 擁塞控制; Slow-Start; 接收窗口; 擁塞窗口

中圖分類號:TP393.04? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2018)31-0045-02

Slow-Start Analysis of TCP Congestion Control Mechanism

SHANG Jian-zhen

(Henan University of Animal Husbandry and Economy, Zhengzhou 450044, China)

Abstract:The TCP is widely used in Internet. But with the increase of network traffic, network congestion is inevitable. How to deal with network congestion effectively has become a hot issue in network research. People also put forward many different solutions. Slow-Start algorithm can effectively avoid congestion by setting two variables of receiving window, congestion window and a complete set of control mechanism. However, the data flow in the network is dynamic, and any congestion control algorithm can not completely avoid the occurrence of congestion. Slow-Start algorithm also has its own limitations.

Key words: TCP; congestion control; Slow-Start; receiving window; congestion window

1 引言

Internet具有資源共享的屬性,所以從某種意義上來說他不能因為網絡資源不足而限制用戶的數量,拒絕提供服務。當網絡資源有限的時候,只能降低服務質量繼續為有需要的用戶提供服務。擁塞的發生是由于網絡資源的缺乏引起,但是單純的增加網絡資源并不能避免擁塞的發生。當數據包在網絡中的轉發結點中經過長期時間排隊完成轉發時,數據包本身可能早已超時;源結點因為未收到對這些數據包的確認,會誤認為超時而重發這些數據包。但是這些數據包已經轉發到了下一跳結點,這樣就會浪費網絡資源,進一步加重網絡擁塞。實際上,轉發結點因為緩存空間不足而丟包更多的由于網絡擁塞引起的,它并不是引起網絡擁塞的主要原因。另外,單純提高數據鏈路的傳輸速率和提高轉發結點的處理能力也不能從根本上解決擁塞問題。

當網絡的負載超出了它的處理能力時,擁塞就會發生。為了防止出現網絡擁塞,TCP設計了很多的擁塞控制機制。雖然網絡層也試圖處理擁塞問題,但大多數的擁塞控制是由傳輸層的TCP協議完成,因為解決網絡擁塞問題的最根本的方法,是減慢數據發送的速率。

擁塞控制是一種用來調整TCP連接上發送數據包速率的算法,通過對發送數據包速率的調整,使之無限接近當前網絡不斷變化的吞吐量。

1999年發布的RFC2581中定義了三種算法:Slow-Start(慢開始),Congestion Avoidance(擁塞避免)和Fast Recovery(快速恢復)。本文僅討論其中的Slow-Start算法。

2 Slow-Start(慢開始)算法

解決網絡擁塞問題,要考慮兩個方面:網絡處理能力和接收方的處理能力。既要考慮發送端的發送速率不會擁塞網絡也要考慮接收端的處理能力。為此,對于每一個TCP連接,都會維持以下兩個狀態變量:

(1)接收方窗口大小rwinsize(riceiver window size):接收方根據當前處理能力所允許的窗口大小,也就是TCP報文段頭部中窗口大小字段,這是來自接收方的流量控制。

(2)擁塞窗口大小cwinsize(congestion window size):是發送方根據網絡擁塞情況自己估算的發送窗口的大小,是來自發送端的流量控制。

發送方確定擁塞窗口的原則是:只要網絡沒有出現擁塞,就把cwinsize的值增大一些,以便把更多的報文段發送出去;如果網絡出現了擁塞,就把cwinsize的值減小一些,以減少發送到網絡中的數據量。發送端如何確定網絡出現擁塞呢?當網絡發生擁塞時,路由器就會把一些無法處理的數據包丟棄,所以發送端如果沒有收到已發送報文的確認報文,就可以認為網絡出現了擁塞。

以上兩個變量中,當rwinsize<cwinsize時,說明網絡的處理能力大于接收的數據處理能力,但是發送方也只能照顧接收端的處理能力,把發送窗口設置為rwinsize大小;? rwinsize>cwinsize時,說明接收端處理能力大于網絡的處理能力,但為了避免網絡擁塞,發送方也只能把發送窗口設置為cwinsize的大小。所以,發送方發送窗口的最大值,應當取cwinsize和rwinsize這兩個變量中較小的一個。

所有的TCP實現中,都支持一種擁塞控制的算法——慢開始算法(slow start)。假定用報文段的個數作為窗口大小的單位,而且接收端的rwinsize足夠大,所以發送窗口只受cwinsize的制約。慢開始算法的原理可以這樣表述:

(1)發送端由小到大,逐漸增大cwinsize的值,而不是開始發送時就設置一個比較大的值。這樣可以使發送端在開始發送時發送到網絡中的數據量大大減少,對于避免網絡擁塞非常有利。同時,每收到對一個報文的確認,就使cwinsize的值加1。

例如,開始時cwinsize=1,發送第一個報文段M1;收到確認后cwinsize加1,此時cwinsize=2;可以再發送2個報文,收到2個確認報文后cwinsize加2,此時cwinsize=4;可以再發送4個報文,收到4個確認報文后cwinsize加4,此時cwinsize=8。

可以看到,在這個過程中,cwinsize的數值呈指數級增長,速度很快。

(2)為防止cwinsize增長過快(無限制的增長,最終會擁塞網絡),設置一個臨界值tmp。當cwinsize>tmp時,每經過一段時間(一般是一個往返時延RTT)cwinsize值只加1,而不管這段時間內收到了幾個確認報文。此時cwinsize的數值呈線性增長,速度大大慢了下來。

(3)不管在上述的任何一個階段,只要網絡發生了擁塞(發送方沒有收到確認或者是收到了重復的確認信息),就把tmp的數值設置為發生擁塞時cwinsize數值的一半,同時把cwinsize重新設置為初始值,重新開始(1)的過程。

這樣做可以迅速減少發送方發送到網絡中的數據量,使發生擁塞的網絡路由器有足夠的時間處理隊列中的數據分組。

圖1說明了上述慢開始算法進行擁塞控制的過程。

(1)TCP連接進行初始化,設置擁塞窗口cwinsize=1,臨界值tmp=16。

(2)開始執行慢開始算法,發送端每收到一個對已發送報文段的確認,cwinsize就加1,然后開始下一次傳輸,所以發送窗口隨著傳輸次數的變化,呈現指數級的增長規律。當cwinsize的值增長到臨界值tmp的時候,就改為線性增長,速率大大慢了下來。

(3)假定當cwinsize=24的時候,網絡出現了擁塞(超時未收到確認報文),則擁塞窗口cwinsize重新設置為1,同時臨界值設置為發生擁塞時發送窗口的一半即tmp=12,然后重新執行慢開始算法。

需要指出的是,任何一種擁塞算法都不能完全避免網絡擁塞。擁塞控制的作用是在擁塞避免階段把擁塞窗口控制為按照線性規律增長,使網絡不太容易出現擁塞。RFC 2581,RFC 2309和RFC 3168提出了其他幾種擁塞控制的方法,感興趣的讀者可以查閱相應的文檔。

參考文獻:

[1] RFC 793,Transmission Control Protocol[S].

[2] RFC 2581,TCP Congestion Control[S].

[3] RFC 2582,The NewReno Modification to TCP's Fast Recovery Algorithm[S].

[4] RFC 2309,Recommendations on Queue Management and Congestion? Avoidance in the Internet[S].

[5] 王碩. 計算機網絡基礎[M].北京:中國水利水電出版社,2014.

[6] 謝鈞. 計算機網絡教程[M].北京:人民郵電出版社,2018.

主站蜘蛛池模板: 99久久精品久久久久久婷婷| 欧美精品亚洲精品日韩专区va| 欧美区在线播放| 国产地址二永久伊甸园| 浮力影院国产第一页| 国产精品自拍露脸视频| 欧美色综合网站| 亚洲综合激情另类专区| 亚洲最大福利视频网| 国产精品一区二区国产主播| 99精品视频在线观看免费播放| 在线视频亚洲色图| 国产乱子精品一区二区在线观看| 午夜视频免费试看| 蜜桃视频一区| 国产另类视频| 亚洲综合在线最大成人| 园内精品自拍视频在线播放| 中文字幕首页系列人妻| 伊人成人在线视频| 无码日韩视频| 日韩专区第一页| 国产成人福利在线视老湿机| 国产女人喷水视频| 国产色网站| 热99精品视频| 在线观看91精品国产剧情免费| 国产区精品高清在线观看| 午夜不卡视频| 91精品久久久久久无码人妻| 国产中文在线亚洲精品官网| 日本黄色不卡视频| 大香网伊人久久综合网2020| 色亚洲激情综合精品无码视频| 国产精品永久久久久| A级全黄试看30分钟小视频| 2020最新国产精品视频| 国内丰满少妇猛烈精品播| 免费观看国产小粉嫩喷水| 91免费国产高清观看| 欧美第九页| 欧美三级日韩三级| V一区无码内射国产| 欧美日韩一区二区在线免费观看 | 一级不卡毛片| 女同久久精品国产99国| 精品成人一区二区三区电影 | 狠狠色婷婷丁香综合久久韩国| 欧美国产日本高清不卡| a级毛片免费网站| 久久精品一品道久久精品| 男人的天堂久久精品激情| 伊人成人在线视频| 中文一区二区视频| 国产va免费精品| 欧美一级在线| 玩两个丰满老熟女久久网| 小说 亚洲 无码 精品| 高清无码手机在线观看| 2019年国产精品自拍不卡| 91国内在线视频| 久久综合九色综合97网| 亚洲愉拍一区二区精品| 亚洲日韩精品无码专区| 国产亚洲高清视频| 欧美日韩中文国产va另类| 999国产精品永久免费视频精品久久| 亚洲日本一本dvd高清| 国产在线自在拍91精品黑人| 青青草国产一区二区三区| 精品亚洲国产成人AV| 国产波多野结衣中文在线播放| 久久综合干| 成人av手机在线观看| 青青草原国产精品啪啪视频| 日本妇乱子伦视频| 国产手机在线ΑⅤ片无码观看| 久久香蕉国产线看观看亚洲片| 国产区在线看| 国产免费精彩视频| 久久成人免费| 国产毛片不卡|