tcp流控制原理

2021-10-09 10:11:17 字數 709 閱讀 2391

流控制,又叫做流量控制。接收端在接收傳送端傳送的資料報的時候,如果是高負荷情況下就無法繼續接收資料,只能丟棄,丟棄後傳送端超時重傳,又加重了阻塞。

所以,用tcp提供了流量控制機制。 接收端向傳送端通知它可以接收資料的大小。於是傳送端就會傳送不抄過這個限度的資料,這個資料叫做視窗大小。

tcp中有乙個字段表示視窗大小。接收機將自己可以接受的緩衝區大小填入該欄位傳送給傳送端,這個欄位的值越高,就表明該主機吞吐量越大。

傳送過程中,只要該緩衝區被突破,視窗大小的值會被設定為更小的值再傳送給傳送端。從而形成完整的流量控制。

傳送端會在此期間,定時傳送乙個視窗探測的資料段。此資料段僅包含乙個位元組以獲取最新的視窗大小資訊。

接收端和傳送端相互通訊的時候,資料報處理速度不相等,傳送端如果高於接收端的話,就會有許多包無法得到立即處理。因此接收端用緩衝區暫存這些資料報。

但是緩衝區滿了傳送端還繼續發包,這些包只能丟棄,丟棄後傳送端超時重傳進一步增大負荷。

所以接收端會在tcp協議報文中加入流量視窗大小的字段通知傳送端,快取區的剩餘大小就是視窗大小,傳送端得知視窗大小後調整資料報傳送的速率。

如果視窗大小為0 ,傳送方會停止發包。 若想重啟傳送包, 傳送方會定時地向接收方放出乙個資料報大小為1的測試報文去詢問接收方。如果接收方返回的報文中視窗大小》0則可以繼續發包。

tcp是全雙工通訊,傳送端和接收端都有視窗。傳送端的視窗叫擁塞視窗。

參考 《tcp/ip詳解》

TCP擁塞控制原理

發生擁塞控制的原因 資源的需求 可用資源 作用 擁塞控制就是防止過多的資料報進入網路,這樣可以使網路中的路由器或者鏈路不至於過載。擁塞控制的前提就是網路能夠承受現有的網路負荷。對比流量控制 擁塞控制是乙個全域性的過程,涉及到鏈路上的所有主機和路由。流量控制往往指的是點對點通訊的控制,是端對端的問題。...

TCP擁塞控制原理

發生擁塞控制的原因 資源的需求 可用資源 作用 擁塞控制就是防止過多的資料報進入網路,這樣可以使網路中的路由器或者鏈路不至於過載。擁塞控制的前提就是網路能夠承受現有的網路負荷。對比流量控制 擁塞控制是乙個全域性的過程,涉及到鏈路上的所有主機和路由。流量控制往往指的是點對點通訊的控制,是端對端的問題。...

tcp擁塞控制原理

擁塞控制原理 擁塞是指傳送資料太快太多,使得網路來不及處理。表現為 丟包 路由器緩衝區溢位 長時延 路由器緩衝區中排隊 控制擁塞兩類方法 1.端到端的擁塞控制 2.網路輔助的擁塞控制 主要機制有aimd 加增倍減演算法 慢啟動 aimd 乘性減,丟包事件後,擁塞視窗值減半 加性增,如沒有檢測到丟包,...