Και τα δύο είναι πρωτόκολλα του επιπέδου Transport, αλλά κάνουν αντίθετους συμβιβασμούς. Το TCP είναι connection-oriented και αξιόπιστο — εγγυάται ότι κάθε byte φτάνει, με τη σωστή σειρά, ακριβώς μία φορά. Το UDP είναι connectionless και «fire-and-forget» — απλώς στέλνει πακέτα (datagrams) χωρίς καμία εγγύηση παράδοσης ή σειράς. Ανταλλάσσεις την αξιοπιστία του TCP για το χαμηλό overhead και την ταχύτητα του UDP.
TCP UDP
┌───────────────────────┐ ┌───────────────────────┐
│ connection (handshake)│ │ no connection │
│ reliable (retransmit) │ │ best-effort (no retry)│
│ ordered delivery │ │ unordered │
│ flow + congestion ctrl│ │ none │
│ higher overhead │ │ minimal overhead │
└───────────────────────┘ └───────────────────────┘
