GNU/Linux >> Tutoriels Linux >  >> Cent OS

Pourquoi la sortie « netstat » affiche-t-elle de nombreuses connexions dans le statut CLOSE_WAIT ?

Cet article fournira des détails sur les connexions TCP signalant les états "CLOSE_WAIT". Les valeurs d'état possibles pour les sockets TCP sont les suivantes :

LIÉ         Lié, prêt à se connecter ou à écouter.
FERMÉ        Fermé. Le socket n'est pas utilisé.
CLÔTURE       Fermé, puis arrêt à distance ; en attente d'accusé de réception.
CLOSE_WAIT    Arrêt à distance ; en attendant que le socket se ferme.
ÉTABLI   La connexion a été établie.
FIN_WAIT_1    Prise fermée ; fermeture de la connexion.
FIN_WAIT_2    Prise fermée ; en attente d'arrêt à distance.
IDLE          Idle, ouvert mais non lié.
LAST_ACK      Arrêt à distance, puis fermé ; en attente d'accusé de réception.
ÉCOUTER        Écouter les connexions entrantes.
SYN_RECEIVED  Activer/initier la synchronisation reçue et la connexion en cours
SYN_SENT      Tentative active d'établir une connexion.
TIME_WAIT     Attendez après la fermeture pour la retransmission de l'arrêt à distance.

CLOSE_WAIT ' signifie que l'autre extrémité de la connexion a été fermée alors que l'extrémité locale attend toujours la fermeture de l'application.

Détails

L'état 'CLOSE_WAIT' sur les connexions tcp se produit si le système n'a pas reçu d'appel système de fermeture de l'application, après avoir reçu une notification (paquet 'FIN') de l'autre système qu'il a fermé son point de terminaison. En d'autres termes, cela signifie que l'extrémité locale de la connexion a reçu "FIN" de l'autre extrémité, mais que le système d'exploitation attend que le programme à l'extrémité locale ferme réellement sa connexion.

Le problème est qu'un programme exécuté sur la machine locale ne ferme pas le socket. Ce n'est pas un problème de réglage TCP. Une connexion peut rester en 'CLOSE_WAIT' indéfiniment pendant que le programme maintient la connexion ouverte. Donc, la plupart du temps, ce problème se produit en raison d'un bogue d'application. Cependant, si les paramètres TCP/IP ne sont pas correctement définis, les connexions TCP/IP fermées resteront pendant très longtemps dans divers états "CLOSE" qui prennent les descripteurs de fichiers du processus. Afin de résoudre ce problème, il est parfois nécessaire de régler les paramètres TCP/IP dans /etc/sysctl.conf (tels que ces paramètres net.ipv4.tcp_xxx), afin que les connexions TCP/IP soient fermées dans un court laps de temps .


Cent OS
  1. Pourquoi l'option Ssh -t ajoute-t-elle Cr &Lf dans la sortie redirigée ?

  2. Pourquoi git échoue-t-il sur push/fetch avec trop de fichiers ouverts

  3. L'exécution de lsof -i montre beaucoup de connexions dans CLOSE_WAIT ? Dois-je m'inquiéter

  4. Comment puis-je vérifier combien de connexions HTTP sont ouvertes actuellement ?

  5. Pourquoi mon système n'affiche-t-il que 3,2 Go de RAM alors que j'ai définitivement 4,0 Go

Pourquoi "moins" n'affiche-t-il pas la sortie en gras ? ?

Pourquoi Htop Meter affiche-t-il> 90 % alors que le tableau est à 0,0 % ?

Pourquoi YaST affiche-t-il maintenant les lignes sous la forme lqqqqqqqqqqqqqqq ?

Pourquoi clang génère-t-il du texte inintelligible lorsqu'il est redirigé ?

Pourquoi yum updateinfo n'affiche-t-il pas toutes les mises à jour ?

Pourquoi top affiche-t-il un nombre de cœurs différent de cpuinfo ?