Loại giao thức |
Hướng kết nối (Connection-oriented) |
Không hướng kết nối (Connectionless) |
Thiết lập kết nối |
Bắt buộc: thông qua quá trình bắt tay 3 bước (3-way handshake) |
Không cần thiết lập kết nối |
Đảm bảo độ tin cậy |
Có: Đảm bảo gói đến đúng thứ tự, không mất, không trùng lặp |
Không: Không đảm bảo gói đến đúng thứ tự hoặc không mất |
Kiểm tra lỗi (Error Checking) |
Có (kèm cơ chế sửa lỗi, retransmit nếu lỗi) |
Có (chỉ kiểm tra lỗi, không sửa lỗi) |
Thứ tự gói tin (Ordering) |
Có đảm bảo thứ tự nhận như gửi |
Không đảm bảo thứ tự |
Kiểm soát luồng (Flow Control) |
Có (window size, ACK, congestion control) |
Không có |
Tốc độ truyền tải |
Chậm hơn do cần kiểm soát và đảm bảo độ tin cậy |
Nhanh hơn vì không kiểm tra thứ tự, không ACK |
Gánh nặng tài nguyên |
Cao hơn: do cần quản lý kết nối, lưu trạng thái, ACK |
Thấp hơn: đơn giản, không lưu trạng thái kết nối |
Sử dụng trong ứng dụng |
Web (HTTP/HTTPS), Email (SMTP), FTP, SSH, v.v. |
VoIP, video streaming, DNS, game online, v.v. |
Kích thước header |
20 bytes (ít nhất) |
8 bytes |
Cơ chế xác nhận (ACK) |
Có: mỗi gói có thể được xác nhận |
Không có |
Cơ chế truyền lại (Retransmission) |
Có (khi timeout hoặc lỗi) |
Không có truyền lại |
Hướng truyền dữ liệu |
Song công (full-duplex) |
Song công, nhưng không kiểm soát |