我現在的理解,在有以下幾種情景,tcp會把ack包發出去:
1.收到1個包,啟動200ms定時器,等到200ms的定時器到點了(第二個包沒來),於是對這個包的確認ack被傳送。這叫做「延遲傳送」;
2.收到1個包,啟動200ms定時器,200ms定時器還沒到,第二個資料報又來了(兩個資料報乙個ack);
3.收到1個包,啟動200ms定時器,還沒超時,正好要給對方發點內容。於是對這個包的確認ack就跟著捎過去。這叫做「捎帶傳送」;
4.每當tcp接收到乙個超出期望序號的失序資料時,它總是傳送乙個確認序號為其期望序號的
ack;
5.視窗更新或者也叫做開啟視窗(接收端視窗達到最大的時候,接收快取中的資料全部推向程序導致接收快取為空),通知傳送端可以繼續傳送;
6.正常情況下對對方保活探針的響應,詳見tcp keepalive。
TCP IP詳解 傳送ACK和RST的場景
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!在有以下幾種情景,tcp會把ack包發出去 1.收到1個包,啟動200ms定時器,等到200ms的定時器到點了 第二個包沒來 於是對這個包的確認ack被傳送。這叫做 延遲傳送 2.收到1個包,啟動200ms定時器,200ms定時器還沒到,第二個資料...
TCP之Nagle演算法 延遲ACK
1.nagle演算法 是為了減少廣域網的小分組數目,從而減小網路擁塞的出現 該演算法要求乙個tcp連線上最多只能有乙個未被確認的未完成的小分組,在該分組ack到達之前不能傳送其他的小分組,tcp需要收集這些少量的分組,並在ack到來時以乙個分組的方式傳送出去 其中小分組的定義是小於mss的任何分組 ...
TCP連線中的ACK與ack
在tcp協議三報文握手建立連線的過程中,tcp請求報文段中存在ack和ack兩個數值。要搞清楚這兩個數值的含義,得了解tcp報文段的首部格式 1 tcp報文段的首部格式 tcp報文段分為首部與資料部分兩大部分,首部存放tcp報文段相關資訊,資料部分存放tcp報文段資料內容。首部按順序存在20個固定位...