[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070712150229.7a841c4d@freepuppy.rosehill.hemminger.net>
Date: Thu, 12 Jul 2007 15:02:29 -0700
From: Stephen Hemminger <shemminger@...ux-foundation.org>
To: Rick Jones <rick.jones2@...com>
Cc: noboru.obata.ar@...achi.com, David Miller <davem@...emloft.net>,
yoshfuji@...ux-ipv6.org, netdev@...r.kernel.org
Subject: Re: [PATCH 2.6.22] TCP: Make TCP_RTO_MAX a variable (take 2)
On Thu, 12 Jul 2007 14:27:05 -0700
Rick Jones <rick.jones2@...com> wrote:
> > One question is why the RTO gets so large that it limits failover?
> >
> > If Linux TCP is working correctly, RTO should be srtt + 2*rttvar
> >
> > So either there is a huge srtt or variance, or something is going
> > wrong with RTT estimation. Given some reasonable maximums of
> > Srtt = 500ms and rttvar = 250ms, that would cause RTO to be 1second.
>
> I suspect that what is happening here is that a link goes down in a
> trunk somewhere for some number of seconds, resulting in a given TCP
> segment being retransmitted several times, with the doubling of the RTO
> each time.
>
> rick jones
So the problem is that RTO can grows to be twice the failover detection
time. So back to the original mail, the scenario has a switch with failover
detection of 20seconds. Worst case TCP RTO could grow to 40 seconds.
Going back in archive to original mail:
> Background
> ==========
>
> When designing a TCP/IP based network system on failover-capable
> network devices, people want to set timeouts hierarchically in
> three layers, network device layer, TCP layer, and application
> layer (bottom-up order), such that:
>
> 1. Network device layer detects a failure first and switch to a
> backup device (say, in 20sec).
>
> 2. TCP layer timeout & retransmission comes next, _hopefully_
> before the application layer timeout.
>
> 3. Application layer detects a network failure last (by, say,
> 30sec timeout) and may trigger a system-level failover.
Sounds like the solution is to make the switch failover detection faster.
If you get switch failover down to 5sec then TCP RTO shouldn't be bigger
than 10sec, and application will survive.
--
Stephen Hemminger <shemminger@...ux-foundation.org>
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists