Протокол пользовательских дейтаграмм (UDP) был введен в 1980 году и является одним из старейших существующих сетевых протоколов. Это простой протокол транспортного уровня OSI для клиентских / серверных сетевых приложений, основанный на протоколе Интернета (IP) и являющийся основной альтернативой TCP.
Краткое объяснение UDP может объяснить, что это ненадежный протокол по сравнению с TCP. Хотя это верно, поскольку при передаче данных не происходит никакой проверки или исправления ошибок, также верно, что определенные протоколы для этого протокола TCP не могут совпадать.
UDP (иногда называемый UDP / IP) часто используется в приложениях для видеоконференций или компьютерных играх, которые специально предназначены для работы в реальном времени. Для достижения более высокой производительности протокол позволяет упаковывать отдельные пакеты (без повторных попыток) и пакеты UDP, которые должны быть получены в другом порядке, чем они были отправлены, как это продиктовано приложением.
Этот метод передачи по сравнению с TCP позволяет уменьшить накладные расходы и задержки. Поскольку пакеты отправляются независимо от того, что, и нет никакой проверки ошибок, это приводит к использованию меньшей пропускной способности.
Является ли UDP лучше TCP?
Ответ на этот вопрос зависит от контекста, поскольку UDP позволяет повысить производительность, но, возможно, хуже, чем TCP.
Хорошим примером того, когда UDP может быть предпочтительнее, чем TCP, является то, когда речь идет о приложении, которое работает лучше с меньшей задержкой, например, онлайн-игры, видео-чаты или голосовые передачи. Пакеты могут быть потеряны, но с меньшим количеством задержек, чтобы снизить качество, не так много ощущений потери качества.
Благодаря онлайн-играм, UDP-трафик позволяет продолжить игру, даже если соединение потеряно на мгновение или если некоторые пакеты упали по какой-либо причине. Если бы была исправлена ошибка, соединение потерпело бы потерю времени, так как пакеты пытались снова войти туда, где они остановились, чтобы компенсировать ошибки, но это не нужно в живых видеоиграх. То же самое происходит и с потоковой трансляцией.
Однако причина, по которой UDP не настолько велика, когда дело доходит до передачи файлов, состоит в том, что вам нужен весь файл, чтобы использовать его правильно. Однако вам не нужен каждый пакет видеоигры или видео, чтобы наслаждаться им.
И TCP, и UDP в 4-м слое модели OSI и работают с такими сервисами, как TFTP, RTSP и DNS.
UDP-дейтаграммы
UDP-трафик работает через так называемые датаграммы, причем каждая датаграмма состоит из одного блока сообщений. Информация заголовка хранится в первых восьми байтах, но остальное - то, что содержит фактическое сообщение.
Каждая часть заголовка датаграммы UDP, представленная здесь, представляет собой два байта:
- Номер порта источника
- Номер порта назначения
- Размер датаграммы
- Контрольная сумма
Номера портов UDP позволяют различным приложениям поддерживать свои собственные каналы для данных, аналогичные TCP. Заголовки портов UDP имеют длину два байта; поэтому допустимые номера портов UDP варьируются от 0 до 65535.
Размер датаграммы UDP - это счетчик общего количества байтов, содержащихся в разделах заголовка и данных. Поскольку длина заголовка является фиксированным размером, это поле эффективно отслеживает длину части данных переменного размера (иногда называемой полезной нагрузкой).
Размер датаграмм варьируется в зависимости от операционной среды, но имеет максимум 65535 байт.
Контрольные суммы UDP защищают данные сообщений от несанкционированного доступа. Значение контрольной суммы представляет собой кодировку данных датаграммы, вычисленных сначала отправителем, а затем получателем. Если отдельная датаграмма подвергается вмешательству или повреждается во время передачи, протокол UDP обнаруживает несоответствие расчета контрольной суммы.
В UDP контрольная сумма является необязательной, в отличие от TCP, где контрольные суммы являются обязательными.




