logo
Технологии корпоративных сетей

Протокол udp

UDP – это протокол, который работает поверх IP и предназначен для обслуживания доставки дейтаграмм. Поэтому протокол UDP не устанавливает виртуального соединения, не осуществляет никаких повторных передач, не выполняет переупорядочивания пакетов и не управляет потоком данных. Все эти функции возложены на приложения (или протоколы более высокого уровня). При этом некоторые приложения реализуют их весьма неэффективно. Например, протокол TFTP, который обычно используется для передачи конфигурационной информации на сетевые устройства (например, маршрутизаторы), имеет очень упрощенные алгоритмы повторной передачи и управления потоком данных – в случае возникновения проблем его действия сводятся к следующему принципу – «остановиться и ждать».

Протокол UDP активно используется в многофункциональных сетях, например, мультимедийными приложениями. А так как такие приложения не могут тратить время на повторную передачу, они используют функцию восстановления ошибок протокола TCP. Использование же протокола TCP вызывает трудности из-за того, что при этом не может быть обработан групповой трафик, и такие алгоритмы, как «Медленный старт» и «Предотвращение перегрузки», не подходят для трафика в реальном времени. Поэтому для передачи мультимедийной информации обычно применяется стандартный протокол RTP, работающий поверх UDP. Протокол RTP не исправляет ошибки и не участвует в управлении потоком данных, хотя имеет механизм обратной связи, организуемый с помощью протокола RTCP (он нужен для того, чтобы уменьшить скорость передачи при обнаружении ошибок). Механизм обратной связи первоначально используется приложением для того, чтобы получить часть полосы пропускания.

Отсутствие у протокола UDP механизмов управления потоком данных и обратной связи должно быть учтено для избежания появления различного рода проблем. К сожалению, зависимость протокола UDP исключительно от протоколов более высокого уровня типа RTP/RTCP не всегда приводит к достижению необходимых результатов, а порой просто ухудшает ситуацию. Это связано с тем, что упомянутые протоколы во многом схожи с протоколом TCP, то есть стремятся захватить как можно большую часть полосы пропускания.