O que são estados CLOSE_WAIT e TIME_WAIT?
Quando faço netstat -a
na minha máquina Windows, recebo uma listagem das portas com um dos quatro estados:
- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED
O que significam CLOSE_WAIT
e TIME_WAIT
?
Quando faço netstat -a
na minha máquina Windows, recebo uma listagem das portas com um dos quatro estados:
- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED
O que significam CLOSE_WAIT
e TIME_WAIT
?
Devido à forma como o TCP/IP funciona, as ligações não podem ser fechadas imediatamente. Os pacotes podem chegar fora de ordem ou ser retransmitidos após o encerramento da ligação. CLOSE_WAIT indica que o ponto final remoto (outro lado da ligação) fechou a ligação. TIME_WAIT indica que o ponto final local (este lado) fechou a ligação. A ligação está a ser mantida em redor para que quaisquer pacotes atrasados possam ser combinados com a ligação e manuseados adequadamente. As conexões serão removidas quando terminarem dentro de quatro minutos. Veja http://en.wikipedia.org/wiki/Transmission_Control_Protocol para mais detalhes.
Basicamente o “ESPERA” significa que um dos lados fechou a ligação mas a confirmação final do fecho está pendente.
Veja por exemplo este diagrama de estados TCP para mais detalhes: http://www.jxos.org/Projects/TCP/tcpstate.html
TIME_WAIT representa esperar o tempo suficiente para ter a certeza de que o TCP remoto recebeu o ACK do seu pedido FIN. Ver pt.wikipedia.org/wiki/Transmission_Control_Protocol (e também RFC 793)