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>