UDP (User Datagram Protocol)
UDP (User Datagram Protocol) — протокол транспортного уровня, который передаёт данные отдельными датаграммами без установки соединения, подтверждений и гарантии доставки. Описан в RFC 768 и отличается минимальными накладными расходами.

Структура датаграммы
Заголовок UDP занимает 8 байт и содержит четыре поля по 16 бит: порт источника, порт назначения, длину датаграммы и контрольную сумму. В IPv4 контрольная сумма необязательна, в IPv6 обязательна. Порты позволяют доставить данные нужному приложению узла. Протокол сохраняет границы сообщений: одна операция отправки соответствует одной датаграмме. Нумерации, подтверждений и повторных передач нет — при необходимости их реализует само приложение или протокол более высокого уровня.
Где UDP эффективнее TCP
Отсутствие рукопожатия и повторных передач снижает задержки. Поэтому UDP применяют в коротких обменах «запрос–ответ» и в трафике реального времени, где опоздавший пакет бесполезен. Примеры: DNS (порт 53), DHCP (67 и 68), NTP (123), TFTP (69), SNMP (161), голос и видео по RTP, онлайн-игры. Поверх UDP работают протокол QUIC, на котором основан HTTP/3, туннели VXLAN и WireGuard, инкапсуляция IPsec NAT-T. UDP поддерживает широковещательную и многоадресную рассылку.
Ограничения и вопросы безопасности
UDP не регулирует скорость передачи и при перегрузке сети её не снижает. Датаграммы могут теряться, дублироваться и приходить в ином порядке. Крупные датаграммы фрагментируются на уровне IP, и потеря одного фрагмента уничтожает сообщение целиком. Поскольку соединения нет, адрес отправителя легко подделать. На этом основаны атаки с отражением и усилением через открытые серверы DNS, NTP и Memcached. Защита — фильтрация поддельных адресов и ограничение частоты ответов.
Вопросы и ответы
Вопрос 1: Почему DNS использует UDP, а не TCP?
Запрос и ответ DNS обычно помещаются в одну датаграмму,
и установка соединения лишь увеличила бы задержку.
TCP в DNS применяется для больших ответов и передачи зон.
Вопрос 2: Означает ли «ненадёжный» протокол, что данные часто теряются?
Нет. В исправной сети потери редки. «Ненадёжный» означает,
что сам протокол не обнаруживает потери и не исправляет
их — эту задачу при необходимости решает приложение.
Вопрос 3: Могут ли совпадать номера портов TCP и UDP?
Да. Пространства портов независимы: один и тот же номер
может одновременно использоваться службой TCP
и службой UDP, как порт 53 у DNS.

