What enables the Secure Shell client and server to resume communication after one or several network interfaces in the communication path between them is shut down and re-appears some moments later? If a NIC, configured with a given IP goes down, is it not common practice to reset the connection of any clients connected to sockets on that address? TCP timeouts are one thing, but I do not quite understand how a TCP socket can be resumed after the address is "taken down".
Actually, I realize that this is an involved question. I'm looking for answers that can help me understand what enables an OpenSSH server running on Linux 2.6+ to act as if the connection has not been severed.
Is there more to it than mere TCP timeout? If so, what happens to the listening socket when the NIC goes down? If not, then I'd like an outline of the more sophisticated techniques employed by OpenSSH (or other services, if relevant) to keep the connection alive.