UDP (User Datagram Protocol) — это протокол транспортного уровня модели OSI, предоставляющий ненадежную (без гарантий доставки), не требующую установки соединения и быструю передачу данных.
Особенности UDP:
- Ненадежность (Unreliable): Нет гарантий доставки пакетов. Пакеты могут быть потеряны, продублированы или прийти не по порядку.
- Без установки соединения (Connectionless): Перед отправкой данных не устанавливается соединение между отправителем и получателем. Каждый пакет отправляется независимо.
- Отсутствие контроля потока и ошибок: UDP не осуществляет контроль над скоростью отправки данных и не проверяет пакеты на ошибки (кроме контрольной суммы, которая необязательна).
- Низкие накладные расходы: Заголовки UDP намного меньше заголовков TCP, что уменьшает объем передаваемых служебных данных.
- Большая скорость: Из-за отсутствия процедур установки соединения, контроля потока и повторной передачи, UDP значительно быстрее TCP.
- Использует дейтаграммы: Единицей передачи данных в UDP является дейтаграмма.
Примеры использования UDP:
- Потоковое аудио и видео (например, онлайн-трансляции).
- Онлайн-игры.
- DNS (Domain Name System).
- DHCP (Dynamic Host Configuration Protocol).
- SNMP (Simple Network Management Protocol).
Структура заголовка UDP:
| Поле | Размер (байты) | Описание |
|---|
| Порт источника | 2 | Номер порта приложения отправителя. |
| Порт назначения | 2 | Номер порта приложения получателя. |
| Длина UDP.длина | 2 | Длина заголовка и данных UDP в байтах. |
| Контрольная сумма | 2 | Необязательная контрольная сумма для проверки целостности. |
python