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>
