Conexão TCP NÃO perdida? Me desconectei da internet *ponto de exclamação*

Conexão TCP NÃO perdida? Me desconectei da internet *ponto de exclamação*

Esta questão surgiu de uma disputa com um amigo meu. Nas últimas semanas, encontrei um fenômeno estranho. Todas as minhas conexões nunca são interrompidas quando eu me desconecto da Internet. Até as sessões ssh permanecem intactas durante as reconexões. Como isso é possível?

As respostas aqui afirmam que é perfeitamente normal. Então a questão é: por que obter conexões TCPsempreperdido para algumas pessoas depois de se reconectarem à internet mesmo sem NATs entre eles, como é o caso do amigo meu. Além do provedor de Internet, ambas as configurações são comparáveis: Linux sobre dial-up.

Responder1

Isto é normal. Não há nada no TCP que exija que o link esteja ativo permanentemente – se a conexão estiver ociosa (nenhum dado enviado ou recebido), ela poderá persistir enquanto ambas as extremidades ainda estiverem com o soquete aberto. (Claro, se uma extremidade tentar enviar dados e nunca receber um ACK, ela acabará fechando a conexão devido ao tempo limite.)

Infelizmente, isso geralmente é quebrado por NATs/firewalls com estado; por exemplo, se você reiniciar seu roteador doméstico, ele esquecerá tudo em sua tabela NAT e poderá descartar silenciosamente os dados recebidos ou até mesmo fechar a conexão, pois não sabe mais para qual host local encaminhar pacotes.

informação relacionada