UDP (User Datagram Protocol) - протокол транспортного уровня, который обеспечивает доставку данных от источника к назначению без установления надежного соединения.
Особенности UDP:
Без установления соединения: UDP не требует установления и поддержания соединения между отправителем и получателем, что делает его более быстрым и менее надежным по сравнению с TCP.
Без гарантии доставки и порядка: UDP не гарантирует доставку пакетов или порядок их прибытия. Это означает, что пакеты могут приходить в произвольном порядке, потеряться или дублироваться, и приложение должно само обрабатывать эти сценарии.
Простой заголовок: Заголовок UDP содержит всего 8 байт информации, что делает его более эффективным в использовании ресурсов сети по сравнению с TCP.
Без подтверждения и переотправки: UDP не включает механизм подтверждения получения пакетов или механизм автоматической переотправки потерянных пакетов. Это означает, что приложение должно само управлять подтверждением и переотправкой данных, если это необходимо.
Широкое использование: UDP широко используется для приложений, где небольшая задержка важнее гарантированной доставки данных, таких как видео- и аудиотрансляции в реальном времени, онлайн-игры и DNS-запросы.
Примеры использования UDP:
VoIP (Voice over IP): Голосовые вызовы через интернет.
Стриминг мультимедиа: Трансляции видео и аудио в реальном времени.
DNS (Domain Name System): Запросы на разрешение доменных имен.
Игровые приложения: Онлайн-игры, где небольшая задержка более важна, чем гарантированная доставка.
Сбор данных: Передача данных от датчиков и устройств в Интернете вещей (IoT).
Преимущества: Низкая задержка передачи. Меньший объем заголовка, чем у TCP. Простота в реализации. Хорошо подходит для реализации быстрых и эффективных приложений в реальном времени.
Недостатки: Нет гарантированной доставки данных. Нет гарантированного порядка доставки. Не поддерживает контроль потока. Менее надежен при передаче данных через ненадежные сети.
Заголовок UDP-пакета: (8 байт)
Source Port (Исходный порт): (16 бит) Destination Port (Порт назначения): (16 бит)
Length (Длина): (16 бит) Полная длина UDP-пакета, включая заголовок и данные. Минимальная длина составляет 8 байт (только заголовок).
Checksum (Контрольная сумма): (16 бит) Для обеспечения целостности UDP-пакета.