1

Netstat reports some TCP packets in the following category acknowledgments not containing data received.

However, I'm not clear what this phrase means. Goggling and the netstat documentation don't appear to hold the answer.

The system is Centos 5.5.

2
  • Actually, there is no "Ack Only" in my output, it could just mean that. Jan 20, 2011 at 12:26
  • That is what it means. The reason it's tracked is because a large number of them could mean that packets are being lost and the remote is prodding your machine to resend.
    – geekosaur
    Mar 23, 2011 at 15:06

1 Answer 1

1

When a TCP connection is established, there is a so-called "three-way handshake" at the start, this consists of packets containing no data, just the TCP headers with the "Ack" bit set and various sequence numbers to satisfy both ends that everything is OK.

After that, it is usual for the receiver to periodically acknowledge data being received. Often this is done by setting the Ack bit on a convenient outgoing chunk of data. If the communication is mostly one way I expect the receiver will have to occasionally send an empty packet to acknowledge receipt of data received so far. A large block of data is usually split into many small packets to traverse networks with low maximum transmission units (MTUs). I don't have the details to hand but I suspect the transmitting end may become anxious if it sends many many packets and doesn't ever receive an ack, even if the receiver has nothing else to say.

So acknowledgemet packets not containing data are not necessarily a cause for concern.

1
  • Thanks for you reply, I understand that some packets are sent ack only but was thrown by the use of "containing not data" opposed to just "ack-only" as on bsd and windows. I was wondering if it means something different. You seem to be confirming that it does mean the same thing. Jan 21, 2011 at 14:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .