Comprendre les protocoles TCP et UDP
Avant d’aborder en détail les protocoles TCP et UDP, il est essentiel de comprendre le contexte plus large dans lequel ils s’inscrivent : la suite de protocoles TCP/IP.
La suite TCP/IP (Transmission Control Protocol / Internet Protocol) est l’ensemble de protocoles standardisés qui permettent à des ordinateurs et des appareils connectés d’échanger des données sur des réseaux comme Internet.
Cette suite regroupe plusieurs couches, chacune remplissant un rôle spécifique :
- Couche Application : HTTP, SMTP, FTP, DNS…
- Couche Transport : TCP, UDP
- Couche Réseau : IP (IPv4, IPv6)
- Couche Accès Réseau : Ethernet, Wi-Fi…
TCP et UDP sont deux protocoles majeurs de la couche Transport, chargée de la gestion de la communication entre les hôtes.
TCP (Transmission Control Protocol)
Le protocole TCP est orienté connexion. Il établit une session stable entre deux hôtes avant tout échange de données. Son objectif est de garantir l’intégrité et la fiabilité du transfert.
Établissement de connexion : la poignée de main à trois temps (3-way handshake)
Avant toute transmission, TCP réalise une négociation en trois étapes :
- SYN : le client envoie une demande de connexion au serveur.
- SYN-ACK : le serveur accepte et répond.
- ACK : le client confirme et la connexion est établie.
Ce mécanisme permet de synchroniser les séquences et d’initier un flux de données ordonné.
Caractéristiques clés de TCP
- Fiabilité : garantit l’ordre et l’intégrité des données.
- Contrôle de flux : évite la saturation du récepteur.
- Contrôle de congestion : réduit la charge réseau en cas de saturation.
- Full-duplex : transmission bidirectionnelle simultanée.
- Flux orienté octets : les données sont vues comme un flux continu.
Cas d’usage typiques de TCP
- HTTP/HTTPS : navigation web
- SMTP, IMAP, POP : courrier électronique
- FTP, SFTP : transferts de fichiers
- Bases de données : connexions distantes SQL
UDP (User Datagram Protocol)
Le protocole UDP est orienté sans connexion. Il envoie des paquets sans s’assurer de leur bonne réception.
UDP privilégie la rapidité à la fiabilité. Il est utilisé là où la latence est critique.
Caractéristiques clés de UDP
- Simple et rapide : pas de handshake.
- Peu fiable : pas de vérification de réception.
- Faible surcharge : en-tête de 8 octets.
- Multimodal : unicast, multicast, broadcast.
- Haute efficacité : transmission rapide, même si quelques paquets sont perdus.
Cas d’usage typiques de UDP
- Streaming audio/vidéo : YouTube, appels VoIP
- Jeux en ligne : interactions temps réel
- DNS : résolution de noms
- SNMP : supervision de réseau
Comparatif TCP vs UDP
| Caractéristique | TCP | UDP |
|---|---|---|
| Connexion | Oui (3-way handshake) | Non |
| Fiabilité | Élevée, livraison garantie | Faible, pas d'assurance |
| Contrôle de flux | Oui | Non |
| Contrôle de congestion | Oui | Non |
| Surcharge réseau | Élevée (en-tête de 20 octets) | Faible (en-tête de 8 octets) |
| Efficacité | Moindre (beaucoup de vérifications) | Élevée (faible complexité) |
| Cas d’usage | Transferts fiables (fichiers, mails) | Temps réel (vidéo, DNS) |
En résumé : quand utiliser TCP ou UDP ?
| Besoin métier | Protocole recommandé |
|---|---|
| Transfert fiable et complet | TCP |
| Application critique sans perte | TCP |
| Réactivité en temps réel | UDP |
| Streaming / multimédia | UDP |
| Résolution DNS | UDP |