TCP協議 擁塞控制,捎帶應答,延遲應答

2021-09-25 18:07:40 字數 903 閱讀 5852

擁塞控制,捎帶應答,延遲應答實際都與提高tcp的效率的機制

擁塞控制

上次我們談到tcp通過滑動視窗來高效可靠的傳送大量資料,但是當一開始就傳送大量資料,當遇到網路比擁堵或者網路狀態不佳的時候,就會引發一系列的問題。

為了解決這一問題,tcp引入慢啟動機制,先發少量的資料,「探探路」,然後再決定資料的傳送的速度。

上圖中的擁塞視窗增長速度是指數級別的,剛開始的時候比較慢,增長的時候還是非常快的

注意:

當少量丟包出現的時候,我們僅僅觸發超時重傳,當大量丟包的時候,我們認為是網路擁塞

當tcp通訊開始之後,網路吞吐量會逐漸上公升,隨著網路發生擁堵,吞吐量也會下降

擁塞控制實際是在保證保證傳輸效率的情況下,避免造成網路太大壓力的折中方案

延遲應答

如果接收資料的主機立刻返回ack應答,這時候返回的視窗可能比較小

視窗越大,網路吞吐量越大,傳輸效率越高,在保證網路不擁塞的情況下要盡量提高傳輸速率

可以通過以下兩種方式實現延遲應答

具體是數量和時間與作業系統有關,一般n取2,超時時間取200ms

捎帶應答

在延遲應答的基礎上,很多情況下,客戶端和伺服器在應用層也是一收一發的,意味著客戶端給伺服器傳送乙個「hello」,服務端也會給客戶端回乙個「hi」,這時候ack就可以搭順風車,跟著服務端的「hi」,一起回到客戶端。

TCP中的延遲應答與捎帶應答

1.1 應答方法 通常乙個資料段可以返回乙個ack應答,但是接收端如果立刻返回ack應答,會讓這個資料段中的視窗大小值比較小。假設我們接收緩衝區的為2m,收到了1m的資料,如果立刻應答,返回的視窗就是1m。實際上接收端處理資料可以很快,很短的時間內就把接收到的1m資料處理掉了。這種情況下,接收緩衝區...

TCP 延時應答 捎帶應答

延時應答 我們知道tcp中,有確認應答機制以保證資料的可靠傳輸。但是是不是接受方接受到資料就立即返回ack應答呢?如果是這樣,這時候的緩衝區中接收區的資料還沒能夠處理,快取區的剩餘大小就是視窗大小。但是如果我們延遲一會,等待快取區中資料被處理,那麼剩餘的快取區就會大些 這就是延時應答。ps 假設接收...

TCP協議 擁塞控制演算法

網路擁塞控制演算法 tcp的擁塞控制主要原理依賴於乙個擁塞視窗來控制,在之前我們還討論過tcp還有乙個對端通告的接收視窗用於流量控制。視窗值得大小就代表能夠傳送出去的但還沒有接收到ack的最大資料報文段,顯然視窗越大那麼資料傳送的速度也就越快,但是也有越可能使得網路出現擁塞,如果視窗值為1,那麼就簡...