TCP vs UDP
Hai giao thức tầng giao vận: TCP tin cậy nhưng chậm hơn, UDP nhanh nhưng “gửi là quên”. Đánh đổi kinh điển giữa độ chính xác và tốc độ.
So sánh
| TCP | UDP | |
|---|---|---|
| Kết nối | Hướng kết nối (3-way handshake) | Không kết nối (connectionless) |
| Tin cậy | Đảm bảo đến nơi, đúng thứ tự, gửi lại nếu mất (ACK, đánh số) | Không đảm bảo - có thể mất, đến lộn xộn |
| Tốc độ | Chậm hơn (overhead handshake + quản lý phiên) | Rất nhanh, độ trễ thấp |
| Kiểu | Kiểm soát luồng & lỗi | ”Fire-and-forget” |
Khi nào dùng
- TCP - dữ liệu cần chính xác tuyệt đối: truyền file, email SMTP, kết nối DB, giao dịch tài chính. HTTP chạy trên TCP.
- UDP - cần tốc độ & thời gian thực, chấp nhận mất ít dữ liệu: VoIP, video call, streaming, game online, DNS. Mất vài frame còn hơn bị trễ hình.
Nhiều giao thức streaming (RTP, QUIC/HTTP-3) tận dụng UDP rồi tự bổ sung cơ chế kiểm soát ở tầng ứng dụng.
Liên quan
- HTTP - xây trên TCP
- Load Balancer - LB tầng 4 xử lý TCP/UDP theo IP/port
- Latency - UDP chọn khi latency là ưu tiên