Protocole TCP : contrôle de la taille des paquets, débit et réassemblage
Le Transmission Control Protocol (TCP) est le protocole de la couche transport responsable de la livraison fiable et ordonnée des données sur les réseaux IP. Il gère la segmentation des paquets, le contrôle de flux et le réassemblage à destination.
Fonctions fondamentales du TCP
Gestion de la taille des paquets
- MSS (Maximum Segment Size) : Négocié lors de l'établissement de connexion (typiquement 1460 octets pour Ethernet)
- Path MTU Discovery : Ajustement dynamique pour éviter la fragmentation
- Segmentation : Découpe les données applicatives en segments de taille appropriée
Contrôle du débit (contrôle de flux et de congestion)
- Fenêtre glissante : Le récepteur annonce sa capacité de tampon (rwnd)
- Fenêtre de congestion (cwnd) : L'expéditeur limite selon les conditions réseau
- Algorithmes : Slow Start, Congestion Avoidance, Fast Retransmit/Recovery
- Variantes modernes : CUBIC (défaut Linux), BBR, Vegas, Reno
Réassemblage des messages
- Numéros de séquence : Chaque octet numéroté pour l'ordonnancement
- Accusés de réception : ACK cumulatifs confirmant la réception
- Tampon de réassemblage : Segments hors ordre conservés jusqu'à comblement des trous
- Détection des doublons : Les numéros de séquence empêchent la duplication
TCP vs UDP
Contrairement à l'UDP (sans connexion, sans garanties), TCP fournit :
- Orienté connexion (handshake à 3 voies)
- Livraison fiable (retransmission en cas de perte)
- Livraison ordonnée (numéros de séquence)
- Contrôle de flux (évite le débordement du récepteur)
- Contrôle de congestion (évite l'effondrement réseau)
Impact réel
Les mécanismes du TCP permettent la navigation web (HTTP/HTTPS), le courriel (SMTP/IMAP), le transfert de fichiers (FTP/SFTP) et le streaming (avec mise en tampon). Son contrôle de débit adaptatif prévient l'effondrement par congestion — une fonction critique pour la stabilité d'Internet.
