TCP之Nagle算法

TCP之Nagle算法&&延遲ACK

爲了減少廣域網的小分組數目,從而減小網絡擁塞的出現;

該算法要求一個tcp連接上最多只能有一個未被確認的未完成的小分組,在該分組ack到達之前不能發送其他的小分組,tcp需要收集這些少量的分組,並在ack到來時以一個分組的方式發送出去;其中小分組的定義是小於MSS的任何分組;

該算法的優越之處在於它是自適應的,確認到達的越快,數據也就發哦送的越快;而在希望減少微小分組數目的低速廣域網上,則會發送更少的分組;

如果tcp對每個數據包都發送一個ack確認,那麼只是一個單獨的數據包爲了發送一個ack代價比較高,所以tcp會延遲一段時間,如果這段時間內有數據發送到對端,則捎帶發送ack,如果在延遲ack定時器觸發時候,發現ack尚未發送,則立即單獨發送;

延遲ACK好處:

(1) 避免糊塗窗口綜合症;
(2) 發送數據的時候將ack捎帶發送,不必單獨發送ack;
(3) 如果延遲時間內有多個數據段到達,那麼允許協議棧發送一個ack確認多個報文段;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章