TCP IP延遲確認和Nagle演算法

2021-09-30 10:10:03 字數 390 閱讀 6556

延遲確認:接收端收到資料之後,並不立即傳送ack確認收到資料,而是延遲傳送ack,等待一段時間,以期望和沿該方向傳送的資料一起傳送。

nagle演算法:盡可能傳送大塊資料,避免使網路中充斥小分組,從而減少傳送包的個數來增加網路的利用率。nagle演算法要求在任意時刻,最多有乙個未被確認的分組,在收到確認之前,小分組將被快取在傳送端。直到快取了一定量,等待了一定的時間,或者收到前乙個資料的確認,才能傳送出去。

延遲確認和nagle同時開啟會怎樣?

當延遲確認和nagle演算法同時開啟時,可能會時延的增長。nagle演算法要求收到前乙個分組的ack之前,不能傳送其它的小資料報。所以,儘管傳送端已經將資料準備好,放在了快取區裡面,但是由於沒有收到前乙個分組的ack,緩衝區裡面的分組的傳送將被延遲,直到等到上乙個分組的ack到達。

延遲確認和Nagle演算法

前篇文章介紹了三次握手和四次揮手,了解了tcp是如何建立和斷開連線的,文末還提到了抓包揮手時的乙個 異常 現象,當時無法解釋,特地查了資料,知道了資料傳輸中的延遲確認策略。何謂延遲確認策略?正是這個策略,讓圖中缺少了一次斷開連線的包,仔細看可以發現4405和4287之間時間也是差了200ms左右,為...

Nagle演算法和延遲ACK

nagle演算法 是為了減少廣域網上的小分組的數目,從而減少網路擁塞的出現。該演算法要求乙個tcp連線上最多只能有乙個未被確認的未完成的小分組,在該分組ack到達之前不能傳送其他的小分組,tcp需要收集這些少量的分組,並在ack到來時以乙個分組的方式傳送出去,其中小分組的定義是小於mss的任何分組。...

TCP IP之Nagle演算法與40ms延遲

nagle演算法是針對網路上存在的微小分組可能會在廣域網上造成擁塞而設計的。該演算法要求乙個tcp連線上最多只能有乙個未被確認的未完成的小分組,在該分組確認到達之前不能傳送其他的小分組。同時,tcp收集這些少量的分組,並在確認到來時以乙個分組發出去。它的設計規則如下 1 如果包長度達到最大報文長度 ...