[e2e] TCP's RTT measurements

David Borman dab at BSDI.COM
Fri Apr 26 07:20:41 PDT 2002

> From: Sebastian Zimmermann <S.Zimmermann at tu-harburg.de>
> Subject: [e2e] TCP's RTT measurements
> Date: 26 Apr 2002 14:00:51 +0200
> I have a question regarding TCP's RTT measurement in case of packet
> loss.
> Please assume that segment 14 is the one being timed. However, the
> previous segment 13 is dropped on the way to the receiver. This is
> detected by a timeout. Segment 13 is then retransmitted. Karn's
> algorithm says that retransmitted segments may not be timed. In this
> case, however, segment 14 is not retransmitted. So it will still be used
> for RTT measurement. Since the acknowledgement 14 is only generated
> after the second segment 13 is received by the receiver, the RTT
> measurement will be much too large.
> How does TCP avoid this problem?

You only count RTT measurments during which you did not do any
retransmissions.  So, because you had to retransmit packet #13
while timing #14, you can't use the RTT measurement for #14, since
the ACK will most likely be due to the retransmitted #13 packet
showing up at the receiver and filling in the hole, giving an
inflated RTT time.

Or you could just use timestamps to get RTT info.

		-David Borman, david.borman at windriver.com

More information about the end2end-interest mailing list