Les deux sont des protocoles de la couche Transport, mais ils font des compromis opposés. TCP est orienté connexion et fiable — il garantit que chaque octet arrive, dans l'ordre, exactement une fois. UDP est sans connexion et « fire-and-forget » — il envoie simplement des paquets (datagrammes) sans aucune garantie de livraison ni d'ordre. Vous échangez la fiabilité de TCP contre le faible overhead et la vitesse d'UDP.
TCP UDP
┌───────────────────────┐ ┌───────────────────────┐
│ connection (handshake)│ │ no connection │
│ reliable (retransmit) │ │ best-effort (no retry)│
│ ordered delivery │ │ unordered │
│ flow + congestion ctrl│ │ none │
│ higher overhead │ │ minimal overhead │
└───────────────────────┘ └───────────────────────┘
