Se un server Windows ha diverse migliaia di porte aperte nello LAST_ACK
stato (come mostrato da netstat), cosa potrebbe significare? È perché un endpoint sta aspettando che l'altro risponda?
Se un server Windows ha diverse migliaia di porte aperte nello LAST_ACK
stato (come mostrato da netstat), cosa potrebbe significare? È perché un endpoint sta aspettando che l'altro risponda?
Risposte:
Lo stato last_ack (se ricordo correttamente il mio stack TCP) è lo stato in cui hai ricevuto il tuo messaggio FIN per chiudere la connessione dal tuo vicino, ma devi comunque svuotare e chiudere la connessione. Invia tu stesso il FIN finale e attendi un ACK.
In genere appeso in last_ack significa che l'applicazione mantiene aperto un socket anche quando l'altra estremità ha terminato l'invio dei dati. Questo può accadere per diversi motivi. Potrebbe esserci un firewall o un altro bilanciamento del carico che perde l'ultimo ACK dal client e ti lascia bloccato nello stato last_ack. Se le connessioni non scadono dopo alcuni minuti (10 o giù di lì), probabilmente hai un bug.
Dai un'occhiata al diagramma di stato su http://tangentsoft.net/wskfaq/articles/debugging-tcp.html
LAST_ACK è l'ultimo stato prima di chiudere la connessione TCP.
LAST_ACK significa che il tuo fine ha ricevuto un FIN dal peer, inviato un ACK, inviato un FIN e sta aspettando l'ACK finale dal peer. A questo punto non c'è più nulla che l'applicazione possa fare: il socket è chiuso. L'applicazione potrebbe anche essere uscita. Da qui in poi spetta a TCP rinviare la FIN fino a quando non ottiene l'ACK finale o il timeout. Non puoi fare molto come amministratore se non indagare sulla rete.
Credo che @lmo abbia ragione nel dire che è "l'ultimo stato prima di chiudere la connessione TCP", ma in aggiunta a ciò, in base alla mia lettura della pagina di Wikipedia, vale la pena notare che questo non fa parte del " Active Close "meccanismo che (a mio avviso) rappresenta la fine della maggior parte delle connessioni ben educate, ma piuttosto parte della sequenza" Passive Close ", presumibilmente associata a Bad Stuff Happening.
(FWIW, sono le lingue, non le reti. Sarei felice di chiarimenti da una persona delle reti.)