[mod.protocols.tcp-ip] wanted: TCP retransmission timer calculation info

narten@PURDUE.EDU ("Thomas Narten") (12/17/85)

I am doing some work with TCP running on slow speed (9600 baud) full
duplex lines. Hosts may be directly connected, or be separated by
several hops. Measurements show round trip times exceeding 4-5 seconds.
Throughput is severely degraded, due to TCP retransmissions.

I am looking for algorithms (and references to them) for computing
retransmission timer values. I have had no luck so far in finding
references to any. Can someone point me to references for the one used
under 4.2 UNIX or any other system? 

Please respond by mail, as I am not on this mailing list (yet).

Thanks,
Thomas Narten
narten@purdue.EDU
----------

DCP@SCRC-QUABBIN.ARPA (David C. Plummer) (12/18/85)

    Date: 17 Dec 85 14:25:04 EST (Tue)
    From: "Thomas Narten" <narten@Purdue.EDU>

    I am doing some work with TCP running on slow speed (9600 baud) full
    duplex lines. Hosts may be directly connected, or be separated by
    several hops. Measurements show round trip times exceeding 4-5 seconds.
    Throughput is severely degraded, due to TCP retransmissions.

    I am looking for algorithms (and references to them) for computing
    retransmission timer values. I have had no luck so far in finding
    references to any. Can someone point me to references for the one used
    under 4.2 UNIX or any other system? 

    Please respond by mail, as I am not on this mailing list (yet).

    Thanks,
    Thomas Narten
    narten@purdue.EDU

I'll repeat something I've claimed for 2 years: The simple adapative
retransmission algorithms (one of which I think is actually in the TCP
spec) are all meta-stable.  If you start retransmitting too fast, you
will continue to retransmit too fast and you will actually start going
faster.  If you retransmit too slow, you will start retransmitting
slower.

I suggest NOT looking at the Unix code.  (Aside from strong personal
biases against Unix...) As I recall from experience, Unix does well over
fast links, but on slow links it isn't bad; it is pessimal.  It tries to
adapt but loses until it bottoms out at a retransmission interval of 10
seconds.  Even if the link becomes instantaneous, Unix will never
notice.

Segue into JNC describing research at MIT regarding non-simple adaptive
retransmission algorithms that may work...