ทั้งสองเป็นโปรโตคอลชั้น Transport แต่แลกเปลี่ยน trade-off ในทิศทางตรงข้ามกัน TCP เป็นแบบ connection-oriented และเชื่อถือได้ — มันรับประกันว่าทุกไบต์มาถึง, ตามลำดับ, ครั้งเดียวพอดี UDP เป็นแบบ connectionless และ "ยิงแล้วลืม" — มันเพียงส่ง packet (datagram) โดยไม่รับประกันการส่งถึงหรือลำดับ คุณแลกความเชื่อถือได้ของ 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 │
└───────────────────────┘ └───────────────────────┘
