原文:TCP系列29—窗口管理&流控—3、Nagle算法

一 Nagle算法概述 之前我們介紹過,有一些交互式應用會傳遞大量的小包 稱呼為tinygrams ,這些小包的負載可能只有幾個bytes,但是TCP和IP的基本頭就有 bytes,如果大量傳遞這種小包,會嚴重降低網絡利用率,還可能造成網絡擁塞。福特公司就曾經遇到過這種問題,John Nagle提出了一種通過ACK報文控制TCP發包的方法解決了這種問題,這種方法也就以Nagle名字命名,稱為Nag ...

2016-11-07 14:03 0 1824 推薦指數:

查看詳情

TCP系列31—窗口管理&—5、TCP與滑窗

一、TCP 之前我們介紹過TCP是基於窗口的流量控制,在TCP的發送端會維持一個發送窗口,我們假設發送窗口的大小為N比特,網絡環回時延為RTT,那么在網絡狀況良好沒有發生擁塞的情況下,發送端每個RTT就可以發送N比特的數據,發送端的速率應該與N/RTT成正比,因此通過改變發送 ...

Mon Nov 07 22:05:00 CST 2016 0 2647
TCP系列32—窗口管理&—6、TCP zero windows和persist timer

一、簡介 我們之前介紹過,TCP報文中的window size表示發出這個報文的一端准備多少bytes的數據,當TCP的一端一直接收數據,但是應用層沒有及時讀取的話,數據一直在TCP模塊中緩存,最終受限於接收緩存的大小,window size會變為0,此時我們稱呼這個接收窗口為零窗 ...

Mon Nov 07 22:05:00 CST 2016 3 7985
TCP系列28—窗口管理&—2、延遲ACK(Delayed Acknowledgments)

一、簡介 之前的內容中我們多次提到延遲ACK(Delayed Ack),延遲ACK是在RFC1122協議中定義的,協議指出,一個TCP實現應該實現延遲ACK,但是ACK不能被過度延遲,協議給出延遲ACK的最大時間為0.5s。如果發送端連續發送最大的數據報文,那么沒兩個數據報文就需要回復一次ACK ...

Mon Nov 07 22:02:00 CST 2016 0 2213
TCPNagle算法&&延遲ACK

1. Nagle算法: 是為了減少廣域網的小分組數目,從而減小網絡擁塞的出現; 該算法要求一個tcp連接上最多只能有一個未被確認的未完成的小分組,在該分組ack到達之前不能發送其他的小分組,tcp需要收集這些少量的分組,並在ack到來時以一個分組的方式發送出去;其中小分組的定義是小於MSS ...

Thu Sep 27 07:33:00 CST 2018 0 3447
TCPNagle算法&&延遲ACK

1. Nagle算法: 是為了減少廣域網的小分組數目,從而減小網絡擁塞的出現; 該算法要求一個tcp連接上最多只能有一個未被確認的未完成的小分組,在該分組ack到達之前不能發送其他的小分組,tcp需要收集這些少量的分組,並在ack到來時以一個分組的方式發送出去;其中小分組的定義是小於MSS ...

Fri Apr 08 07:34:00 CST 2016 0 17720
TCP確認延時和Nagle算法

TCP確認延時和Nagle算法 nagle 算法是 發送端 收到前一個報文的確認然后再發送下一個tcp數據。這樣可以避免大量的小數據。 TCP_NODELAY選項控制。 Delay ACK是 接收端 在等待超時(還有其他發送ack確認的時機) 然后才發送ACK給客戶端。 CORK算法 ...

Tue Sep 13 22:57:00 CST 2016 0 2923
TCPNagle算法&&延遲ACK

糊塗窗口綜合症和Nagle算法   TCP/IP詳解系列,關於tcp擁塞控制和數據的地方講的不細致,或許是涉及概念/算法太多,作者略去了一些對初學者來說比較陌生的細節吧。比如SWS未說明是什么就開始介紹其避免方法,還和nagle扯在了一起,直覺告訴我 ...

Mon Jul 30 22:11:00 CST 2018 0 850
糊塗窗口綜合症和Nagle算法

  TCP/IP詳解系列,關於tcp擁塞控制和數據的地方講的不細致,或許是涉及概念/算法太多,作者略去了一些對初學者來說比較陌生的細節吧。比如SWS未說明是什么就開始介紹其避免方法,還和nagle扯在了一起,直覺告訴我二者一定有貓膩,邊搜索一下,果然很有收獲。今天貼在這里,分享 ...

Fri Sep 21 03:12:00 CST 2012 2 6755
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM