Table of Contents
La couche de transport avec TCP et UDP
La couche Transport est utilisée pour configurer une connexion afin de pouvoir partager des données entre périphériques réseau.
Protocoles de la Couche Transport
Les deux protocoles les plus couramment utilisés dans la Couche Transport sont :
TCP
UDP
La différence principale entre ces protocoles de la Couche Transport est simple : TCP est un protocole fiable, tandis qu’UDP est un protocole non fiable.
Mais alors, pourquoi UDP reste-t-il essentiel, même si TCP est plus fiable ?
Prenons l’exemple du téléchargement d’un film en full HD de 20 Go. Si, au milieu du transfert, certains paquets ne parviennent pas à votre ordinateur, le fichier final serait corrompu et illisible. Dans ce scénario, TCP, protocole fiable de la Couche Transport, est idéal, car il garantit que toutes les données arrivent correctement sur votre appareil.
Exemples concrets
Imaginons maintenant que vous êtes ingénieur réseau et que vous souhaitez déployer une solution de téléphonie sur IP pour remplacer des téléphones analogiques. On pourrait penser qu’un protocole fiable comme TCP serait nécessaire pour ces communications.
En réalité, cela pourrait poser problème. TCP retransmet les paquets perdus pour corriger les erreurs, mais dans une communication en temps réel, ces retransmissions peuvent créer des retards. Entendre des paroles avec quelques secondes de décalage rendrait l’expérience confuse.
Dans ce type de situation, UDP, protocole de la Couche Transport sans connexion, est plus approprié. Il envoie directement les données sans attendre de confirmation, ce qui le rend parfait pour la voix sur IP, le streaming ou tout flux en temps réel.
Résumé technique
TCP : orienté connexion, établit une session avant de transférer les données, et assure le séquençage des paquets pour garantir l’ordre correct.
UDP : sans connexion, envoie les données immédiatement, sans séquençage ni retransmission, optimisé pour les communications en temps réel.
En-tête UDP
Voici à quoi ressemble une en-tête UDP :

C'est grâce au numéro de port source et destination qu'on sait pour quel type d'application le paquet est destiné.
Le champ « Checksum » qui se traduit littéralement par : « Somme de contrôle » ou qui est aussi appelé « Emprunte », est un nombre, ajouté au paquet à transmettre, pour permettre au récepteur de vérifier que le message reçu est bien celui qui a été envoyé.
Pour résumer, le protocole UDP :
- Fonctionne sur la couche de transport du modèle OSI.
 - C’est un protocole sans connexion, donc, il envoie juste des données.
 - Les erreurs sont tout de même limitées grâce au champ « Checksum » de son en-tête.
 - C’est un protocole qui fournit son meilleur effort sans pour autant être fiable.
 - Et il n’y a aucune fonctionnalité permettant de récupérer des données qui auraient été perdues.
 
Protocole de transport TCP
Voyons maintenant les détails du protocole de transport TCP. Comme il est fiable, il va « configurer » une connexion avant de commencer à envoyer des données.
Cette connexion se fait en trois étapes.

Prenons l’exemple du PC A qui veut envoyer des données au PC B de manière fiable. Nous allons donc utiliser TCP.

En premier, le PC A, enverra un message TCP « SYN », pour indiquer au PC B qu’il veut établir une connexion.
Dans l’exemple, le numéro de séquence est le « 1 ».

Ensuite, Le PC B répondra au PC A, en envoyant un message « SYN, ACK ». Le numéro de séquence est 100. Il s’agit d’un nombre aléatoire.
Et le ACK est égal à 2, ce qui signifie qu’il reconnaît bien avoir reçu le 1ᵉʳ message du PC A, qui portait le numéro 1, et qu’il est prêt pour le message suivant.

Et dans la dernière étape, le PC A enverra un accusé de réception vers le PC B. Dans l’exemple, il envoie un « ACK=101 », ce qui signifie qu’il reconnaît bien le numéro de séquence « 100 » du PC B.
Alors pour résumer et simplifier un peu les choses :
- Le PC A envoie un TCP SYN. Pour dire au PC B qu’il veut lui parler.
 - Ensuite, le PC B envoie un TCP SYN, ACK, pour informer le PC A qu’il accepte de l’écouter et en même temps, lui dit qu’il veut aussi lui parler.
 - Et pour finir, Le PC A envoie un accusé de réception TCP. C’est-à-dire qu’il accepte à son tour d’écouter le PC B.
 
