I came across a new term in TCP ACK aggregation
which is a bit new to me. I tried finding a good resource online that precisely explains this concept in a clear but unfortunately all of them are very dense and complex. Kindly, can someone explain how and why ACK aggregation exists?
2 Answers
There is a mechanism that is called TCP delayed acknowledgment. It is used to improve network performance. You can find more info in google. Here is wiki page: https://en.wikipedia.org/wiki/TCP_delayed_acknowledgment Also it might be interesting to read about Nagle's algorithm. It is used to improve network performance where application uses small packet sizes( like telnet). It aggregates packets to MTU size and sends them all in one. https://en.wikipedia.org/wiki/Nagle%27s_algorithm
It's not a term I've come across, perhaps you could provide the reference.
However most acks are aggregated for example during a steady-state data transfer, say a large file going in one direction. In this case a receiver acks every two segments that it receives, not each one. So say segments with (next) sequence numbers 5000 and 6000 arrive. The receiver does not send an ack for 5000 but does send one for 6000. This ack implicitly also acks 5000.