9.1 Введение
После знакомства с физическим перемещением битов в носителе и маршрутизацией датаграмм в Интернете, настало время рассмотреть службы для приложений, связанные с пересылкой данных. Начнем с
Для каких целей используются эти службы? Существует множество приложений, построенных совершенно естественным способом поверх UDP. Так можно, например, реализовать простую систему просмотра базы данных. Кроме того, мы уже упоминали о системе
Рис. 9.1. Вопрос и ответ DNS
Нагрузки по открытию и закрытию соединений при пересылке большого объема сообщений могут быть исключены благодаря передаче простых запросов и ответов. Кроме того, UDP служит прекрасной основой для конструирования средств мониторинга, отладки, обслуживания или тестирования.
UDP является первичной службой, пересылающей простые отдельные сообщения в IP для последующей передачи по сети. Поскольку IP не обеспечивает надежности пересылки, то нет и гарантий доставки сообщения. Если приложение пытается пересылать свои запросы в датаграммах UDP, но не получает ответов за разумный интервал времени, приложению следует повторно переслать данные.
Иногда это приводит к дублированию запросов на сервере. Если приложение включит в свое сообщение идентификатор транзакции, сервер сможет распознать дублирование и исключить дополнительную копию сообщения. За эти действия ответственно само приложение, а не UDP.
9.1.1 Широковещательные и многоадресные рассылки
Одним из преимуществ UDP является использование этого протокола для широковещательных и многоадресных рассылок из приложений. Например, широковещательная рассылка клиента BOOTP запрашивает инициализационные параметры.
9.2 Порты приложений
Что происходит после прибытия данных в хост назначения? Как выполняется их доставка в нужное приложение (процесс)?
На рис. 9.2 видно, что для каждого уровня существует идентификатор протокола, указывающий операции, выполняемые над данными. На втором уровне тип Ethernet X'08-00 в заголовке кадра показывает, что кадр нужно передать в IP. На третьем уровне поле
Рис. 9.2. Пересылка данных до уровня приложений
Хост может участвовать одновременно в нескольких коммуникациях. Так как же из общего потока выделяется датаграмма UDP и доставляется на нужный уровень приложения? Такой процесс пересылки данных в требуемый процесс часто называют
Порты с номерами от 0 до 1023 зарезервированы для стандартных служб. Такие порты называются
Кто назначает общеизвестные порты? Как не трудно догадаться, этим занимается IANA. Номера портов для определенных приложений регистрируются этой организацией и публикуются в документе RFC
Таблица 9.1 Примеры общеизвестных портов UDP
Служба | Порт/протокол | Описание |
---|---|---|
Echo | 7/udp | Посылка отправителю эхо-ответа на пользовательскую датаграмму |
Discard | 9/udp | Отмена пользовательской датаграммы |
Daytime | 13/udp | Отчет о времени дня в понятном формате |
Quote | 17/udp | Возврат сообщения quote of the day — цитата дня |
Chargen | 19/udp | Генератор символов |