
I’m going into this post with the assumption that we all understand what a retransmission is, and that TCP retransmissions could be a symptom of a problem – but not a cause. That said, let’s talk about TCP retransmissions. Unfortunately, we need to step in every once in a while to make sure things are going as we designed. Fortunately for us, TCP does a great job of ensuring this happens for us without much intervention. If the recipient should empty its receive buffers at all (in other words, the application makes even a partial pickup), it will announce the new “space available” with a TCP Window Update.As network engineers, our lives revolve around making sure data gets from point A to point B. Also it might be that the application does not pickup the packets in a timely fashion from the TCP buffer. Or it could be that there is an error in the TCP receiver. It could be that the machine is running too many processes at that moment, and its processor is maxed. This means that the machine is not able to receive further information at the moment, and the TCP transmission should be halted until it can process the information that is pending in it’s buffer. TCP Zero Window is when the Window size in a machine remains at zero for a specified amount of time. If you want to filter on TCP duplicates use this wireshark filter:

These are called fast retransmissions.Ĭonnections with more latency between client and server will typically have more duplicate acknowledgement packets when a segment is lost.

In most cases, once the sender receives three duplicate acknowledgments, it will immediately retransmit the missing packet instead of waiting for a timer to expire. They are a common symptom of packet loss. Typically, duplicate acknowledgements mean that one or more packets has been lost in the stream and the connection is attempting to recover. Most packet analyzers will indicate a duplicate acknowledgment condition when two ACK packets are detected with the same ACK numbers.

If you want to filter on TCP transmissions use this wireshark filter: Above you can see that after more than 1s a frame get’s sent again.
