Hacker News new | ask | show | jobs
by CamperBob2 1988 days ago
Frankly I've never seen any connection that didn't use keepalives stay up for very long on my LAN, much less the Internet at large.

Keepalives are a basic requirement for persistent connections. It's literally what they're for. Harmless enough solution.

2 comments

That’s a bit strange though, don’t you think? TCP state only lives in the endpoints, unless you have something awful like NAT in between. Without NAT, why are keepalives a basic requirement for persistent connections?
Without timeouts, one of the endpoints would have to maintain dead sessions indefinitely. One cannot rely on protocols to close connections properly - stuff happens.
I run under NAT, like most Internet users in the US, although my gateway has a static IP.

No clue why the LAN drops connections without keepalive traffic. I need to get up to speed on using WireShark to diagnose dropped connections one of these days, as I actually have a couple of dropped-connection issues that need troubleshooting.

Typically I'll get a connection timeout every few days, even with keepalives, and even with a hardwired DHCP address for the MAC in question. Connections with no traffic tend to get 'cleaned up' by somebody after a few hours at most.

Back before I know about SSH KeepAlive setting, I have had SSH connection going on for entire workday (~8 hours or so) on my LAN to local server.