Adresses de socket dans TCP/IP

Transmission Control Protocol / Internet Protocol fournit un ensemble de numéros de port de 16 bits à l'intérieur de chaque hôte.

Transmission Control Protocol / Internet Protocol ( Transmission Control Protocol / Internet Protocol ) fournit un ensemble de numéros de port de 16 bits au sein de chaque hôte. Etant donné que chaque hôte affecte des numéros de port indépendamment, il est possible que les ports de différents hôtes aient le même numéro de port. TCP/IP crée l' adresse de socket comme un identifiant unique sur tous les réseaux Internet. TCP/IP concatène l'adresse Internet de l'interface hôte locale avec le numéro de port pour définir l'adresse de socket Internet.

Avec TCP/IP, les sockets ne sont pas liés à une adresse de destination. Les applications qui envoient des messages peuvent spécifier une adresse de destination différente pour chaque datagramme, si nécessaire, ou elles peuvent lier la socket à une adresse de destination spécifique pour la durée de la connexion (voir SOCK_DGRAM ).

Etant donné que l'adresse Internet est toujours unique pour un hôte particulier sur un réseau, l'adresse de socket d'un socket particulier sur un hôte particulier est unique. De plus, comme chaque connexion est entièrement spécifiée par la paire de sockets qu'elle joint, chaque connexion entre les hôtes Internet est également identifiée de manière unique.

Les numéros de port jusqu'à 255 sont réservés aux services Internet officiels. Les numéros de port compris entre 256 et 1023 sont réservés à d'autres services bien connus qui sont communs sur les réseaux Internet. Lorsqu'un processus client a besoin de l'un de ces services connus sur un hôte particulier, le processus client envoie une demande de service à l'adresse de socket pour le port identifié sur l'hôte.

Si un processus de l'hôte est à l'écoute sur le port identifié, le serveur traite la demande à l'aide du port identifié ou transfère la connexion à un autre port temporairement affecté pendant la durée de la connexion au client. L'utilisation de ports affectés temporairement (ou secondaires) libère le port identifié et permet au port identifié de l'hôte de traiter simultanément des demandes supplémentaires.

Les numéros des ports bien connus sont répertoriés dans le fichier /etc/services dans le fichier Les numéros de port supérieurs à 1023 sont généralement utilisés par les processus qui ont besoin d'un port temporaire après la réception d'une demande de service initiale. Ces numéros de port sont générés de manière aléatoire et utilisés selon le principe du premier arrivé, premier servi.