Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jul 2002 22:43:56 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Mike Silbersack <silby@silby.com>
Cc:        cvs-committers@FreeBSD.ORG, <cvs-all@FreeBSD.ORG>
Subject:   Re: cvs commit: src/sys/netinet tcp_timer.h
Message-ID:  <200207180543.g6I5hu0k016040@apollo.backplane.com>
References:   <20020718001924.J83856-100000@patrocles.silby.com>

next in thread | previous in thread | raw e-mail | index | archive | help
    My new calculation is:

    max(rttmin, rtt) + 4 * srtt + slop

    where rttmin and slop are programmable.  I have rttmin set at 
    3 ticks for algorithmic stability, and slop set to 50ms in
    my current patch set.

    Keep in mind that variance due to ethernet collisions will
    be reflected in the srtt.

    So if latency is on the order of 1 ms (LAN) and a tick is
    10ms, the retransmission timeouts will be:

    50 + 10 (ms)	(rto = 1)
    50 + 10 (ms)	(rto = 2 backed off)
    50 + 10 (ms)	(rto = 4 backed off)
    50 + 10 (ms)	(rto = 8 backed off)
    50 + 16		(rto = 16 backed off)
    ...

    And if latency is on the order of 10 ms (WAN) we get:

    50 + 10 (ms)	(rto = 10)
    50 + 20 (ms)	(rto = 20 backed off)
    50 + 40 (ms)	(rto = 40 backed off)
    50 + 80 (ms)	(rto = 80 backed off)

    And if we are running over a modem and latency is 120 ms:

    50 + 120 (ms)
    50 + 240 (ms)
    ...


    All of these numbers look quite reasonable to me, even
    the LAN, because even on a congested LAN 50ms is a *LONG*
    time.  The protocol backoff is still working, it's just
    being hidden by the minimum latency (which is what was
    happening before anyway).

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>

:I'm starting to warm up to it, though a little higher would be nice.
:
:What's really bugging me is the subsequent retransmissions... perhaps we
:could constrain them such that the second or third had lower bounds as
:well?
:
:I still think retransmissions at:
:30
:60
:120
:240
:480
:
:would be bad, but maybe:
:30
:530
:1530
:(doubling from there)
:wouldn't be so bad.
:
:If you did that, then you wouldn't have to worry about significantly
:shortening the overall retranmission timeout period, or worry about
:repeatedly retransmitting before the link has time to recover from
:whatever caused the original and the first retransmission to be lost.
:
:Is that making any sense?  I should probably get some sleep before I
:comment more. :)
:
:Mike "Silby" Silbersack

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207180543.g6I5hu0k016040>