Le protocole TCP (Transmission Control Protocol) est conçu pour gérer le multiplexage en utilisant des numéros de port pour identifier différentes applications ou processus sur un seul ordinateur. Chaque application ou processus se voit attribuer un numéro de port unique, qui permet à la couche TCP de faire la distinction entre les flux de données entrants et de les transmettre à l'application appropriée. Voici comment TCP gère le multiplexage :
Numéros de ports TCP :
- Chaque numéro de port TCP est un entier non signé de 16 bits, allant de 0 à 65 535.
- Les ports connus (0 à 1023) sont réservés aux services et applications standards, tels que HTTP (port 80), FTP (port 21) et SMTP (port 25).
- Les ports éphémères (au-dessus de 1023) sont attribués dynamiquement aux connexions temporaires, telles que celles utilisées par les navigateurs Web.
Multiplexage des données entrantes :
- Lorsque les données arrivent à un point de terminaison TCP (combinaison adresse IP et numéro de port), la couche TCP examine le numéro de port de destination.
- Si le numéro de port correspond à un port connu, il dirige les données vers le service ou l'application correspondant.
- Si le numéro de port est un port éphémère, il recherche le processus ou l'application associé à ce port dans ses structures de données internes et transmet les données en conséquence.
Multiplexage des données sortantes :
- Lorsqu'une application envoie des données à une adresse IP de destination et un numéro de port spécifiques, la couche TCP vérifie s'il existe une connexion existante à ce point de terminaison.
- Si une connexion existe, il ajoute les données au tampon d'envoi de la connexion.
- S'il n'y a pas de connexion existante, il établit une nouvelle connexion TCP en envoyant un paquet SYN à l'adresse et au port de destination.
- Une fois la connexion établie, les données sont envoyées via la connexion établie.
En utilisant les numéros de port comme identifiants, TCP multiplexe plusieurs flux de données sur une seule connexion réseau, garantissant ainsi que les données provenant de différentes applications ou processus sont correctement acheminées et livrées à leurs destinataires prévus.
|