Таблица содержания
Что такое протокол UDP?
UDP (Протокол пользовательских датаграмм) — это долгосрочный протокол, используемый с протоколом IP для отправки данных, где скорость передачи и эффективность важнее безопасности и надежности. UDP использует простую, безсоединительную модель коммуникации с минимальными механизмами протокола. UDP использует контрольные суммы для обеспечения целостности данных и номера портов для различения между различными приложениями в отправителе и получателе данных.
Каковы преимущества и недостатки протокола UDP?
Преимущества
Быстрая скорость передачи
UDP не имеет рукопожатия, подтверждения, повторной передачи, управления перегрузкой и других механизмов, присущих TCP. Вместо этого UDP — это протокол передачи без сохранения состояния, который быстрее передает данные.
Заголовок короче
Заголовок TCP составляет 20 байт, а заголовок UDP — 8 байт.
UDP не имеет контроля за перегрузкой
Слой приложения может лучше контролировать отправку данных. Время отправки и контроль за перегрузкой в сети не будут влиять на скорость отправки хоста. Некоторые приложения реального времени требуют отправки с постоянной скоростью, которая может терпеть потерю данных, но не может позволить значительную задержку (например, видео в реальном времени, прямая трансляция и т. д.).
UDP — это протокол, ориентированный на сообщения.
Режим передачи по сообщениям определяет, что данные UDP отправляются по частям. Если прикладной уровень отправляет UDP сообщение одинаковой длины, UDP отправляет сообщение за один раз. Поэтому приложению необходимо выбрать размер сообщения.
UDP используется для передачи меньшего объема данных одновременно.
UDP часто используется в мультимедийных приложениях (таких как IP-телефония, видеоконференции в реальном времени, потоковые медиа и т. д.), но надежная передача данных для них не является обязательной. Контроль за перегрузкой TCP приведет к значительной задержке, а UDP будет использовать одноразовую передачу меньшего объема сетевых данных.
UDP поддерживает различные режимы связи.
Он поддерживает одно-к-одному одно-к-всему и одно-к-нескольким интерактивным коммуникациям.
Конс
UDP — это протокол без установления соединения.
Отправитель и получатель не устанавливают соединение перед передачей данных, что отличается от процесса установления отношений с помощью трехстороннего рукопожатия TCP. Вместо этого, при передаче данных ему просто нужно получить данные из приложения и отправить их в произвольном порядке другой стороне, которая их получит.
UDP — это ненадежный протокол.
Поскольку соединение не устанавливается до передачи информации, UDP часто теряет пакеты во время передачи, что делает его ненадежным протоколом. Если сообщение потеряно, новое сообщение заменит его через несколько секунд.
Потерянные данные
Не используйте UDP в качестве транспортного протокола для ненадежных сетей. UDP не является протоколом типа соединения. Поэтому, если вам не нужно устанавливать соединение, вы можете напрямую отправлять сообщения, что может привести к серьезной потере пакетов.
Однако он потребляет меньше ресурсов, имеет более быструю скорость обработки и более подходит для передачи аудио, видео и общих данных. Поэтому, даже если один или два пакета потеряны, это не приведет к серьезным последствиям для полученных результатов.
Когда использовать протокол UDP?
Пакеты UDP обладают низкой надежностью, поскольку они не имеют гарантии надежности, гарантии последовательности или полей управления потоком. Однако из-за меньшего количества параметров управления в протоколе UDP задержка при передаче данных незначительна, а эффективность передачи данных высока. Поэтому он подходит для приложений, не требующих высокой надежности или способных гарантировать надежность, таких как DNS, TFTP и SNMP.