1. 程式人生 > >簡述TCP的流量控制與擁塞控制

簡述TCP的流量控制與擁塞控制

1. TCP流量控制   

    流量控制就是讓傳送方的傳送速率不要太快,要讓接收方來的及接收。

    原理是通過確認報文中視窗欄位來控制傳送方的傳送速率,傳送方的傳送視窗大小不能超過接收方給出視窗大小。

    考慮一種特殊的情況,接收方向傳送方傳送了零視窗的報文段後,接收方又有了一些儲存空間。與接收方向傳送方傳送了非零視窗的報文段。然而這個報文段在傳送過程中丟失了。傳送方的傳送視窗一直為零導致死鎖。

    為了解決這個問題,每個連線設定有持續計時器,只要連線的一方收到零視窗通知,就啟動持續計數器。若持續計數器設定的時間到期,就傳送一個零視窗探測報文段,而對方就在確認這個探測報文段給出現在的視窗值。如果視窗仍然為零,那麼收到這個報文段的一方重置持續計數器,否則,那麼死鎖的僵局就可以打破。

2.TCP的擁塞控制

        擁塞控制:防止過多的資料注入到網路中,這樣可以使網路中的路由器或鏈路過載。如果網路出現擁塞,分組將會丟失,此時傳送方會繼續重傳,從而導致網路擁塞程度更高。因此當出現擁塞時,應當控制傳送方的速率。這一點和流量控制很像,但是出發點不同。流量控制是為了讓接收方能來得及接收(端對端的通訊),而擁塞控制是為了降低整個網路的擁塞程度(全域性性)。

2.1TCP的擁塞控制方法

TCP進行擁塞控制的演算法有四種,即慢開始,擁塞避免,快重傳,快恢復。

傳送方讓自己的傳送視窗等於擁塞視窗,擁塞視窗的大小取決於網路的擁塞程度,並且動態地在變化。

  1. 資料是單方向傳送的,對方只傳送確認報文。
  2. 接收方總是有足夠大的快取空間,因而傳送視窗的大小由網路的擁塞程度決定。

 

 

  1. 慢開始和擁塞避免

傳送的最初執行慢開始,令 cwnd = 1,傳送方只能傳送 1 個報文段;當收到確認後,將 cwnd 加倍,因此之後傳送方能夠傳送的報文段數量為:248 ...

cwnd > ssthresh(慢開始門限)時,改用擁塞避免演算法,擁塞避免演算法每經過一個往返時間cwnd1

cwnd = ssthresh時,既可以用慢開始也可以使用擁塞避免演算法。

cwnd < ssthresh

時,慢開始演算法。

當網路出現超時,ssthresh = cwnd / 2,同時設定擁塞視窗cwnd=1.進入慢開始演算法。

2.快重傳與快恢復

快重傳演算法要求接收方不要等待自己傳送資料才進行捎帶確認,而是立即傳送確認。即使收到失序的報文段對已傳送的報文段的重複確認。傳送方一連收到3個重複確認就應當立即進行重傳。在這種情況下,只是丟失個別報文段,而不是網路擁塞。因此執行快恢復,傳送方調整門限值ssthresh =cwnd/2,同時設定擁塞視窗cwnd=ssthresh ,並開始擁塞避免演算法。

慢開始和快恢復的快慢指的是 cwnd 的設定值,而不是 cwnd 的增長速率。慢開始 cwnd 設定為 1,而快恢復 cwnd 設定為 ssthresh

相關推薦

簡述TCP流量控制擁塞控制

1. TCP流量控制        流量控制就是讓傳送方的傳送速率不

TCP基礎 —— 流量控制擁塞控制

一:流量控制 什麼是流量控制?流量控制的目的? 如果傳送者傳送資料過快,接收者來不及接收,那麼就會有分組丟失。為了避免分組丟失,控

深入淺出之 TCP協議(三次握手四次揮手、超時重發、流量控制擁塞控制UDP區別)

TCP/IP 中有兩個具有代表性的傳輸層協議,分別是TCP、UDP。TCP提供可靠的通訊傳輸,而UDP則常被用於讓廣播和細節控制交給應用的通訊傳輸。 要知道TCP為了這簡單描述“可靠的通訊傳輸”背後所做的努力,你會深感佩服其強大性。TCP的特徵:序列化+確認應

TCP和UDP的區別流量控制擁塞控制

1、TCP面向連線(如打電話要先撥號建立連線);UDP是無連線的,即傳送資料之前不需要建立連線2、TCP提供可靠的服務。也就是說,通過TCP連線傳送的資料,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保證可靠交付3、TCP面向位元組流,實際上是TCP把資料看

TCP流量控制擁塞控制

建立 可見 art 個數 組裝 fff 效率 分享 設定 TCP的流量控制 1. 利用滑動窗口實現流量控制 如果發送方把數據發送得過快,接收方可能會來不及接收,這就會造成數據的丟失。所謂流量控制就是讓發送方的發送速率不要太快,要讓接收方來得及接收。 利用滑動

TCP 流量控制擁塞控制中的重要機制

TCP 流量控制 擁塞避免 停止等待協議: 放送方發送一個數據包,要收到接收方對該包的確認後,才發送下一個數據包。 缺點:慢,信道利用率低。 ARQ Automatic Repeat reQuest 接收方采用累加確認的方式,接收方不必對每一個分組進行缺,只需要對按序到達的最後一個分組發送確認。

TCP滑動視窗,流量控制擁塞控制原理介紹

