UDP (User Datagram Protocol) — это протокол транспортного уровня, обладающий следующими особенностями:
- Без установки соединения: UDP не требует предварительного установления соединения между отправителем и получателем. Данные отправляются в виде независимых пакетов (дейтаграмм).
- Низкая нагрузка: За счет отсутствия механизмов установления соединения, подтверждения доставки и контроля потока, UDP имеет существенно меньшую нагрузку и задержку по сравнению с TCP.
- Ненадежная доставка: UDP не гарантирует доставку пакетов, их порядок получения или отсутствие дубликатов. Пакеты могут быть потеряны, продублированы или прийти в неправильном порядке.
- Высокая скорость: Из-за отсутствия механизмов контроля, UDP обеспечивает более высокую скорость передачи данных, что делает его подходящим для приложений, где скорость важнее надежности.
- Дейтаграммно-ориентированный: Данные передаются в виде дейтаграмм, каждый пакет обрабатывается независимо от других.
- Отсутствие механизмов контроля: UDP не реализует контроль потока, контроль перегрузки или повторную передачу потерянных пакетов. Эти функции, если они необходимы, должны быть реализованы на прикладном уровне.
UDP подходит для приложений, где потеря отдельных пакетов приемлема или где важна низкая задержка, таких как:
- Стриминг аудио и видео
- Онлайн-игры
- DNS (Domain Name System)
- DHCP (Dynamic Host Configuration Protocol)