I was studying some wireshark captures. I noticed that though Ack's are sent every other packet like i was expecting due to delayed TCP ack, i noticed that at some times it is acking every 3 segments.

Another observation is that segments are not coming with constant time delay, and when this happens the 3 packets that are ack'ed were received with very small delay.

I am trying to figure out why, and cant seem to find a clear answer to it. Is it the operating system adjusting dynamically when it will sent an ack depending on the rate it receives them? And why is this so?

1 Answer 1


The RFC 1122 states that TCP hosts should implement a delayed ACK, but the delay must be less than 500 ms. Most implementations use a maximum of 200 ms.

But practically, most systems use a dynamic adjustment algorithm between delayed ack and acking every segments. This is because delayed acks have a impact on RTT measurements and the flow rate of the sender. You should look at the slow start algorithm to figure out the impact of delayed ack.

Furthermore, delayed ack can lead to poor performance for interactive applications.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.