Re: Excessive TCP retransmits over lossless, high latency link

Neil Spring (nspring@cs.washington.edu)
Sat, 1 Sep 2001 12:07:02 -0700


> I don't see what is broken about the remote end in this case.

The remote end is probably not broken, at least in this
case. This looks like an artifact of a disgustingly
large queue, and a very slow link. When the time to
transmit tiny packets in the initial handshake is much
smaller than the time to transmit a full size frame,
retransmission timers can get confused. A complete trace
would settle this.

I strongly recommend setting the mtu of your ppp0 interface
down to 576 (or smaller) to reduce the time it takes to
transfer a full size frame, decrease the likelihood that
frames suffer corruption, and allow acknowledgements more
often than every 5 seconds. This is a setting in your ppp
configuration, don't do this using ifconfig.

Don't take my word for it, see RFC1144, section 5.2: a
good MTU is chosen so that a full size frame is transferred
in 200ms.

RFC1144, written by Van Jacobson:

To illustrate, note that for a 9600 bps line with
header compression there is essentially no benefit
in increasing the MTU beyond 200 bytes: If the MTU is
increased to 576, the average delay increases by 188%
while throughput only improves by 3% (from 96 to 99%).

Besides, if you do what you propose (not ack old data with the
next byte expected) you risk stalling the connection entirely.

-neil

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/