Por que é possível continuar trabalhando em uma sessão ssh após uma interrupção de rede?

1

O que permite que o cliente e o servidor Secure Shell retomem a comunicação após uma ou várias interfaces de rede no caminho de comunicação entre eles ser desligado e reaparecer alguns momentos depois? Se uma NIC, configurada com um determinado IP cair, não é prática comum redefinir a conexão de qualquer cliente conectado a soquetes nesse endereço? Tempos limite TCP são uma coisa, mas eu não entendo muito bem como um soquete TCP pode ser retomado depois que o endereço é "removido".

Na verdade, percebo que essa é uma questão envolvida. Eu estou procurando por respostas que possam me ajudar a entender o que permite que um servidor OpenSSH rodando no Linux 2.6+ atue como se a conexão não tivesse sido cortada.

Existe mais do que o mero tempo limite do TCP? Em caso afirmativo, o que acontece com o soquete de escuta quando a NIC cai? Se não, então eu gostaria de um esboço das técnicas mais sofisticadas empregadas pelo OpenSSH (ou outros serviços, se relevante) para manter a conexão viva.

    
por Ярослав Рахматуллин 31.07.2013 / 10:45

1 resposta

1

Isso não é específico para o servidor SSH. As conexões TCP permanecem abertas até serem fechadas pelos aplicativos que originalmente as abriram - independentemente das mudanças na tabela de encaminhamento (que é o que derrubar uma interface representa efetivamente).

    
por 02.09.2013 / 12:59