Что такое дейтаграмма (датаграмма) простыми словами?
Встречаю слово «дейтаграмма» в описании UDP и IP. Иногда пишут «датаграмма». Это одно и то же? И чем дейтаграмма отличается от обычного пакета или сегмента?
2 ответа
Дейтаграмма (англ. datagram, от data + telegram) — это самостоятельная единица данных, которая передаётся по сети независимо от других и несёт в себе всю информацию для доставки (адреса, порты), не полагаясь на установленное соединение.
«Дейтаграмма» и «датаграмма» — это просто два варианта перевода одного и того же английского слова. Никакой разницы нет.
Ключевая идея — независимость. Каждая дейтаграмма путешествует сама по себе, может пойти своим маршрутом, прийти не в том порядке или вообще не прийти. Получатель не ждёт «продолжения» — каждая дейтаграмма самодостаточна.
Чтобы не путаться в терминах разных уровней:
| Уровень | Протокол | Единица данных |
|---|---|---|
| Транспортный (с соединением) | TCP | сегмент |
| Транспортный (без соединения) | UDP | дейтаграмма |
| Сетевой | IP | пакет (IP-дейтаграмма) |
| Канальный | Ethernet | кадр (frame) |
Именно поэтому UDP расшифровывается как User Datagram Protocol — он работает дейтаграммами. А вот TCP оперирует сегментами, потому что там есть поток и соединение.
Если совсем коротко: дейтаграмма — это «письмо целиком», на котором написан адрес и которое отправляется в сеть само по себе. В отличие от потока TCP, где данные льются непрерывным ручейком, дейтаграммы — это отдельные конверты, каждый со своим адресом.