Molemmat ovat Transport-kerroksen protokollia, mutta ne tekevät vastakkaiset kompromissit. TCP on yhteydellinen ja luotettava — se takaa, että jokainen tavu saapuu perille, oikeassa järjestyksessä, täsmälleen kerran. UDP on yhteydetön ja "ammu ja unohda" -tyyppinen — se vain lähettää paketteja (datagrammeja) ilman toimitus- tai järjestystakuita. Vaihdat TCP:n luotettavuuden UDP:n vähäiseen yleisrasitteeseen (overhead) ja nopeuteen.
TCP UDP
┌───────────────────────┐ ┌───────────────────────┐
│ connection (handshake)│ │ no connection │
│ reliable (retransmit) │ │ best-effort (no retry)│
│ ordered delivery │ │ unordered │
│ flow + congestion ctrl│ │ none │
│ higher overhead │ │ minimal overhead │
└───────────────────────┘ └───────────────────────┘
