Quando lo faccio netstat -a
sul mio computer Windows, ottengo un elenco delle porte con uno dei quattro stati:
- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED
Cosa significano CLOSE_WAIT
e TIME_WAIT
significano / indicano?
Quando lo faccio netstat -a
sul mio computer Windows, ottengo un elenco delle porte con uno dei quattro stati:
- LISTENING
- CLOSE_WAIT
- TIME_WAIT
- ESTABLISHED
Cosa significano CLOSE_WAIT
e TIME_WAIT
significano / indicano?
Risposte:
A causa del modo in cui TCP / IP funziona, le connessioni non possono essere chiuse immediatamente. I pacchetti possono arrivare fuori servizio o essere ritrasmessi dopo la chiusura della connessione. CLOSE_WAIT indica che l'endpoint remoto (l'altro lato della connessione) ha chiuso la connessione. TIME_WAIT indica che l'endpoint locale (questo lato) ha chiuso la connessione. La connessione viene mantenuta in modo che eventuali pacchetti ritardati possano essere abbinati alla connessione e gestiti in modo appropriato. Le connessioni verranno rimosse quando scadono entro quattro minuti. Vedi http://en.wikipedia.org/wiki/Transmission_Control_Protocol per maggiori dettagli.
Fondamentalmente gli stati "ATTENDERE" indicano che un lato ha chiuso la connessione ma è in attesa la conferma finale della chiusura.
Vedi ad esempio questo diagramma degli stati TCP per i dettagli:
TIME_WAIT rappresenta l'attesa di un tempo sufficiente per essere sicuri che il TCP remoto abbia ricevuto l'ACK della sua richiesta FIN. Vedi en.wikipedia.org/wiki/Transmission_Control_Protocol (e anche RFC 793)