Cả hai là giao thức tầng transport, nhưng đánh đổi khác nhau giữa độ tin cậy và tốc độ.
- TCP — hướng kết nối, tin cậy: bắt tay 3 bước, đảm bảo đến nơi, đúng thứ tự, có kiểm soát lỗi, retransmit, flow control và congestion control. Chi phí cao hơn, độ trễ lớn hơn. Dùng khi không được mất dữ liệu: HTTP/HTTPS, email, SSH, truyền file.
- UDP — không kết nối, không đảm bảo: gửi datagram "bắn và quên", không retransmit, không đảm bảo thứ tự → nhanh, độ trễ thấp, overhead nhỏ. Dùng khi tốc độ quan trọng hơn việc mất gói lẻ tẻ: video/voice call, game realtime, DNS, streaming.
QUIC (nền của HTTP/3) là giao thức transport chạy ở user space trên nền UDP, tự cài đặt độ tin cậy, thứ tự và kiểm soát tắc nghẽn.