PuTTY keepalive limits: SSH null packets vs TCP keepalives for idle sessions behind NAT
I run long-lived SSH sessions from PuTTY through a home NAT router, and idle sessions are dropped after some period of inactivity. PuTTY's Connection panel offers two distinct mechanisms: "Seconds between keepalives", which sends SSH-level null packets, and "Enable TCP keepalives", which relies on the OS socket layer. My understanding is that the null-packet