Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does an ACK means all the data have been read by the receiver application in TCP?

Tags:

tcp

When I am reading something about TCP three-step connection, two questions popped out in my mind:

  1. If there is an receive window in receiver, is an ACK sent back when one received data is stored into the window or when the window is full?

  2. When the sender receives an ACK, does it mean that all the sent data have been read and processed by the receiver application?

Actually, these two questions have several inner connections. Thanks for any helpful answers!

like image 751
microbit Avatar asked Sep 15 '25 02:09

microbit


1 Answers

No. The ACK simply means that the data has arrived in the TCP stack of the peer. This does not indicate that the application has read and processed the data.

like image 63
Greg Hewgill Avatar answered Sep 17 '25 19:09

Greg Hewgill