UDP là gì? Giao thức không kết nối trong truyền tải mạng

UDP hay User Datagram Protocol là giao thức connectionless nằm ở tầng Transport, cho phép gửi dữ liệu dạng datagram từ nguồn đến đích mà không cần thiết lập kết nối trước hay đảm bảo gói tin đến nơi.

Trong DevOps và SRE, UDP được sử dụng rộng rãi cho các ứng dụng yêu cầu tốc độ cao và chấp nhận mất dữ liệu như DNS, VoIP, Video Streaming và gần đây là nền tảng cho HTTP/3 qua giao thức QUIC. Đặc tính fire-and-forget của UDP giúp giảm overhead lên CPU và mạng nhưng cũng đặt ra thách thức lớn về bảo mật và xử lý lỗi ở tầng ứng dụng.

Ví dụ: Khi xem livestream bóng đá, nếu một vài gói tin bị mất, hình ảnh chỉ bị nhòe trong tích tắc chứ video không dừng lại để chờ tải lại như khi dùng TCP.

UDP không có cơ chế 3-way handshake, retransmission hay flow control, giúp nó đạt được latency thấp nhất có thể.

UDP cho biết điều gì?

Theo dõi lưu lượng UDP giúp bạn nhận diện các loại hình traffic đặc thù:

  • Real-time Traffic: Lưu lượng UDP cao thường đến từ các ứng dụng thoại hoặc video.
  • Infrastructure Services: DNS và NTP là hai dịch vụ hạ tầng cốt lõi dùng UDP port 53 và 123.
  • Security Anomaly: Một lượng lớn UDP traffic bất thường hướng vào một port ngẫu nhiên thường là dấu hiệu của UDP Flood hoặc Amplification Attack.

Khác với TCP, việc UDP packet bị drop là điều bình thường và thường được xử lý hoặc bỏ qua bởi ứng dụng.

UDP khác TCP ra sao?

Sự khác biệt cốt lõi nằm ở triết lý thiết kế:

  • TCP: Hướng kết nối, tin cậy, đảm bảo thứ tự. Phù hợp cho Web, Email, File Transfer.
  • UDP: Không kết nối, không tin cậy, không đảm bảo thứ tự. Phù hợp cho Gaming, Streaming, DNS.

TCP coi mạng là không tin cậy và cố gắng sửa lỗi. UDP coi mạng là phương tiện truyền tải thuần túy và đẩy trách nhiệm kiểm soát lỗi lên tầng Application.

Tại sao UDP nhanh hơn?

UDP loại bỏ hoàn toàn các thủ tục rườm rà của TCP:

  • No Handshake: Client gửi dữ liệu ngay lập tức mà không cần chờ 1 RTT để chào hỏi server.
  • No Head-of-Line Blocking: Mất một gói tin không làm tắc nghẽn các gói tin phía sau.
  • Header nhỏ gọn: UDP header chỉ có 8 bytes so với tối thiểu 20 bytes của TCP header.

Điều này biến UDP thành lựa chọn lý tưởng cho các mạng có bandwidth thấp hoặc latency cao.

UDP Packet Loss và Ordering

Do không có cơ chế đánh số thứ tự sequence number và báo nhận acknowledgement, các datagram có thể:

  • Đến đích không đúng thứ tự gửi.
  • Bị duplicate.
  • Bị mất hoàn toàn trên đường truyền.

Ứng dụng sử dụng UDP phải tự implement logic để sắp xếp lại gói tin hoặc yêu cầu gửi lại nếu cần thiết.

Ví dụ: Trong game online, vị trí nhân vật được cập nhật liên tục qua UDP. Nếu mất gói tin vị trí cũ, game server chỉ cần gói tin vị trí mới nhất chứ không cần gửi lại gói cũ.

UDP trong HTTP/3 và QUIC

Giao thức HTTP/3 hiện đại được xây dựng trên nền QUIC, và QUIC chạy trên nền UDP. Đây là bước chuyển mình lớn của web performance.

QUIC sử dụng UDP để đạt được tốc độ thiết lập kết nối cực nhanh 0-RTT hoặc 1-RTT và giải quyết vấn đề head-of-line blocking của TCP, đồng thời tự implement cơ chế tin cậy và bảo mật TLS 1.3 ngay trong user space thay vì phụ thuộc vào kernel.

Rủi ro bảo mật với UDP

Do không cần bắt tay, UDP rất dễ bị giả mạo địa chỉ IP nguồn hay IP Spoofing. Kẻ tấn công thường lợi dụng đặc điểm này để thực hiện:

  • UDP Flood: Gửi ngập lụt gói tin UDP vào mục tiêu để làm cạn kiệt băng thông.
  • Amplification Attack: Gửi request giả mạo IP nạn nhân đến các server DNS hoặc NTP công cộng để phản hồi lượng dữ liệu lớn về phía nạn nhân.

Checklist UDP cho Production

  • Đã cấu hình firewall chỉ mở các UDP port cần thiết như 53, 123, 443 cho QUIC chưa?
  • Đã bật tính năng chống IP Spoofing tại network edge chưa?
  • Đã thiết lập Rate Limit cho UDP traffic để chống Flood Attack chưa?
  • Với ứng dụng nội bộ dùng UDP, đã tuning MTU để tránh phân mảnh gói tin hay fragmentation chưa?
  • Có monitoring riêng cho UDP throughput và error rate không?

Kết luận

UDP là giao thức tối giản ưu tiên tốc độ và hiệu suất thực tế.

Để vận hành tốt các dịch vụ dùng UDP, bạn cần chấp nhận tính chất không tin cậy của nó, chú trọng vào bảo mật chống DDoS và hiểu rõ cách ứng dụng xử lý packet loss để tuning mạng phù hợp.

Thông tin nổi bật

Sự kiện phát trực tiếp​

Event Thumbnail

Báo cáo quan trọng

Article Thumbnail
Article Thumbnail
Chia sẻ bài viết:
Theo dõi
Thông báo của
0 Góp ý
Được bỏ phiếu nhiều nhất
Mới nhất Cũ nhất
Phản hồi nội tuyến
Xem tất cả bình luận

Tiêu điểm chuyên gia