Открыть сервис

UDP

UDP (User Datagram Protocol, протокол пользовательских датаграмм) — это один из основных протоколов транспортного уровня модели OSI и TCP/IP, предназначенный для передачи данных в компьютерных сетях. В отличие от TCP (Transmission Control Protocol), UDP является протоколом без установления соединения и не гарантирует доставки, упорядочивания или защиты от дублирования пакетов. Он обеспечивает минимальную задержку и низкую служебную нагрузку, что делает его пригодным для приложений, где скорость важнее надёжности, например, в потоковом видео, онлайн-играх и DNS-запросах.

История

Протокол UDP был разработан в начале 1980-х годов в рамках проекта ARPANET, предшественника современного Интернета. Его создание было связано с необходимостью иметь лёгкий транспортный протокол для приложений, которые не требовали сложной обработки ошибок и контроля потока, характерных для TCP. Первая спецификация UDP была опубликована в 1980 году в RFC 768 (Request for Comments) под названием «User Datagram Protocol». Автором спецификации считается Дэвид Рид (David Reed) из Массачусетского технологического института. С тех пор протокол остаётся практически неизменным, за исключением незначительных дополнений в области безопасности и расширений, таких как UDP-Lite.

Принцип работы

UDP работает на транспортном уровне и обеспечивает передачу данных между приложениями на хостах. Он использует порты для идентификации конкретных приложений-отправителей и получателей. В отличие от TCP, UDP не устанавливает виртуальное соединение перед передачей данных: отправитель просто формирует датаграмму (пакет) и отправляет её по указанному IP-адресу и порту. Получатель, если он слушает этот порт, принимает датаграмму; если нет — пакет теряется. Протокол не предусматривает механизмов подтверждения получения, повторной отправки потерянных пакетов или контроля перегрузки. Это делает UDP «ненадёжным» в смысле гарантий доставки, но одновременно и очень быстрым.

Формат датаграммы

UDP-датаграмма состоит из заголовка и поля данных. Заголовок имеет фиксированный размер — 8 байт (64 бита) и включает четыре поля:

Поле данных может содержать от 0 до 65527 байт (с учётом 8-байтового заголовка). Однако на практике максимальный размер UDP-датаграммы ограничен MTU (Maximum Transmission Unit) сетевого уровня, обычно 1500 байт для Ethernet, что приводит к фрагментации на IP-уровне.

Характеристики и особенности

UDP обладает рядом ключевых характеристик, отличающих его от TCP:

Применение

UDP используется в приложениях и протоколах, где допустима потеря части данных, но критична низкая задержка или требуется простая передача без установления соединения. Основные области применения:

Потоковое мультимедиа

Сетевые службы

Протоколы реального времени

Сравнение с TCP

ХарактеристикаUDPTCP
Тип соединенияБез установления соединенияОриентирован на соединение
НадёжностьНенадёжный (потери возможны)Надёжный (гарантия доставки)
УпорядочиваниеНе гарантируетсяГарантируется
Контроль перегрузкиОтсутствуетЕсть (механизмы скользящего окна)
Заголовок8 байт20-60 байт
СкоростьВысокаяНиже из-за служебных операций
Поддержка multicastДаНет
Типичные приложенияDNS, VoIP, игры, стримингHTTP, FTP, SMTP, SSH

Безопасность

UDP не имеет встроенных механизмов безопасности, таких как шифрование или аутентификация. Это делает его уязвимым для ряда атак:

Для защиты используются межсетевые экраны (фаерволы), фильтрация трафика, протоколы шифрования на прикладном уровне (например, DTLS — Datagram Transport Layer Security) и системы обнаружения вторжений.

Расширения и вариации

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →