TCP vs UDP — en quoi diffèrent-ils et quand choisir chacun ?
Réponse courte
TCP est orienté connexion : il fait une poignée de main, numérote les octets, retransmet les pertes et contrôle la congestion, offrant une livraison fiable et ordonnée au prix de la latence et du surcoût. UDP est sans connexion et fonctionne en mode envoyer-et-oublier — pas de poignée de main, pas de retransmission, pas d'ordonnancement. Utilisez TCP quand l'exactitude compte (web, e-mail, transfert de fichiers) et UDP quand la vitesse prime sur la perfection (DNS, VoIP, jeux, vidéo).
TCP et UDP sont les deux principaux protocoles de la couche transport, et le choix entre eux est un compromis entre fiabilité et latence. Comprendre quand chacun l'emporte est une connaissance réseau fondamentale.
Ce que TCP vous apporte
TCP est orienté connexion. Avant tout flux de données, il exécute une poignée de main en trois temps. Il numérote chaque octet pour que le récepteur puisse réassembler le flux dans l'ordre, accuse réception de ce qu'il reçoit, retransmet tout ce qui est perdu, et utilise le contrôle de flux et de congestion pour éviter de submerger le récepteur ou le réseau. Le coût de tout cela est le surcoût et une latence accrue — allers-retours pour l'établissement, attentes des accusés de réception, blocage de tête de file quand un segment est perdu.
Ce qu'UDP vous apporte
UDP est sans connexion : il enveloppe simplement votre charge utile dans un petit en-tête avec des ports source/destination et une somme de contrôle, puis l'envoie. Pas de poignée de main, pas de retransmission, pas d'ordonnancement, pas de contrôle de congestion. Si un paquet est perdu, il est parti à moins que l'application ne le gère. Cela rend UDP rapide et sans état, avec un surcoût minime.
Choisir entre les deux
Utilisez TCP quand chaque octet doit arriver correctement et dans l'ordre : HTTP(S), SSH, e-mail, transfert de fichiers. Utilisez UDP quand la rapidité prime sur l'exhaustivité : voix et vidéo en temps réel, jeux en ligne, et DNS, où une requête perdue est simplement réessayée. Les protocoles modernes brouillent la frontière — QUIC exécute des flux fiables, multiplexés et chiffrés au-dessus d'UDP pour éviter le blocage de tête de file de TCP.
Note de sécurité
L'absence d'état d'UDP en fait le vecteur favori des DDoS par réflexion et amplification (DNS, NTP, memcached), car une adresse source usurpée fait envoyer une grande réponse à la victime.
Les recruteurs attendent le cadrage fiabilité vs vitesse ainsi que quelques exemples de protocoles corrects de chaque côté.
Questions de suivi probables
- Pourquoi le DNS utilise-t-il UDP pour la plupart des requêtes mais bascule vers TCP pour les grandes réponses ?
- Comment QUIC offre-t-il une fiabilité de type TCP au-dessus d'UDP ?
- Que signifie l'absence d'état d'UDP pour les attaques par usurpation et amplification ?