lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