Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question

This is not specific to SSH server. TCP connections remain open until closed by the applications which originally opened them--regardless of forwarding table changes (which is what taking down an interface effectively represents).

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .