Beide zijn Transport-laag-protocollen, maar ze maken tegenovergestelde trade-offs. TCP is connection-oriented en betrouwbaar — het garandeert dat elke byte aankomt, op volgorde, precies één keer. UDP is connectionless en "fire-and-forget" — het stuurt gewoon pakketten (datagrams) zonder garanties voor aflevering of volgorde. Je ruilt de betrouwbaarheid van TCP in voor de lage overhead en snelheid van UDP.
TCP UDP
┌───────────────────────┐ ┌───────────────────────┐
│ connection (handshake)│ │ no connection │
│ reliable (retransmit) │ │ best-effort (no retry)│
│ ordered delivery │ │ unordered │
│ flow + congestion ctrl│ │ none │
│ higher overhead │ │ minimal overhead │
└───────────────────────┘ └───────────────────────┘
