Определение

UDP (User Datagram Protocol) — транспортный протокол в стеке TCP/IP, обеспечивающий минималистичную связь без установки соединения и гарантий доставки.

Характеристики

  • Без установки соединения: Передача данных без предварительного handshake.
  • Ненадежный: Нет подтверждения доставки или повторной отправки пакетов.
  • Малые накладные расходы: Заголовок 8 байт (против 20 байт у TCP).
  • Отсутствие контроля перегрузок: Пакеты могут теряться при высокой нагрузке.
  • Бессостояние: Каждый датаграмм обрабатывается независимо.

Структура заголовка UDP (8 байт)

0      7 8     15 16    23 24    31
+--------+--------+--------+--------+
| Порт отправителя | Порт получателя |
+--------+--------+--------+--------+
| Длина           | Контрольная сумма|
+--------+--------+--------+--------+
|             Данные...             |
+----------------------------------+

Типовые применения

  • Реалтайм-сервисы: VoIP (SIP/RTP), потоковое видео
  • DNS-запросы: Быстрое разрешение имен в один пакет
  • Онлайн-игры: Передача позиций игроков с минимальной задержкой
  • IoT/Датчики: Периодическая отправка показаний
  • Многоадресная рассылка: Эффективная передача “один-ко-многим”

Сравнение с TCP

ПараметрUDPTCP
СкоростьБыстрее (нет handshake/ACK)Медленнее
НадежностьНет гарантий доставкиГарантированная доставка
УпорядочиваниеНетСтрогий порядок данных
Контроль перегрузокОтсутствуетАдаптивное окно

Особенности работы

  • Потеря пакетов: Допустима для реалтайм-трафика
  • Джиттер: Приложения должны сами управлять буферизацией
  • Ограничение MTU: Большие датаграммы могут фрагментироваться | Контрольная сумма: В IPv4 может быть отключена (риск повреждения данных)

Рекомендуемое Чтение

Защита безопасности нескольких аккаунтов, начиная с FlashID

С помощью нашей технологии отпечатков пальцев оставайтесь незаметными.

Защита безопасности нескольких аккаунтов, начиная с FlashID