Re: TCP keepalive seems to send to only one port

From: Cesar Eduardo Barros (cesarb@nitnet.com.br)
Date: Mon Dec 25 2000 - 19:46:54 EST


On Mon, Dec 25, 2000 at 04:33:07PM -0800, David Schwartz wrote:
>
> > On Sat, Dec 23, 2000 at 04:19:31PM -0800, David Schwartz wrote:
>
> > > > This means that keepalive is useless for keeping alive more than
> > > > one connection
> > > > to a given host.
>
> > > Actually, keepalive is useless for keeping connections
> > > alive anyway. It's
> > > very badly named. It's purpose is to detect dead peers, not keep peers
> > > alive.
> >
> > Then what do you do when you are behind a NAT?
>
> If the administrator of the NAT meant for you to have a permanent mapping,
> she would have put one there. Using keepalives to hold a NAT entry open
> indefinitely without activity would be considered abuse in most NAT
> configurations. The NAT might not consider a keepalive to be activity anyway
> (arguably, it shouldn't).

Well, consider the scenario of an application which opens a control connection
and a data connection, and the data connection remains idle for some hours
while you get to the beginning of the queue, and then the transfer starts. The
data connection is not open forever, and the timeout (and the periodic pings)
is on the control connection.

The problem is that, after four or more hours of waiting, when the other side
finally starts sending, the NAT has already forgotten about the connection.

(In case someone is wondering, the application I'm talking about is fidelio.
 Which is pretty useless on busy sites behind a NAT because of that.)

-- 
Cesar Eduardo Barros
cesarb@nitnet.com.br
cesarb@dcc.ufrj.br
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Dec 31 2000 - 21:00:08 EST