Datagram
Datagram (tạm dịch: Gói dữ liệu độc lập) là một đơn vị truyền dẫn dữ liệu cơ bản trong các mạng máy tính sử dụng phương thức chuyển mạch gói (packet-switching). Một datagram được thiết kế để chứa đầy đủ thông tin định hướng (địa chỉ nguồn và đích) để có thể tự hành đi qua mạng từ máy gửi đến máy nhận mà không cần thiết lập kết nối trước (connectionless). Khác với các giao thức hướng kết nối như TCP, việc chuyển phát datagram tuân theo nguyên tắc "nỗ lực tối đa" (best-effort), nghĩa là mạng lưới không đảm bảo tuyệt đối về độ tin cậy, thứ tự hay tính toàn vẹn của dữ liệu.
Datagram (tạm dịch: Gói dữ liệu độc lập) là một đơn vị truyền dẫn dữ liệu cơ bản trong các mạng máy tính sử dụng phương thức chuyển mạch gói (packet-switching). Một datagram được thiết kế để chứa đầy đủ thông tin định hướng (địa chỉ nguồn và đích) để có thể tự hành đi qua mạng từ máy gửi đến máy nhận mà không cần thiết lập kết nối trước (connectionless).
Khác với các giao thức hướng kết nối như TCP, việc chuyển phát datagram tuân theo nguyên tắc "nỗ lực tối đa" (best-effort), nghĩa là mạng lưới không đảm bảo tuyệt đối về độ tin cậy, thứ tự hay tính toàn vẹn của dữ liệu.[1]
Từ nguyên và Lịch sử
[sửa | sửa mã nguồn]Từ nguyên
[sửa | sửa mã nguồn]Thuật ngữ "datagram" được tạo ra vào đầu những năm 1970 bởi Halvor Bothner-By, là sự kết hợp giữa hai từ data (dữ liệu) và telegram (điện tín).
Lịch sử hình thành
[sửa | sửa mã nguồn]Khái niệm datagram đánh dấu sự dịch chuyển từ mô hình mạng viễn thông truyền thống sang kiến trúc Internet hiện đại:
- Paul Baran (1964): Mô tả các "khối tin nhắn tiêu chuẩn nhỏ" có khả năng tự định tuyến để sống sót qua các thảm họa hạt nhân.
- Donald Davies (1967): Giới thiệu khái niệm chuyển mạch gói, đề xuất rằng mạng lưới chỉ nên tập trung truyền tải các gói tin độc lập.
- Louis Pouzin (1973): Thiết kế mạng CYCLADES, mạng đầu tiên thực thi mô hình datagram thuần túy. Triết lý của Pouzin về việc mạng không cần chịu trách nhiệm về độ tin cậy đã ảnh hưởng trực tiếp đến giao thức IP sau này.[2]
Đặc điểm kỹ thuật
[sửa | sửa mã nguồn]Một datagram hoạt động dựa trên các nguyên lý cốt lõi của tầng mạng và tầng vận chuyển trong mô hình OSI:
- Tính không hướng kết nối: Không yêu cầu quy trình bắt tay (handshake), giúp giảm thiểu độ trễ khởi tạo và phù hợp cho các ứng dụng thời gian thực.
- Tính tự hành: Mỗi datagram mang theo đầy đủ thông tin địa chỉ, cho phép các bộ định tuyến (Router) xử lý chúng một cách độc lập.
- Độ tin cậy thấp: Giao thức không tự động gửi lại các gói tin bị mất hoặc sửa lỗi dữ liệu bị hỏng; nhiệm vụ này thường được đẩy lên cho tầng ứng dụng.
Cấu trúc của UDP Datagram
[sửa | sửa mã nguồn]Trong bộ giao thức Internet, UDP là giao thức tiêu biểu sử dụng dịch vụ datagram. Một UDP datagram có phần đầu (header) cố định 8 byte, bao gồm:
- Source Port (2 byte): Cổng của ứng dụng gửi.
- Destination Port (2 byte): Cổng của ứng dụng nhận.
- Length (2 byte): Tổng độ dài của tiêu đề và dữ liệu.
- Checksum (2 byte): Mã kiểm tra lỗi cho tiêu đề và dữ liệu (không bắt buộc trong IPv4 nhưng bắt buộc trong IPv6).[3]
So sánh đơn vị dữ liệu
[sửa | sửa mã nguồn]| Tầng OSI | Tên gọi | Giao thức tiêu biểu |
|---|---|---|
| Tầng 4 (Vận chuyển) | Datagram / Segment | UDP / TCP |
| Tầng 3 (Mạng) | Packet | IP |
| Tầng 2 (Liên kết dữ liệu) | Frame | Ethernet |
Ứng dụng
[sửa | sửa mã nguồn]Mô hình datagram được ưu tiên trong các trường hợp yêu cầu tốc độ cao và chấp nhận rủi ro mất mát dữ liệu nhỏ:
- Dịch vụ mạng: DNS, DHCP, SNMP.
- Truyền thông đa phương tiện: VoIP, Phát trực tiếp (Streaming), Video Conference.
- Trò chơi trực tuyến: Cập nhật trạng thái người chơi liên tục trong thời gian thực.
Xem thêm
[sửa | sửa mã nguồn]Tham khảo
[sửa | sửa mã nguồn]- ^ IETF. "RFC 1594 - Glossary of Networking Terms". Truy cập ngày 31 tháng 3 năm 2026.
- ^ Abbate, Janet (1999). Inventing the Internet. MIT Press. ISBN 0-262-01172-7.
- ^ Postel, J. "User Datagram Protocol". Truy cập ngày 31 tháng 3 năm 2026.