Que tipo de conexões TCP são contadas?

6

No Monitor de Recursos do Windows 7, no gráfico Conexões TCP no canto superior direito - como essas conexões estão sendo contadas? Um estado de "escuta" conta, por exemplo? Importa em que estado uma conexão está contada?

NOTAS

Não tenho certeza se o número total dessas conexões TCP gráficas está correlacionado diretamente com o número de conexões listadas na subseção Conexão TCP, que mostra conexões e seu programa associado.

Um amigo me ligou pedindo ajuda, perguntando sobre o computador que tinha perdido a internet há 45 minutos devido a uma interrupção do lado do ISP (por luzes de modem). Por curiosidade, pedi que verificassem a contagem de conexões TCP no Monitor de Recursos. Estranhamente, estava mostrando 160 conexões TCP no gráfico, apesar do computador ficar sem internet por quase uma hora. Achei estranho que houvesse tantas conexões, sem internet por uma hora.

Infelizmente, não consegui diagnosticar nenhum programa em execução que eles possam ter, especialmente aqueles que exibem conexões TCP.

Coldblackice
fonte
2
Uma conexão TCP é uma conexão TCP. Todas as conexões TCP são contadas. Uma conexão TCP inativa pode permanecer ativa até que o programa libere a porta.
Ramhound
Então, uma porta de escuta conta como uma conexão real? Eu acho que é a semântica que me joga fora, pensando que uma conexão não é uma conexão até que haja pelo menos dois endereços IP envolvidos.
Coldblackice
2
Conexões TCP permanecem abertas até serem fechadas. Você poderia hibernar um PC, envie-o para alpha centauri, deixe os centauros acordarem os PCs e continuar com as mesmas conexões - agora pela rede interestelar (desde que ele mantenha seu endereço IP, por exemplo, usando algum esquema NAT). O fim da conexão terrestre esperaria pacientemente que o terminal remoto chegasse ao alpha centauri.
artistoex
1
@artistoex Existe um tutorial de como fazer isso?
Coldblackice
1
@Coldblackice Você deve postar outra pergunta para isso ;-)
artistoex

Respostas:

2

Ouvir não conta como uma conexão. Veja como funciona: o computador de escuta está aguardando que um computador remoto envie um pacote TCP SYN para iniciar uma conexão para essa porta TCP. O computador de escuta responde com um pacote SYN ACK reconhecendo que recebeu o pacote SYN. O computador remoto, em seguida, responde com um pacote TCP ACK. Esta é agora oficialmente uma conexão TCP. Quando uma conexão TCP termina normalmente, um dos computadores receberá um pacote TCP FIN e o outro responde com um TCP RST ou um pacote de reinicialização, e a conexão é fechada. Se nenhum dos computadores enviar um pacote FIN ou RST, os dois lados assumem que a conexão ainda é válida mesmo se estiver inativa. Naturalmente, há um limite de quanto tempo um computador manterá uma conexão sem atividade. Esse é o valor de tempo limite da conexão TCP e varia de um aplicativo para outro.

Eu concordo com você que 30 minutos parece muito tempo.

user237161
fonte
Essas conexões podem ter sido conexões de loopback, ou simplesmente conexões close_wait. A maneira mais fácil de verificar seria executar netstat -n
GnP