Mindkettő Transport-rétegbeli protokoll, de ellentétes kompromisszumokat kötnek. A TCP connection-oriented és megbízható — garantálja, hogy minden byte megérkezik, sorrendben, pontosan egyszer. Az UDP connectionless és "fire-and-forget" — csak elküldi a csomagokat (datagram-okat), kézbesítési vagy sorrendezési garancia nélkül. A TCP megbízhatóságát cseréled el az UDP alacsony overheadjéért és sebességéért.
TCP UDP
┌───────────────────────┐ ┌───────────────────────┐
│ connection (handshake)│ │ no connection │
│ reliable (retransmit) │ │ best-effort (no retry)│
│ ordered delivery │ │ unordered │
│ flow + congestion ctrl│ │ none │
│ higher overhead │ │ minimal overhead │
└───────────────────────┘ └───────────────────────┘
