Источник
User Datagram Protocol
Свойства UDP, особенности и типичные сценарии использования.
UDP — легковесный транспортный протокол, ориентированный на скорость и минимальную задержку. Он не гарантирует доставку или порядок, зато хорошо подходит для real-time сценариев.
Особенности UDP
Без соединения
UDP не устанавливает соединение перед передачей данных. Отправка идет сразу.
Best-effort доставка
Нет встроенной гарантии доставки, порядка или повторной передачи.
Низкие накладные расходы
Заголовок UDP короткий, что снижает overhead и задержку.
Сообщения (datagrams)
UDP работает с отдельными датаграммами, сохраняя границы сообщений.
Как происходит обмен в UDP
В UDP нет установления соединения: каждое сообщение - отдельная датаграмма, которая отправляется в сеть сразу и может дойти, потеряться или прийти не в порядке.
Как работает обмен в UDP
UDP отправляет датаграммы без установки соединения и подтверждений.
Broadcast и multicast в UDP
UDP можно использовать для широковещательной рассылки: отправитель шлёт датаграмму на broadcast-адрес (например, адрес подсети), и её получают все узлы в сегменте. На практике это работает только в пределах локальной сети и часто требует явного разрешения на broadcast в сокете; маршрутизаторы обычно блокируют такие пакеты. Если нужна рассылка “один ко многим” за пределами сегмента, используют multicast (если он поддерживается сетью) либо прикладную рассылку через сервер.
Где UDP подходит лучше всего
- Real-time мультимедиа (VoIP, видеосвязь, стриминг)
- Онлайн-игры и интерактивные приложения
- DNS и другие короткие запросы
- Телеметрия и метрики
- Широковещание и мультикаст
Сравнение TCP и UDP
TCP
- Надёжная доставка и порядок
- Соединение перед передачей
- Контроль потока и перегрузок
- Больше накладных расходов
UDP
- Best-effort доставка без гарантий
- Нет handshake, отправка сразу
- Минимальный overhead
- Лучше для real-time
