<<
>>

Основы UDP

Среди набора протоколов Интернета есть транспортный протокол без установления соединения, UDP (User Datagram Protocol — пользовательский дейтаграммный протокол). UDP позволяет приложениям отправлять инкапсулированные IP-дейтаграммы без установления соединений.
UDP описан в RFC 768.

С помощью протокола UDP передаются сегменты, состоящие из 8-байтно- го заголовка, за которым следует поле полезной нагрузки. Заголовок показан на рис. 6.18. Два номера портов служат для идентификации конечных точек внутри отправляющей и принимающей машин. Когда прибывает пакет UDP, содержимое его поля полезной нагрузки передается процессу, связанному с портом назначения. Это связывание происходит при выполнении примитива типа BIND. Это было продемонстрировано в листинге 6.1 применительно к TCP (в UDP процесс связывания происходит точно так же). В сущности, весь смысл использования UDP вместо обычного IP заключается как раз в указании портов источника и приемника. Без этих двух полей на транспортном уровне невозможно было бы определить действие, которое следует произвести с пакетом.

В соответствии с полями портов производится корректная доставка сегментов.

Информация о порте источника требуется прежде всего при создании ответа, пересылаемого отправителю. Копируя значения поля Порт источника из входящего сегмента в поле Порт назначения исходящего сегмента, процесс, посылающий ответ, может указать, какому именно процессу на противоположной стороне он предназначается.

Поле Длина UDP содержит информацию о длине сегмента, включая заголовок и полезную нагрузку. Контрольная сумма UDP не является обязательной. Если она не подсчитывается, ее значение равно 0 (настоящая нулевая контрольная сумма кодируется всеми единицами).

Отключать функцию подсчета контрольной суммы глупо, за исключением одного случая — когда нужна высокая производительность (например, при передаче оцифрованной речи).

Наверное, стоит прямо сказать о том, чего UDP не делает. Итак, UDP не занимается контролем потока, контролем ошибок, повторной передачей после приема испорченного сегмента. Все это перекладывается на пользовательские процессы. Что же он делает? UDP предоставляет интерфейс для IP путем демультиплексирования нескольких процессов, использующих порты. Это все, что он делает. Для процессов, которым хочется управлять потоком, контролировать ошибки и временные интервалы, протокол UDP — это как раз то, что доктор прописал.

Одной из областей, где UDP применяется особенно широко, является область клиент-серверных приложений. Зачастую клиент посылает короткий запрос серверу и надеется получить короткий ответ. Если запрос или ответ теряется, клиент по прошествии определенного временного интервала может попытаться еще раз. Это позволяет не только упростить код, но и уменьшить требуемое количе

ство собщений по сравнению с протоколами, которым требуется начальная настройка.

DNS (Domain Name System — служба имен доменов) — это приложение, которое использует UDP именно так, как описано ранее. Мы изучим его в главе 7. В двух словах, если программе нужно найти IP-адрес по имени хоста, например, www.cs.berkeley.edu, она может послать UDP-пакет с этим именем на сервер DNS. Сервер в ответ на запрос посылает UDP-пакет с IP-адресом хоста. Никакой предварительной настройки не требуется, как не требуется и разрыва соединения после завершения задачи. По сети просто передаются два сообщения.

<< | >>
Источник: Э. ТАНЕНБАУМ. КОМПЬЮТЕРНЫЕ СЕТИ 4-Е ИЗДАНИЕ. 2003

Еще по теме Основы UDP:

  1. 4.1. Основы психологииличности юриста
  2. Глава 4. ОСНОВЫ АСТРОЛОГИИ
  3. Раздел I. ОСНОВЫ ПСИХОЛОГИИ
  4. Раздел II. ОСНОВЫ ПЕДАГОГИКИ
  5. ДЕЙСТВИЕ: ОСНОВА ОРИЕНТИРОВОЧНАЯ
  6. Конституционные основы
  7. Основы
  8. ОСНОВА
  9. Раздел 3. Основы конституционного права
  10. Глава 13. Основы гражданского права
  11. Глава 14. Основы трудового права
  12. Глава 15. Основы семейного права
  13. Глава 16. Основы жилищного права
  14. Глава 17. Основы административного права
  15. Глава 18. Основы финансового права
  16. Глава 19. Основы муниципального права
  17. Глава 20. Основы уголовного права
  18. Глава 21. Основы экологического права
  19. Глава 22. Основы образовательного права
  20. Раздел 5. Основы международного права