On Jul 19, 2011, at 18:55 , Glenn Maynard wrote:

> On Tue, Jul 19, 2011 at 8:19 PM, Justin Karneges 
> <[email protected]> wrote:
> Whitespace keepalives serve two purposes:
> 
> 1) Keep connections from being killed by routers.
> 
> Client-originated keepalives normally deal with this, so negotiation isn't 
> needed here--just send keepalives at the needed rate (typically 10-15 
> minutes).
> 
> 2) Inducing TCP cleanup, in the event the peer is gone but you were never
> notified.
> 
> The server might want to send keepalives for this, but infrequently; on the 
> order of 30-60 minutes.
> 
> I don't think negotiation is useful in either case, since the keepalives of 
> each side are determined by that side's own requirements.
> 

Sending at that rate will result in a disconnected socket for most of the 
networks I've seen.  There are still an exorbitant number of routers, proxies, 
firewalls, and load balancers deployed and configured such that they will 
(silently!) drop a connection if there is no traffic for 5-10 minutes.

A number of clients will send a keepalive (whitespace or otherwise) every 
60-120 seconds; a number of server deployments will send their own at roughly 
the same rate.  This is great for desktops, but less than ideal for mobile.


- m&m


Reply via email to