UDP

User Datagram HTTP/2.0col · RFC 768 · 1980

Что это

UDP (User Datagram HTTP/2.0col) — простой, быстрый, ненадёжный транспорт поверх IP. RFC 768, август 1980. Автор — David Reed. По сути, тонкая обёртка вокруг IP: только порты + контрольная сумма.

Что делает и чего НЕ делает

TCPUDP
Соединениеда (handshake)нет
Надёжностьданет
Порядокгарантированне гарантирован
Границы сообщенийнет (поток)да (datagram)
Congestion controlданет
Overhead заголовка20+ байт8 байт

Заголовок

Всего 8 байт:

Source Port (16b)  |  Dest Port (16b)
Length (16b)       |  Checksum (16b)

Где используется

Почему возвращение UDP

15 лет TCP был королём. Потом Google сделал QUIC поверх UDP — потому что:

QUIC вернул надёжность поверх UDP

У «голого» UDP нет никаких гарантий — часть пакетов просто не долетает: их дропает роутер при перегрузке, теряет провайдер, проглатывает NAT. Приложение об этом даже не узнаёт. Для DNS-запроса это нормально (переспросим через таймаут), для видео — тоже (пропустим кадр). А для веба — нет.

QUIC (и следом HTTP/3) добавляет поверх UDP то, что раньше делал TCP:

Итог: снаружи это по-прежнему UDP-пакеты (порт 443/udp), но приложение получает надёжный поток. При этом реализация QUIC живёт в браузере / библиотеке, а не в ядре ОС — обновления катятся вместе с браузерами, а не ждут по 5 лет апгрейда ядра Linux/Windows.

Amplification атаки

Без handshake атакующий подделывает source IP → сервер отвечает большим ответом жертве. Классика — DNS amplification (57×), NTP (556×), Memcached (51000×!). Провайдеры фильтруют, но проблема остаётся.

В РФ

Массово UDP не режется — иначе бы отвалились DNS, NTP, игры. Но ТСПУ шейпит UDP-порт 443 (QUIC) — из-за чего HTTP/3 часто медленнее HTTP/2. Также вычленяет по сигнатуре UDP-туннели (WireGuard).