Что такое UDP-протокол простыми словами
UDP — протокол, на котором работают голосовые чаты, онлайн-игры и видеозвонки. Он ничего не гарантирует: не подтверждает доставку, не восстанавливает порядок и не просит переслать потерянное. Разберём, что такое UDP простыми словами и почему «ненадёжный» здесь — достоинство, а не изъян.
Что делает UDP
Почти ничего — и в этом вся суть. UDP (User Datagram Protocol) берёт твои данные, приклеивает к ним адрес и порт, отправляет и забывает.
Он не делает ничего из того, чем занят TCP:
- не устанавливает соединение — можно слать сразу;
- не ждёт подтверждения, что пакет дошёл;
- не отправляет потерянное заново;
- не выстраивает пакеты по порядку;
- не притормаживает, когда сеть перегружена.
Пакет ушёл — и дальше как повезёт. Дойдёт, не дойдёт, придёт вторым вместо первого — UDP это не волнует.
Почему это удобно
Потому что ожидание бывает хуже потери.
Представь голосовой звонок. Один пакет с 20 миллисекундами звука потерялся. У TCP есть только один путь: остановить поток и ждать повтора. Собеседник в это время молчит, а когда пакет наконец придёт, он уже никому не нужен — разговор ушёл вперёд. Результат — заикание и растущая задержка.
UDP просто едет дальше. Потерянные 20 миллисекунд ты либо не заметишь, либо услышишь как мгновенный щелчок. Звук остаётся живым.
Та же логика в играх. Позиция игрока, которая опоздала на полсекунды, бесполезна — за это время пришли три новые. Лучше потерять устаревший пакет, чем задержать актуальный.
Что работает по UDP
| Сервис | Порт |
|---|---|
| CS 1.6, Day of Defeat, Condition Zero, Sven Co-op | 27015 |
| Valheim | 2456–2458 |
| Rust | 28015 |
| Minecraft Bedrock Edition | 19132 |
| TeamSpeak 3 (голос) | 9987 |
| Mumble | 64738 |
| DNS (разрешение доменных имён) | 53 |
| WireGuard | 51820 |
Обрати внимание: Minecraft Java Edition в этом списке нет — он работает по TCP. А вот Bedrock — по UDP. Одна игра, разные издания, разные протоколы.
Кто отвечает за надёжность, если не UDP
Приложение — если ему это вообще нужно. Игровой движок сам решает, что делать с пропущенным пакетом: обычно предсказывает движение и подставляет данные из следующего. Современные протоколы поверх UDP (QUIC, на котором работает HTTP/3) реализуют собственные подтверждения — но по своим правилам, а не по жёстким правилам TCP.
Смысл в том, что UDP не навязывает решение, а отдаёт его приложению.
Что такое UDP-порт
То же, что и у TCP: номер от 1 до 65535, по которому операционная система понимает, какой программе отдать пришедшие данные. Нумерация у протоколов независимая — порт 27015 UDP и порт 27015 TCP это два разных порта, их могут занимать разные программы. Серверы GoldSrc, кстати, так и делают: игра идёт по UDP 27015, а RCON — по TCP 27015.
Частые вопросы
UDP хуже TCP? Нет, он другой. Для файла TCP лучше, для голоса — UDP.
Почему UDP называют ненадёжным? Это термин, а не оценка: протокол не даёт гарантий доставки. К качеству связи отношения не имеет.
UDP быстрее? Не по скорости передачи, а по задержке: он не тратит время на рукопожатие, подтверждения и ожидание повторов.
Почему проброс UDP-портов сложнее? У UDP нет соединения, поэтому роутеру не за что зацепиться, чтобы понять, кому вернуть ответ. NAT выкручивается таймерами, и работает это заметно капризнее, чем с TCP.
Хочешь открыть UDP-порт наружу?
Туннель избавляет от проброса портов и белого IP целиком — как это делается, разобрано в гайде Как открыть UDP-порт через туннель.
Ещё по теме: что такое TCP · TCP или UDP: в чём разница