Transmission de port en port : Niveau 4 - Transport

La transmission de port en port utilise deux éléments de service : le protocole TCP (Transport Control Protol) et le service UDP (User Datagramme Process).

Le protocole TCP est un mode connecté, ce qui suppose qu'une connexion fiable et garantie est établie après plusieurs échanges de demande et d'accusés de réception entre l'émetteur et le destinataire (FTP, File Transfert Protocol, et Telnet sont les deux plus connus). TCP regroupe les données en fragments (voir le schéma ci-dessous), qui deviennent ensuite des paquets IP.

UDP est un service sans connexion. L'émetteur émet, sans savoir si le destinataire est connecté. Ce service fonctionne sans acquitement, sans reséquencement et sans contrôle de flux. Il n'est donc pas fiable, mais à l'avantage d'être simple à mettre en œuvre et rapide. Il est utilisé par les serveurs de noms de domaines (DNS, Domain Name Server sur le port 53), de configuration (DHCP, Dynamic Host Configuration Protocol sur le port 67), ...

Les numéros des ports identifient dans l'émetteur et dans le récepteur les applications : par exemple FTP correspond aux ports 20 (pour les données) et 21 (pour le contrôle), Telnet au port 23, HTTP au port 80 (pour le web), ...

Associé à l'adresse IP, un port forme alors un socket, identificateur unique d'une application sur une machine donnée.

Structure d'un bloc TCP

Le numéro de séquence indique le premier octet de donnée du fragment.

Le numéro d'acquitement indique au destinataire le numéro du dernier octet que l'émetteur a bien reçu en provenance du destinataire lors des échanges.

L'offset est la taille (en nombre de fois 32 bits) de l'entête. Cet offset est codé sur 4 bits, ce qui fait que l'entête vaut au maximum 60 octets.

Les drapeaux ont tous une taille de 1 bit et indique respectivement :
- drapeau 1 : URG - Si URG=1, le pointeur de priorité a une signification,
- drapeau 2 : SYN - Si SYN=1, demande d'ouverture de connexion,
- drapeau 3 : ACK - Si ACK=1, le numéro d'acquitement a un sens,
- drapeau 4 : RST - Si RST=1, demande de reset de la connexion TCP,
- drapeau 5 : PSH - Si PSH=1, demande que ce fragment soit transmis le plus vite possible,
- drapeau 6 : FIN - Si FIN=1, deamnde de clôture de la connexion.

La taille de la fenêtre de données permet de calculer le numéro du dernier octet à recevoir, en ajoutant cette taille au numéro d'acquitement.