Octet

Wireshark shows lots of TCP retransmissions. How do you work out where the loss is?

Show the answer

Say this first

A retransmission means the sender believed a segment was lost. I check which side retransmits and what else Wireshark flags: duplicate ACKs, "previous segment not captured". Then I capture at both ends. If the original left the sender and never reached the receiver, the loss is in between, and I narrow it with capture points and interface counters along the path. If it arrived, the ACK was lost on the way back, or the capture point itself missed it.

Go deeper

Wireshark labels

LabelMeaning
[TCP Retransmission]sent again after the retransmission timer expired
[TCP Fast Retransmission]sent again after 3 duplicate ACKs, without waiting for the timer
[TCP Dup ACK 21#3]the third duplicate of the ACK in frame 21: the receiver is missing a segment
[TCP Previous segment not captured]a gap in sequence numbers, lost in the network or by the capture
[TCP Spurious Retransmission]resent data the receiver had already acknowledged
[TCP Out-Of-Order]arrived with a lower sequence number than expected

Locating the loss

  1. A capture on the sender proves the original left. A capture on the receiver proves whether it arrived.
  2. Match the same segment in both files by sequence number or IP ID.
  3. Lost in between: walk the path. CRC errors on receiving interfaces, output drops on egress ports, policer drops in show policy-map interface.
  4. Arrived but no ACK came back: look at the return path, which may be a different path.

Read the pattern

PatternLikely cause
Steady loss at any loada link with errors
Bursts of loss at high throughputcongestion or a policer
Only full-size segments lostMTU

Why a little loss hurts

Single-flow TCP throughput falls roughly with the square root of the loss rate (the Mathis estimate). On a 50 ms path, 1 percent loss can hold one flow to a few Mb/s whatever the link speed.

Traps

  • Blaming the network for spurious retransmissions caused by a slow receiver or a capture point that dropped packets.