擁塞控制基本概念

來源:互聯網
上載者:User

標籤:io   使用   strong   資料   問題   sp   on   c   工作   

一、擁塞控制基本概念

  在某段時間內,若對網路中某資源的需求超過了該資源所能提供的部分,網路的效能就要變壞--產生擁塞(congestion)。出現資源擁塞的條件是:

    對資源需求的總和>可用資源

  若網路中產生擁塞,網路的效能就要明顯變化,整個網路的輸送量將隨輸入負荷的增大而下降。

  擁塞控制 vs 流量控制

  1)擁塞控制索要做的事情只有一個前提,就是使網路能夠承受現有的網路負荷;

  2)擁塞控制是一個全域性的過程,涉及所有的主機、所有的路由器以及與降低網路傳輸效能有關的所有因素;

  3)流量控制往往指在給定的發送端和接收端之間的點對點通訊的控制;

  4)流量控制所要做的就是抑制發送資料的速率,以便使接收端來得及接收;

  5)擁塞控制是很難設計的,因為它是一個動態(而不是靜態)問題;

  6)當前網路正朝著告訴化的方向發展,這很容易出現緩衝不夠大而造成分組的丟失。但分組的丟失是網路發生擁塞的徵兆,而不是原因;

  7)在許多情況下,甚至正式擁塞控制本身成為引起網路效能惡化甚至發生死結的原因,這點應該特別引起重視。

擁塞控制又分為閉環控制與開環控制

1)開環控制就是在設計網路時事先將有關發生擁塞的因素考慮周到,力求網路在工作時不產生擁塞(感覺很難啊)

2)閉環控制是基於反饋環路的概念。屬於閉環控制的有以下幾種措施:

  檢測網路系統以便檢測到擁塞在何時、何處發生;

  將擁塞發生的資訊傳送到可採取行動的地方;

  調整網路的運行以解決出現的問題。

 

二、擁塞控制的4種演算法

  發送端需要維護兩個視窗:接收端視窗(由接收端將其放在TCP保溫的首部的視窗欄位通知發送端);擁塞視窗(cwnd:發送端根據自己估計的網路擁塞程度而設定的視窗值,反映了網路的當前容量)。

        發送端視窗的上限值=Min(rwnd,cwnd)

note:接收方總是有足夠大的緩衝空間,因為發送視窗的大小由網路的擁塞程度來決定,也就是說可以將發送視窗等同為擁塞視窗。


慢開始演算法

步驟:

  • 在主機剛剛開始發送報文段的時候可以將cwnd設定為1;
  • 在每收到一個報文段確認後,將擁塞視窗加1;
    • note:每收到一個隊新的報文段的確認後,將擁塞視窗加1,第二次就會收到兩個確認,第三次就會收到4個確認,所以每一個輪次的傳輸,cwnd就會翻倍。
  • 用這樣的方法逐步增大發送端cwnd,可以是分總注入到網路的速率更加合理;
  • 當慢開始的cwnd大小增大到規定的慢開始門限ssthresh之後,改用擁塞避免。

 

擁塞避免演算法

擁塞視窗改為線性增加,每次增加1。

當cwnd<ssthresh時,使用慢開始演算法;

當cwnd>ssthresh時,停止使用慢開始演算法,改用擁塞避免演算法;

當cwnd=ssthresh時,都可以;

 

無論是在慢開始階段,還是在擁塞避免階段,只要發送方判斷出擁塞(沒有按時收到確認),就把ssthresh設為發送視窗的一半(但不能小於2)(乘法減小),然後把cwnd設定為1,執行慢開始演算法。(這樣做的目的就是要迅速減少主機發送到網路中的分組數,是的發生擁塞的路由器有足夠時間把隊列中積壓的分組處理完。

 

快重傳演算法

首先要求接收方沒收到一個時序的報文段後就立即發出重複確認,發送方只要連續收到3個重複確認後,就應當立即重傳尚未收到的報文段。

快恢複演算法

當發送單收到連續三個重複的確認時,就執行“乘法減小”演算法,把ssthresh設定為擁塞視窗的一半,但是接下去不是從頭執行慢開始演算法;

由於發送方現在認為網路很有可能沒有發生擁塞,所以現在不執行慢開始演算法,即擁塞視窗cwnd現在不設定為1,設定為新的ssthresh大小,從那個地方開始執行擁塞避免演算法。

 

擁塞控制基本概念

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.