Beide sind Protokolle der Transport-Schicht, aber sie treffen gegensätzliche Trade-offs. TCP ist verbindungsorientiert und zuverlässig — es garantiert, dass jedes Byte ankommt, in Reihenfolge, genau einmal. UDP ist verbindungslos und "fire-and-forget" — es sendet einfach Pakete (datagrams) ohne Zustell- oder Reihenfolgegarantien. Du tauschst die Zuverlässigkeit von TCP gegen den geringen Overhead und die Geschwindigkeit von UDP.
TCP UDP
┌───────────────────────┐ ┌───────────────────────┐
│ connection (handshake)│ │ no connection │
│ reliable (retransmit) │ │ best-effort (no retry)│
│ ordered delivery │ │ unordered │
│ flow + congestion ctrl│ │ none │
│ higher overhead │ │ minimal overhead │
└───────────────────────┘ └───────────────────────┘
