Re: TCP alwayskeepalive option.

David Malone (dwmalone@maths.tcd.ie)
Fri, 10 Dec 1999 11:49:47 +0000


On Fri, Dec 10, 1999 at 02:55:51AM -0800, jg@pa.dec.com wrote:
> Keepalives (at the TCP level) are fundamentally evil: they overdetect
> failure, in a situation that is fundamentally an application responsibility.

I'm not sure I'd agree that they overdetect failure, but it certainly
should be the application's responsibility.

> If you want to get a Internet architect type truly rabid for fun some time,
> get them going on keepalives. A fun way to get the likes of Dave Clark
> or Vint Cerf going really non-linear is to mention "Berkeley keep-alives"
> to them :-).

;-)

> You don't want to check with any frequency, or you lose your applications
> because of a transient network outage, which sucks.

OTOH it replaces a random failure mode (application dies if it is
unlucky enough to want to use a connection during transient network
outage) with a slightly less random failure mode (application dies
if it is unlucky enough to have it's keepalive timer expire and
have the transient network outage last for the next 11 odd minutes,
or whatever).

Not a convincing argument by any means I guess ;-)

> Other applications need other failure policies: this is why it isn't
> appropriate at the TCP level.

No argument with that.

> Now, this whole topic needs some help in X toolkits right now, and
> since laptops bring this issue somewhat higher to the fore, a number
> of folks are beginning to think about what ought to be done here.

I think X probably needs a lot of work in this area. I remember
when we had some "transient network outages" here in the past, and
if you were unlucky enough to move your mouse past a copy of emacs
running remotely then that was the end of it. (Before our keepalive
days BTW ;-)

David.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/