O que torna o SSH tão resiliente em relação a problemas de conectividade?

O que torna o SSH tão resiliente em relação a problemas de conectividade?

Reiniciei o roteador WiFi do escritório e, como esperado, meu laptop foi desconectado. Depois de reconectar, percebo que minha sessão SSH nunca caiu.

E o protocolo SSH torna isso possível? Ou isso tem mais a ver com TCP/IP?

Responder1

O SSH, por padrão, tem tempos limite bastante longos, o tempo limite padrão do TCP e os tempos limites padrão do TCP são longos.

Qualquer forma de keepalive faria com que a conexão fosse interrompida mais cedo, porque quando o cliente/servidor percebesse que os keepalives não estão atingindo o alvo, ele interromperia a conexão.

Portanto, desde que o seu IP permaneça o mesmo, a conexão SSH pode persistir por muito tempo, se não houver nada "acontecendo" para preencher os buffers de envio/recebimento

Responder2

Eu diria que é TCP. Contanto que o endereço seja o mesmo, qualquer coisa enviada enquanto a rede estava inoperante seria tratada como um pacote descartado e reenviado. Contanto que a rede não fique inativa por muito tempo, o cliente e o servidor recuperarão o atraso. Se nada fosse enviado de nenhuma das extremidades enquanto a rede estivesse inoperante, nem o cliente nem o servidor saberiam que houve um problema.

No último caso, porém, qualquer protocolo em uma rede comutada por pacotes teria se comportado exatamente da mesma forma, portanto, dizer que é por causa do SSH ou do TCP não é uma resposta completa.

informação relacionada