TCP協議作為一個可靠的面向流的傳輸協議,其可靠性和流量控制由滑動視窗協議保證,而擁塞控制則由控制視窗結合一系列的控制演算法實現。一、滑動視窗協議     關於這部分自己不曉得怎麼敘述才好,因為理解的部分更多,下面就用自己的理解來介紹下TCP的精髓:滑動視窗協議。     所

TCP協議的流量控制擁塞控制

流量控制與擁塞控制可是TCP協議的兩大特點,這兩者是有一定關聯的。 流量控制就是讓傳送方的發生速率不要太快,要讓接收方來的及接收,不然會找出資料溢位丟失。流量控制是利用滑動視窗機制實現的。 1.

TCP/IP協議族》:TCP流量控制擁塞控制

1.流量控制  所謂的流量控制就是讓傳送方的傳送速率不要太快,讓接收方來得及接受。利用滑動視窗機制可以很方便的在TCP連線上實現對傳送方的流量控制。TCP的視窗單位是位元組,不是報文段,傳送方的傳送視窗不能超過接收方給出的接收視窗的數值。 如圖所示,

面試之路(29)-TCP流量控制擁塞控制-滑動視窗協議詳解

擁塞: 擁塞發生的主要原因在於網路能夠提供的資源不足以滿足使用者的需求,這些資源包括快取空間、鏈路頻寬容量和中間節點的處理能力。由於網際網路的設計機制導致其缺乏“接納控制”能力,因此在網路資源不足時不能限制使用者數量,而只能靠降低服務質量來繼續為使用者服務,也

TCP可靠傳輸的實現[流量控制擁塞控制

TCP協議作為一個可靠的面向流的傳輸協議,其可靠性和流量控制由滑動視窗協議保證,而擁塞控制則由控制視窗結合一系列的控制演算法實現。一、滑動視窗協議     關於這部分自己不曉得怎麼敘述才好,因為理解的部分更多,下面就用自己的理解來介紹下TCP的精髓:滑動視窗協議。     

TCP流量控制擁塞控制 (小結)

1、TCP的流量控制 1. 利用滑動視窗實現流量控制     如果傳送方把資料傳送得過快,接收方可能會來不及接收,這就會造成資料的丟失。所謂流量控制就是讓傳送方的傳送速率不要太快,要讓接收方來得及接收。     利用滑動視窗機制可以很方便地在TCP連線上實現對傳送方的流量控制。 2、TCP的擁塞

TCP/IP詳解--擁塞控制流量控制的區別

擁塞控制與流量控制的區別 擁塞控制的任務是確保子網能夠承載所到達的流量。這是一個全域性性問題,涉及到各方面的行為,包括所有的主機、所有的路由器、路由器內部的儲存轉發處理過程,以及所有可能會削弱子網承載容量的其它因素。 與此相反,流控制只與特定的傳送方和特定的接收方

TCP和UDP、流量控制擁塞控制

URL訪問網站時的網路傳輸全過程,歸納起來就是: 首先要通過域名找到IP,如果快取裡沒有就要請求DNS伺服器;得到IP後開始於目的主機進行三次握手來建立TCP連線;連線建立後進行HTTP訪問,傳輸並獲取網頁內容;傳輸完後與目的主機四次揮手來斷開TCP連線。 整個過程基本分

TCP流量控制擁塞控制

random 很快 tcp報文 使用 空間 正常 出現 防止 數據 轉自:https://www.cnblogs.com/wxgblogs/p/5616829.html RED不是等到已經發生擁塞後才把所有隊列尾部的分組全部丟棄,而是在檢測到網絡擁塞的早期征兆時(即路

【圖解】你還在為 TCP 重傳、滑動視窗、流量控制擁塞控制發愁嗎?看完圖解就不愁了

每日一句英語學習,每天進步一點點: 前言 前一篇「硬不硬你說了算!近 40 張圖解被問千百遍的 TCP 三次握手和四次揮手面試題」得到了很多讀者的認可,在此特別感謝你們的認可,大家都暖暖的。 來了,今天又來圖解 TCP 了,小林可能會遲到,但不會缺席。 遲到的原因,主要是 TCP 巨複雜,它為了保證

流量控制 and 擁塞控制

1. 流量控制 - Flow Control 序言:資料的傳送與接收過程當中很可能出現收方來不及接收的情況,這時就需要對發方進行控制以免資料丟失。利用滑動視窗機制可以很方便的在TCP連線上實現對傳送方的流量控制。TCP的視窗單位是位元組,不是報文段,

【網路】tcp控制擁塞控制

名詞解釋 MTU:最大傳輸單元(硬體規定),指的是ip頭+data的最大位元組數(資料包超過該值會分片,主要為UDP協議) TTL:資料報的壽命(經過一個路由器減1,工作在ip層) RTO:重傳超時時間 cwnd:傳送視窗 rwnd:接受視窗 流控制 目的: 防止傳送方速率太快,接受端承受不了(

【網絡】tcp控制擁塞控制

一個 tcp 大小設置 邊界 協議 流控制 才會 ttl 大小 名詞解釋 MTU:最大傳輸單元(硬件規定),指的是ip頭+data的最大字節數(數據包超過該值會分片,主要為UDP協議) TTL:數據報的壽命(經過一個路由器減1,工作在ip層) RTO:重傳超時時間 cwnd

tcp/ip下,擁塞控制演算法

TCP的RTT演算法 從前面的TCP重傳機制我們知道Timeout的設定對於重傳非常重要。 設長了,重發就慢,丟了老半天才重發,沒有效率,效能差;設短了,會導致可能並沒有丟就重發。於是重發的就快,會增加網路擁塞,導致更多的超時,更多的超時導致更多的重發。 而且,這個超時