Re: Skyhigh retransmit times. Yearold problem still in 2.3.26

Mike A. Harris (mharris@meteng.on.ca)
Tue, 16 Nov 1999 13:31:18 -0500 (EST)


On Sun, 14 Nov 1999, Steve Underwood wrote:

>> >
>> > netstat -ton
>> >
>> > tcp 0 0 127.0.0.1:1026 127.0.0.1:1027 ESTABLISHED off (0.00/0/0)
>> > tcp 0 0 204.179.131.123:1745 207.33.153.134:6667 ESTABLISHED on2 (7106.08/0/0)
>> > tcp 0 0 204.179.131.123:1023 207.33.153.134:22 ESTABLISHED on2 (6455.34/0/0)
>> >
>> > If there would at least be a command to reset those times to make the
>> > connection usable again.... This way I have to establish a new connection
>> > to the same host to do something usable.
>>
>> Once you get through again TCP will reset the timeouts itself as it
>> receives new ACKs.
>
>Whilst this is true, I think many people would describe a
>protocol that allows 2 hour retransmits as broken. Were its
>designers looking for reasonable results on links between the
>Earth and Mars?

Actually, I believe they were looking for reasonable results
with connections to Mars:

>From tcp_timer.c:

tcp_retransmit_skb(sk, skb_peek(&sk->write_queue));

/* Increase the timeout each time we retransmit. Note that
* we do not increase the rtt estimate. rto is initialized
* from rtt, but increases here. Jacobson (SIGCOMM 88) suggests
* that doubling rto each time is the least we can get away with.
* In KA9Q, Karn uses this for the first few times, and then
* goes to quadratic. netBSD doubles, but only goes up to *64,
* and clamps at 1 to 64 sec afterwards. Note that 120 sec is
* defined in the protocol as the maximum possible RTT. I guess
* we'll have to use something other than TCP to talk to the
* University of Mars.
*
* PAWS allows us longer timeouts and large windows, so once
* implemented ftp to mars will work nicely. We will have to fix
* the 120 second clamps though!
*/
tp->backoff++;
tp->rto = min(tp->rto << 1, 120*HZ);
tcp_reset_xmit_timer(sk, TIME_RETRANS, tp->rto);

tcp_write_timeout(sk);

>This is quite a pain with TCP across unreliable media (e.g. the
>Internet). A broken path gets fixed after some significant
>downtime, but established connections take an age to pick up
>again. There has be a Better Way.

Hmm... Move to Mars? ;o)

--
Mike A. Harris                                     Linux advocate     
Computer Consultant                                  GNU advocate  
Capslock Consulting                          Open Source advocate

Join the FreeMWare project - the goal to produce a FREE program in which you can run Windows 95/98/NT, and other operating systems.

http://www.freemware.org

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