netdev
[Top] [All Lists]

TCP_RTO_MAX: 120 --> 240

To: davem@xxxxxxxxxx, ak@xxxxxx, kuznet@xxxxxxxxxxxxx, netdev@xxxxxxxxxxx
Subject: TCP_RTO_MAX: 120 --> 240
From: "J.P. Martin-Flatin" <jp.martin-flatin@xxxxxxxx>
Date: Fri, 05 May 2000 00:29:14 +0200
Cc: "J.P. Martin-Flatin" <jp.martin-flatin@xxxxxxxx>
Reply-to: "J.P. Martin-Flatin" <jp.martin-flatin@xxxxxxxx>
Sender: owner-netdev@xxxxxxxxxxx
Hi,

In Linux 2.3.99pre6, TCP_RTO_MAX is set to (120*HZ) in include/net/tcp.h
(line 297). I think it should be set to (240*HZ).

In net/ipv4/tcp_timer.c:tcp_retransmit_timer in Linux 2.3.99pre6,
there's a comment lines 590-604 saying:

        /* 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!
         */

I checked RFC 793 and it doesn't mention a limit of 120 secs. RFC 1122
says the following in Section 4.2.3.1 "Retransmission Timeout
Calculation", page 96:

            The recommended upper and lower bounds on the RTO are known
            to be inadequate on large internets.  The lower bound SHOULD
            be measured in fractions of a second (to accommodate high
            speed LANs) and the upper bound should be 2*MSL, i.e., 240
            seconds.

I therefore believe that the comment is incorrect and that TCP_RTO_MAX
should be set to 240 seconds, or to be strict (240*HZ). Please confirm
or correct me if I'm wrong.

Thanks
JP

____________________________________________________________
J.P. Martin-Flatin, EPFL-DSC-ICA, 1015 Lausanne, Switzerland
Email: jp.martin-flatin@xxxxxxxx       Fax: +41-21-693-66-10
Web: http://icawww.epfl.ch/~jpmf/


<Prev in Thread] Current Thread [Next in Thread>