GNU/Linux >> Linux Esercitazione >  >> Cent OS

Perché l'output "netstat" mostra molte connessioni nello stato CLOSE_WAIT?

Questo post fornirà dettagli sulle connessioni TCP che riportano gli stati "CLOSE_WAIT". I possibili valori di stato per i socket TCP sono i seguenti:

BOUND         Bound, pronto per connettersi o ascoltare.
CHIUSO        Chiuso. La presa non viene utilizzata.
CHIUSURA       Chiuso, quindi spegnimento remoto; in attesa di riconoscimento.
CLOSE_WAIT    Spegnimento remoto; in attesa che il socket si chiuda.
STABILITA   La connessione è stata stabilita.
FIN_WAIT_1    Presa chiusa; chiusura della connessione.
FIN_WAIT_2    Presa chiusa; in attesa di spegnimento da remoto.
IN FERMO          Inattivo, aperto ma non vincolato.
LAST_ACK      Spegnimento remoto, quindi chiuso; in attesa di riconoscimento.
ASCOLTA        Ascolto delle connessioni in entrata.
SYN_RECEIVED  Sincronizzazione attiva/iniziata ricevuta e connessione in corso
SYN_SENT      Tentativo attivo di stabilire la connessione.
TIME_WAIT     Attendere dopo la chiusura per la ritrasmissione dello spegnimento remoto.

'CLOSE_WAIT ' state significa che l'altra estremità della connessione è stata chiusa mentre l'estremità locale è ancora in attesa della chiusura dell'applicazione.

Dettagli

Lo stato "CLOSE_WAIT" sulle connessioni TCP si verifica se il sistema non ha ricevuto una chiamata di sistema di chiusura dall'applicazione, dopo aver ricevuto la notifica (pacchetto "FIN") dall'altro sistema che ha chiuso il suo endpoint. In altre parole significa che l'estremità locale della connessione ha ricevuto "FIN" dall'altra estremità, ma il sistema operativo è in attesa che il programma all'estremità locale chiuda effettivamente la connessione.

Il problema è che un programma in esecuzione sulla macchina locale non chiude il socket. Non è un problema di ottimizzazione TCP. Una connessione può rimanere in "CLOSE_WAIT" per sempre mentre il programma mantiene la connessione aperta. Quindi principalmente questo problema si verifica a causa di un bug dell'applicazione. Tuttavia, se i parametri TCP/IP non sono impostati correttamente, le connessioni TCP/IP chiuse rimarranno per molto tempo in vari stati "CHIUDI" che prendono i descrittori di file dal processo. Per risolvere questo problema, a volte è necessario regolare i parametri TCP/IP in /etc/sysctl.conf (come i parametri net.ipv4.tcp_xxx), in modo che le connessioni TCP/IP vengano chiuse in un breve lasso di tempo .


Cent OS
  1. Perché la sostituzione del comando Shell divora un carattere di nuova riga finale?

  2. Perché l'opzione Ssh -t aggiunge Cr e Lf nell'output reindirizzato?

  3. Perché Ls -l genera una dimensione diversa da Ls -s?

  4. Perché /etc/issue mi mostra Ubuntu e non Lubuntu?

  5. Perché questa pipeline di shell termina?

Perché "meno" non mostra output in grassetto??

Perché il misuratore Htop mostra>90% mentre la tabella è 0,0%?

Perché yum updateinfo non mostra tutti gli aggiornamenti?

L'esecuzione di lsof -i mostra molte connessioni in CLOSE_WAIT ? Dovrei preoccuparmi

Perché netstat è deprecato?

Perché top mostra un numero diverso di core rispetto a cpuinfo?