UDP

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

Когда хост передает данные по , он не знает, доставлены ли они до места назначения. Когда хост получает данные по , он просто прослушивает сеть и принимает все, что из нее приходит. Программа, принимающая данные по , не может проверить, откуда пришли эти данные. Хотя пакеты включают в себя адрес отправителя, его легко подделать. По этой причине называют протоколом без установления соединения (connectionless) или протоколом без установления состояния (stateless).

Почему тогда используется , если он обладает такими недостатками? Приложения, использующие , часто сами реализуют методы обработки ошибок, которые могут не совпадать с методами, предоставляемыми по умолчанию такими протоколами, как TCP. Например, простые клиентские запросы к DNS должны иметь тайм-аут не более нескольких секунд, в противном случае это будет вызывать раздражение у пользователя. Тайм-аут для соединений TCP составляет две минуты. Поскольку реакция на неудачные запросы к DNS должна следовать как можно быстрее, то запросы к DNS отправляются по протоколу . В случаях, когда сервер DNS должен отправлять большие объемы данных (например, передача информации о зонах), он переходит на использование протокола TCP. Для передачи потоковых данных, как в случае с видеоконференциями, также используется протокол . Если бы потеря нескольких пикселей при передаче картинки видеоконференции в реальном времени вызывала повторную передачу данных, это приводило бы лишь к перегрузке сети. Нельзя вернуться назад во времени и восполнить недостающие участки картинки! Аналогичными причинами объясняется применение протокола практически всеми использующими его сетевыми приложениями.

– это также протокол обмена дейтаграммами, в том смысле, что каждый передаваемый блок данных является самодостаточным и законченным и воспринимается как отдельный блок. При этом сами приложения, использующие , чаще всего не считают одиночные пакеты завершенным запросом, каковыми они воспринимаются сетью. Протокол TCP полностью отличается от .

Источник: ЛукасМ. FreeBSD. Подробное руководство, 2-е издание. – Пер. с англ. – СПб.: Символ- Плюс, 2009. – 864 е., ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий