<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
First of all, I'm not quite sure whether this is the right list for
Linux specific issues.<br>
<br>
Second, you should have a look at the basic function of TCP. When a
listening socket dies, the sender will continuously face timeouts.
With the following consequences: <br>
1. The sending window shrinks to 1 segment.<br>
2. The RTO is doubled, each time a sent packet is not acknowledged
in time. Whether RTO is limited or not depends on the
implementation.<br>
3. The sending socket is shut down after some period of time. (Have
a look at the various timeouts in TCP.)<br>
<br>
<blockquote cite="mid:449322.18998.qm@web137509.mail.in.yahoo.com"
type="cite">
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="font: inherit;" valign="top">We need some
clarifications on TCP_keepalive . We are facing some
issues on our Prod servers related to TCP functionality .<br>
<br>
The issue is like this. <br>
<br>
We have some machines at one end sending data in real time
to another group of machines on the other hand . Now due
to some hardware issues on the other hand , some of the
machines becomes unresponsive/crashes. The client system
which pumps data never came to know that the server went
unresponsive . The connection remains in<br>
ESTABLISHED state and the client always tries to send data
thinking that the connection is alive because of which we
are seeing backlog on client sides. <br>
<br>
Our understanding is like this on how TCP will handle the
connection.<br>
<br>
<br>
Q 1) Since the server went down , the client will try to
the retransmit the data until it times out. What is the
behavior of TCP after the timeout? Need clarification on<br>
the following things.<br>
a) Will the kernel will close the established connection
after the timeout . Looks like no in our case as we still
see the connection still in ESTABLISHED state after around
more <br>
than 2 hours. <br>
b) Are there any kernel parameters which decides the when
the client is timeout after retransmission fails. What is
the behavior of TCP after the client retransmission
timeouts.<br>
<br>
<br>
Q 2 ) There is something called tcp_keepalive which if
implemented in the kernel , by default it's there and
comes to be around 2 hrs 2 minsutes , i think , the
client will send some TCP probes after the keepalive time
ineterval and if it cannot reach the server , then the
established connection in the client side will be closed
by the kernel . This is my understanding. But I can see
that the connection still remains in established after the
tcp_keepalive time . We waited for around 2 hrs 30 minutes
but the connection remains in established state only.
Tried reducing the keepalive time to be around 10 minutes
, but the connection remains in ESTABLISHED state in
client side .<br>
<br>
<br>
Where I went wrong .Please clarify my doubts raised above
. What should we do to resolve the problem we are seeing
above . Any help will be highly appreciated as we are
going through a hard time to resolve the issue . <br>
<br>
Thanks in Advance<br>
</td>
</tr>
</tbody>
</table>
<br>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
------------------------------------------------------------------
Detlef Bosau
Galileistraße 30        
70565 Stuttgart Tel.: +49 711 5208031
mobile: +49 172 6819937
skype: detlef.bosau
ICQ: 566129673
<a class="moz-txt-link-abbreviated" href="mailto:detlef.bosau@web.de">detlef.bosau@web.de</a> <a class="moz-txt-link-freetext" href="http://www.detlef-bosau.de">http://www.detlef-bosau.de</a>
------------------------------------------------------------------
</pre>
</body>
</html>