← Tất cả câu hỏi
Sự khác biệt chính giữa giao thức TCP và UDP là gì?
Trung bìnhNgười mới bắt đầuDevOps

Sự khác biệt chính giữa giao thức TCP và UDP là gì?

Câu trả lời ngắn
TCP là một giao thức đáng tin cậy, hướng kết nối, đảm bảo việc phân phối, đặt hàng, và kiểm tra lỗi với chi phí chung. UDP là một giao thức không kết nối đơn giản không có bảo đảm giao hàng hoặc đặt hàng, nhưng nó nhanh hơn và nhẹ hơn.

TCP và UDP là hai giao thức lớp vận chuyển chính chạy trên IP. Điểm khác biệt cốt lõi: TCP hướng đến kết nối và đáng tin cậy, trong khi UDP không có kết nối và hoạt động trên cơ sở "bắn và quên".

TCP (RFC 9293)

  • Định hướng kết nối. Trước khi gửi dữ liệu, các điểm cuối thực hiện bắt tay ba chiều (3WHS): SYN → SYN-ACK → ACK, đồng bộ hóa các số thứ tự ban đầu.
  • Đáng tin cậy và có trật tự. Mỗi byte có một số thứ tự; người nhận gửi xác nhận (ACK), các phân đoạn bị mất được truyền lại và dữ liệu được tập hợp lại theo thứ tự ban đầu. Tính toàn vẹn được xác minh bằng tổng kiểm tra. RFC 9293 tuyên bố TCP "cung cấp dịch vụ luồng byte đáng tin cậy, theo thứ tự."
  • Luồng byte, không có ranh giới tin nhắn. TCP phân phối luồng byte không có cấu trúc: ranh giới tin nhắn không được giữ nguyên (ứng dụng phải đóng khung các tin nhắn của chính nó). Ngược lại, UDP hướng theo thông điệp - mỗi gói dữ liệu được phân phối dưới dạng một đơn vị riêng biệt, hoàn chỉnh hoặc hoàn toàn không (một sendto = một recvfrom).
  • Kiểm soát luồng và tắc nghẽn. TCP điều chỉnh tốc độ gửi để không làm quá tải cả người nhận lẫn mạng.
  • Đánh đổi: nhiều chi phí và độ trễ hơn cũng như tiêu đề lớn hơn — 20–60 byte (20 không có tùy chọn, có thể mở rộng thông qua các tùy chọn như MSS, chia tỷ lệ cửa sổ, SACK).

UDP (RFC 768)

  • Không kết nối. Không có sự bắt tay; mỗi datagram là độc lập.
  • Không đảm bảo. RFC nói rõ ràng "không đảm bảo phân phối và bảo vệ trùng lặp" — UDP không khôi phục các gói bị mất, trùng lặp hoặc không đúng thứ tự.
  • Đã sửa lỗi tiêu đề 8 byte chỉ với bốn trường: Cổng nguồn, Cổng đích, Độ dài, Tổng kiểm tra.
  • Lợi ích: độ trễ và chi phí thấp, cộng với hỗ trợ phát sóng/phát đa hướng.

Khi nào nên sử dụng cái nào

  • TCP: web (HTTP/HTTPS qua TCP), email, truyền tệp, SSH — ở mọi nơi mà tính toàn vẹn của dữ liệu được quan tâm.
  • UDP: Tra cứu DNS, chơi trò chơi trực tuyến, VoIP, phát video trực tiếp — trong đó tốc độ quan trọng hơn một gói bị mất.

Các điểm theo dõi chung

  • Bản thân UDP không sắp xếp dữ liệu, nhưng ứng dụng có thể xếp lớp logic riêng của nó lên trên (QUIC thực hiện việc này qua UDP).
  • HTTP/3 chạy trên QUIC qua UDP, còn HTTP/1.1 và HTTP/2 chạy trên TCP.
  • Tổng kiểm tra UDP là tùy chọn về mặt kỹ thuật trên IPv4 (giá trị 0 có nghĩa là "không được tính toán") nhưng bắt buộc trên IPv6.
Mạng máy tínhTCPUDP

Tải ngay và dùng thử miễn phí cho công việc của bạn!

Tải xuống cho Windows
10 15 credits miễn phí • Không cần thẻ tín dụngPhiên bản: Đang tải…

Không cần cài đặt - tải xuống và chạy. Không cần đăng ký - đăng nhập bằng Google.