Numéro d'article: 137984 - Dernière mise à jour: vendredi 5 décembre 2003 - Version: 3.0

États de connexion TCP et de sortie Netstat

A noterCet article s'applique à un système d'exploitation différent de celui que vous utilisez. Le contenu de l'article qui ne vous concerne peut-être pas est désactivé.

Sommaire

Agrandir tout | Réduire tout

Résumé

Cet article décrit les états de connexion TCP et comment lire la sortie Netstat (NETSTAT.EXE).

Avant le transfert de données a lieu dans TCP, vous devez établir une connexion. TCP utilise une négociation à trois voies (les détails de ce peuvent être trouvées dans la RFC793, chapitre 3: «Spécification fonctionnelle»).

Plus d'informations

États de connexion TCP

Voici une brève explication de cette négociation. Dans ce contexte, le «client» est l'homologue demandant une connexion et le «serveur» est l'homologue acceptation d'une connexion. Notez que cette notation ne reflète pas les relations client/serveur comme entité d'architecture.

  1. Établissement de connexion

    • Le client envoie un message SYN qui contient le port du serveur et du client Initial Sequence Number (ISN) pour le serveur (ouvrir actif).
    • Le serveur renvoie ses propres SYN et ACK (qui comprend le client ISN + 1).
    • Le client envoie un accusé de réception (qui comprend le serveur ISN + 1).
  2. Connexion destructions (modifié trois mains).

    • Le client envoie un FIN (clôture active). Ceci est un maintenant une connexion fermée de moitié. Plus le client envoie des données, mais est toujours en mesure de recevoir des données à partir du serveur. Lorsqu'il reçoit cette FIN, le serveur entre dans un état de fermeture passif.
    • Le serveur envoie un accusé de réception (qui est la séquence FIN de clients + 1)
    • Le serveur envoie son propre FIN.
    • Le client envoie un accusé de réception (qui est la séquence FIN du serveur + 1). Lorsqu'il reçoit cet accusé de réception, le serveur ferme la connexion.
Une connexion fermée moitié peut être utilisée pour terminer l'envoi de données lors de l'appui de la réception de données. Les applications de socket peuvent appeler arrêt avec le deuxième argument la valeur 1 pour entrer cet état.

Sortie netstat

Les états de connexion TCP ci-dessus peuvent être surveillés dans une trace réseau sous les indicateurs TCP. Il est également possible de déterminer l'état de la connexion en exécutant l'utilitaire Netstat et en consultant la colonne état. Netstat est livré avec Windows NT, Windows 95 et TCP/IP-32 pour Windows pour Workgroups.

État explications comme indiqué dans Netstat :
Explication l'état
------------ --------------------------------------------------------

SYN_SEND Indique actif ouvert.

SYN_RECEIVED Server vient de recevoir SYN à partir du client.

ÉTABLI Client a reçu SYN du serveur et session est établie.

LISTEN Server est prêt à accepter la connexion.

Remarque : Consultez la documentation pour l'appel de socket listen(). TCP sockets en état d'écoute ne sont pas affichés - il s'agit d'une limitation de NETSTAT. Pour plus d'informations, consultez l'article suivant dans la base de connaissances Microsoft :
134404  (http://support.microsoft.com/kb/134404/EN-US/ ) NETSTAT.EXE n'affiche pas les sockets TCP écoute
FIN_WAIT_1 Indique actif Fermer.

TIMED_WAIT Client entre cet état après clôture active.

CLOSE_WAIT Indique passif fermer. Serveur première FIN vient de recevoir à partir d'un client.

FIN_WAIT_2 Client vient de recevoir d'accusé de réception de sa première FIN à partir du serveur.

LAST_ACK Server est dans cet état lorsqu'il envoie sa propre FIN.

FERMÉ Server reçu d'accusé de réception à partir du client et la connexion est fermée.
Par exemple, considérez le scénario suivant :

Une application de socket a été arrêtée, mais Netstat signale au socket dans un état CLOSE_WAIT. Cela peut indiquer que le client a correctement fermé la connexion (FIN a été envoyé), mais le serveur a toujours son socket à ouvrir. Cela peut être le résultat d'une instance (parmi tous les threads ou processus) du socket ne pas fermé.

Remarque : Il est normal d'avoir un socket dans l'état TIME_WAIT pour une longue période de temps. L'heure est spécifiée dans la RFC793 comme deux fois le maximum segment long (MSL). Bibliothèque logicielle Microsoft est défini comme étant de 2 minutes. Par conséquent, un socket peut être dans un état TIME_WAIT aussi longtemps que 4 minutes. Certains systèmes mettent en ?uvre des valeurs différentes (2 minutes) pour la bibliothèque logicielle Microsoft.

Des références supplémentaires :
  • Interconnexion de «réseaux TCP/IP, volume 1» par Douglas Comer
  • «TCP/IP illustrées, volume 1» par Richard Stevens.
  • «Ordinateur réseaux» par Andrew Tanenbaum

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft TCP/IP for Windows for Workgroups 3.11
  • Microsoft Windows 95
Mots-clés : 
kbmt KB137984 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 137984  (http://support.microsoft.com/kb/137984/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Retired KB ArticleExclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.