TCP — Transmission Control Protocol

Introduction

Le TCP (Transmission Control Protocol) est l’un des protocoles fondamentaux …​

…​

de la suite TCP/IP, opérant à la couche transport (couche 4 du modèle OSI).

…​

Il garantit une transmission fiable, ordonnée et contrôlée des données.

TCP est utilisé par la majorité des applications nécessitant une fiabilité : web (HTTP/HTTPS), email, SSH, FTP.

1. Caractéristiques

  • Orienté connexion — handshake en 3 étapes

  • Fiabilité — accusés de réception, retransmission

  • Ordre garanti — numéros de séquence

  • Contrôle de flux — fenêtre glissante

  • Contrôle de congestion — adaptation au réseau

2. Handshake en 3 étapes

Client                          Serveur
  │                                │
  │─── SYN ───────────────────────▶│
  │                                │
  │◀────────────── SYN+ACK ────────│
  │                                │
  │─── ACK ───────────────────────▶│
  │                                │
  │       Connexion établie        │
  │       Échange de données       │

Cette poignée de main coûte du temps : c’est pourquoi UDP (sans handshake) est préféré pour les flux temps réel.

3. Structure du segment TCP

ChampRôle

Port source

Identification de l’app émettrice

Port destination

Identification de l’app cible

N° de séquence

Position des données dans le flux

N° d’accusé

Prochain octet attendu

Flags

SYN, ACK, FIN, RST, PSH, URG

Window

Taille du tampon récepteur

Checksum

Détection d’erreurs

4. Flags TCP

FlagRôle

SYN

Synchroniser (établir connexion)

ACK

Accusé de réception

FIN

Fin de connexion (gracieuse)

RST

Reset (forcé)

PSH

Push immédiat

URG

Données urgentes

Un scan TCP SYN (Nmap -sS) envoie SYN sans terminer le handshake → identifie les ports ouverts discrètement.

5. Contrôle de flux & congestion

Fenêtre glissante

  • Le récepteur annonce une taille de fenêtre

  • L’émetteur ne peut envoyer que ce volume

  • Évite la saturation du récepteur

Algorithmes

  • Slow Start — montée progressive

  • Congestion Avoidance — adaptation

  • Fast Retransmit — sur 3 ACKs dupliqués

  • Modern : CUBIC, BBR

6. Ports TCP courants

PortService

22

SSH

25

SMTP

53

DNS (zone transfer)

80

HTTP

443

HTTPS / TLS

3389

RDP

3306

MySQL

5432

PostgreSQL

7. Avantages

  • Fiabilité — pas de pertes silencieuses

  • Ordonnancement — données dans l’ordre

  • Adaptation — supporte les réseaux variables

  • Universel — implémenté partout

8. Limites

  • Latence — handshake + ACKs

  • Overhead — en-tête plus lourd

  • Head-of-Line blocking — un paquet perdu retarde les autres

Pour les apps temps réel (jeux, voix, vidéo), UDP ou QUIC (HTTP/3) sont préférables.

Conclusion

TCP reste le protocole de référence pour les transmissions fiables sur Internet.

Voir aussi : UDP · IP · OSI · Encapsulation · Wireshark