Maintenant que la connexion est établie, les données peuvent être envoyées.
Fonctionnalité protocole TCP
Nous allons désormais parler d’une fonctionnalité que dispose le protocole TCP.
C’est le « contrôle de flux » plus connu sous le nom de « Flow Control ».
Cela permet d'éviter d'envoyer trop de données que le récepteur ne pourrait gérer…
Dans chaque segment TCP, le récepteur peut spécifier combien de données en octets, il veut recevoir, pour ne pas être débordé ou surchargé…
Suite de notre exemple :

Le PC A a bien établi une connexion en 3 étapes avec le PC B.
Il envoie 15 octets de données. Ici le numéro de séquence est « 10 » .

Le PC B va répondre en voyant un « ACK = 11 » qu'on pourrait traduire par :
« Merci, j'ai reçu vos 15 octets, maintenant envoyez-moi le reste ».
TCP est un protocole fiable, c'est pourquoi l'ensemble des paquets échangés est tracé.
Plus la taille des données est grande, et plus votre débit sera élevé. Ce qui est logique, car on envoie moins d'ACK que de données.
En-tête TCP
TCP est un protocole assez complexe, par exemple, rien qui sont en-tête comporte beaucoup plus de champs que celui d'UDP.

Comme pour UDP, il y a un champion pour les ports sources et de destinations. Toujours utilisé pour déterminer le type d'application.
On voit que 32 bits sont utilisés pour les numéros de séquence, et juste en dessous, il y a aussi 32 bits pour l'accusé de réception.
Le champ « Flags » est l'endroit où TCP définit les différents types de messages comme le « SYN » ou le « ACK ».
Le champ « window size » est la taille de la fenêtre, c'est là, où est spécifié le nombre d'octets de données qui seront envoyés avant de recevoir l'accusé de réception à l'autre bout.
Et pour finir, il y a le champ checksum, qui permet de contrôler que les données n'ont pas été perdues…
Pour résumer, TCP :
- Est un protocole fiable.
 - Avant d'envoyer des données, il établit une connexion en 3 étapes.
 - Après avoir envoyé une certaine quantité de données, un accusé de réception (ACK), validera la bonne réception à l'autre bout.
 - Pour éviter la surcharge, un nombre limité d'octets est envoyé.
 - Et il peut effectuer des retransmissions en cas d'erreurs.
 
Retrouvez tous nos cours pour réussir votre CCNA sur la chaîne YouTube de Formip.
Pour approfondir vos connaissances réseau, découvrez notre guide détaillé sur le Subnetting Décimal.
FAQs
Qu’est-ce que la couche transport ?
La couche transport est responsable de la transmission des données entre applications sur différents périphériques réseau, en assurant la fiabilité et le bon ordre des paquets selon le protocole utilisé.
Quelle est la différence entre TCP et UDP ?
TCP est un protocole fiable et orienté connexion, qui établit une session avant d’envoyer les données et assure la retransmission en cas de perte. UDP est un protocole sans connexion, non fiable, privilégié pour les applications en temps réel comme la VOIP ou le streaming vidéo.
Comment TCP établit-il une connexion ?
TCP utilise un processus en trois étapes appelé “handshake en trois voies” : SYN, SYN-ACK et ACK, pour synchroniser les numéros de séquence et garantir une communication fiable.
Qu’est-ce que le contrôle de flux (Flow Control) dans TCP ?
Le contrôle de flux permet de limiter la quantité de données envoyées avant de recevoir un accusé de réception (ACK), afin d’éviter de surcharger le récepteur et de réduire la congestion réseau.
Que contient l’en-tête TCP et UDP ?
L’en-tête TCP comprend le numéro de port source et destination, le numéro de séquence, l’accusé de réception (ACK), les flags, la taille de fenêtre et le checksum. L’en-tête UDP est plus simple avec les numéros de port, la longueur et le checksum.
Quand utiliser TCP ou UDP ?
TCP est adapté pour les transferts de fichiers, emails et applications nécessitant la fiabilité. UDP est utilisé pour la téléphonie IP, le streaming vidéo et les communications temps réel où la rapidité prime sur la fiabilité.
      
    