TCP en détail : fiabilité, numérotation et retransmission

Le protocole TCP (Transmission Control Protocol) est au cœur d’Internet.
Il est responsable d’une chose essentielle : garantir que les données arrivent correctement, même sur un réseau imparfait.

Pour y parvenir, TCP met en place plusieurs mécanismes intelligents : établissement de connexion, numérotation des données, accusés de réception, retransmissions et adaptation au réseau.


Pourquoi TCP est nécessaire

Le réseau IP est volontairement simple et imparfait :

  • les paquets peuvent être perdus
  • ils peuvent arriver en désordre
  • ils peuvent être dupliqués

TCP existe pour corriger ces défauts, sans surcharger le réseau.


Le 3-way handshake : établir la connexion

Avant d’échanger des données, TCP établit une connexion logique entre les deux machines.
Cette phase est appelée 3-way handshake.

Le processus se déroule en trois étapes :

  1. Le client envoie un message SYN pour demander une connexion
  2. Le serveur répond par SYN-ACK pour accepter
  3. Le client confirme avec ACK

À la fin de cette étape, les deux machines :

  • savent que l’autre est joignable
  • sont prêtes à échanger des données
  • ont synchronisé leurs numéros de séquence

La numérotation des données (Sequence Numbers)

TCP ne numérote pas les paquets, mais les octets de données.
Chaque octet transmis possède un numéro de séquence.

Grâce à cette numérotation :

  • le destinataire peut remettre les données dans le bon ordre
  • les données manquantes sont détectées
  • les doublons sont ignorés

Même si les paquets arrivent dans le désordre, TCP peut reconstruire le message original.


Les ACK : accusés de réception

À chaque fois que des données sont reçues, le destinataire envoie un ACK (Acknowledgment).
Cet ACK indique :

  • le dernier octet reçu correctement
  • ce que le récepteur attend ensuite

Les ACK permettent à l’émetteur de savoir :

  • quelles données sont arrivées
  • quelles données doivent être retransmises

Sans ACK, TCP ne pourrait pas garantir la fiabilité.


La retransmission des données perdues

Si l’émetteur ne reçoit pas d’ACK dans un certain délai, il suppose que les données ont été perdues.
Il déclenche alors une retransmission.

Ce mécanisme permet :

  • de corriger les pertes
  • de garantir l’intégrité des données
  • de rendre la communication fiable, même sur un réseau instable

Le contrôle de flux : ne pas saturer le récepteur

TCP s’assure que le récepteur ne soit pas submergé de données.
C’est le rôle du contrôle de flux.

Le récepteur indique :

  • combien de données il peut recevoir
  • via une valeur appelée window size

L’émetteur adapte son débit pour :

  • respecter cette limite
  • éviter la surcharge mémoire

Le contrôle de congestion : protéger le réseau

En plus du récepteur, TCP surveille l’état du réseau lui-même.
Si des pertes apparaissent, TCP considère qu’il y a de la congestion.

Il réduit alors volontairement :

  • la vitesse d’envoi
  • la taille de la fenêtre d’envoi

Puis il augmente progressivement le débit si tout se passe bien.

Ce mécanisme protège :

  • les routeurs
  • les liens réseau
  • l’ensemble d’Internet

Pourquoi TCP peut ralentir

TCP peut sembler lent dans certaines situations, mais ce n’est pas un défaut.
C’est un choix de conception.

TCP ralentit :

  • quand il détecte des pertes
  • quand le réseau est congestionné
  • quand la latence est élevée

Il préfère :

  • envoyer moins vite
  • plutôt que provoquer une saturation globale

C’est ce comportement qui rend Internet stable et résilient.


TCP et les applications modernes

Les applications modernes doivent composer avec TCP :

  • HTTP/HTTPS
  • email
  • transferts de fichiers

Pour certains usages très sensibles à la latence, d’autres protocoles (comme QUIC) ont été conçus, mais TCP reste indispensable.


Résumé à retenir

  • TCP établit une connexion avant d’envoyer des données
  • Les données sont numérotées
  • Les ACK confirment la réception
  • Les pertes déclenchent des retransmissions
  • Le contrôle de flux protège le récepteur
  • Le contrôle de congestion protège le réseau
  • TCP privilégie la fiabilité à la vitesse

En bref

TCP garantit une communication fiable en numérotant, contrôlant et retransmettant les données selon l’état du réseau et du récepteur.

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *