Сидни Фейт - TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
- Название:TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
- Автор:
- Жанр:
- Издательство:Лори
- Год:2000
- Город:Москва
- ISBN:5-85582-072-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Сидни Фейт - TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) краткое содержание
Второе издание популярного справочника полностью переработано и расширено с целью предоставить читателю наиболее полное описание средств разработки, конфигурирования, использования и обслуживания сетей TCP/IP и соответствующих служб.
Книга написана увлекательно и доступно. Она содержит дополнительные материалы о нескольких протоколах Интернета, используемых серверами и браузерами WWW, а также рассматривает все последние изменения в этой области. В книгу включены главы о новом стандарте безопасности IP и протоколе IP следующего поколения, известном как IPng или IPv6. Рисунки и таблицы наглядно показывают влияние средств безопасности IP и IPng на существующие сетевые среды.
Издание содержит следующие дополнительные разделы:
• Безопасность IP и IPv6
• Описание средств WWW, новостей Интернета и приложений для работы с gopher
• Подробное описание серверов имен доменов (DNS), маски подсети и бесклассовой маршрутизации в Интернете
• Таблицы и протоколы маршрутизации
• Руководство по реализации средств безопасности для каждого из протоколов и приложений
• Примеры диалогов с новыми графическими инструментами
Новое издание бестселлера по TCP/IP станет незаменимым помощником для разработчиков сетей и приложений, для сетевых администраторов и конечных пользователей.
TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
sending 100 packets of lnth 86 to plum …
in 10.1 seconds elapsed time,
29 packets (29.00%) dropped by plum
Sent: 9 packets/sec, 851 bytes/sec
Rcvd: 7 packets/sec, 604 bytes/sec
Программа rusers выясняет, кто зарегистрирован на хостах из указанного списка или на всех хостах локальной сети. Клиент rusers отправляет запрос RPC через широковещательные рассылки локальной сети. Ответы содержат имена хостов и список пользователей, зарегистрированных на каждом из них.
> rusers
Zonker.num.cs.yale.edu leonard jones harris
Mark.num.cs.yale.edu davis sherman
Duke.num.cs.yale.edu burry victor
. . .
15.5 Работа с дубликатами запросов RPC
Если служба основана на протоколе TCP, запросы и ответы будут доставляться надежно. TCP берет на себя обеспечение целостности доставляемых данных.
Если RPC базируется на UDP, то, в зависимости от требований конкретного приложения, клиент и сервер должны обеспечить собственный тайм-аут, повторную пересылку и стратегию выделения дублированных сообщений. Разработчик приложения может выбрать для клиента любую из следующих стратегий:
■ Если в пределах тайм-аута не будет получен ответ, послать сообщение об ошибке конечному пользователю, который и должен снова инициировать запрос к службе.
■ Если в пределах тайм-аута не будет получен ответ, отправить запрос еще раз. Повторять эту операцию до тех пор, пока не будет получен ответ или не будет достигнут максимальный предел повторной пересылки.
Если клиент повторно посылает запрос, разработчик должен реализовать на сервере стратегию обработки дубликатов сообщений. Сервер может:
■ Не фиксировать ранее выполненные операции. При поступлении запроса выполнить процедуру, даже если это был дубликат запроса. Отметим, что для некоторых процедур (например, чтение набора байт из файла) в этом нет ничего страшного. Конечно, клиент может и дальше получать двойные ответы, но может и блокировать их, отслеживая ранее выполненные транзакции.
■ Хранить копии ответов, которые были отправлены в течение нескольких последних минут. При поступлении запроса с тем же операционным идентификатором сервер уже знает, что процедура выполнена и на нее уже был послан ответ, следовательно, он мог бы отослать назад копию исходного ответа. Если сервер выполняет затребованную процедуру в момент поступления дубликата запроса — он должен отбросить повторный запрос.
Каждое приложение клиент/сервер может выбрать стратегию соединения, наиболее подходящую своим конкретным требованиям.
15.6 Portmapper в RPC
Уже разработано много программ клиент/сервер. А будет написано их еще больше. Предоставление каждому приложению общеизвестных портов ограничено — как же клиенты смогут распознавать все большее количество служб?
15.6.1 Назначение Portmapper
Архитектура RPC предоставляет метод для динамического обнаружения присвоенного службе порта. На каждом серверном хосте специальная программа RPC работает как хранилище данных о других программах RPC этого сервера. Такая программа называется portmapper (отображение портов) либо в более новых версиях операционных систем — rpcbind (связывание в RPC). В этой главе мы будем именовать такую программу portmapper, подразумевая, что rpcbind обеспечивает аналогичные функции.
Portmapper поддерживает следующие элементы:
■ Локальные активные программы RPC
■ Номера версий этих программ
■ Транспортный протокол или протокол обмена
■ Порты, через которые работают программы
Программа portmapper запускается после инициализации сервера RPC на компьютере. Как показано на рис. 15.4, после запуска программы RPC операционная система предоставляет этой программе один из неиспользованных портов и сообщает portmapper, что данная программа готова к работе, т.е. в portmapper происходит регистрация порта, номера программы и ее версии.

Рис. 15.4.Поиск порта службы через portmapper
Portmapper (или rpcbind ) отслеживает запросы к общеизвестному порту 111. Когда клиенту требуется доступ к службе, он посылает запрос в сообщении RPC на порт 111 (т.е. к portmapper). В запросе указывается номер программы требуемой службы, ее версия и протокол пересылки (UDP или TCP). В ответе от portmapper клиенту возвращается текущий номер порта требуемой службы.
Кроме того, portmapper обеспечивает отдельные функции RPC через широковещательные рассылки. В этом случае клиент отправляет запрос RPC по одной из своих связей. Например, команда rusers из RPC через широковещательную рассылку запрашивает каждую из машин локальной сети о зарегистрированных на ней пользователях.
Отметим, что программа rusers на каждом из хостов может работать через различные порты. Какой номер порта должен поместить клиент в сообщение запроса для оправки в широковещательную рассылку?
Дело в том, что клиент вставляет свой запрос в специальный вызов косвенного запроса ( indirect request ) к portmapper и посылает такой запрос на порт 111. Portmapper пересылает полученный запрос к службе и затем возвращает ответ службы клиенту. Номер порта службы включается в ответ, чтобы последующие запросы клиента могли быть посланы непосредственно к службе, а не к portmapper.
15.6.2 Процедуры portmapper
Выполняемые программой portmapper процедуры перечислены в таблице 15.2.
Таблица 15.2 Процедуры portmapper
Процедура | Описание |
---|---|
PMAPPROC_NULL | Возвращает ответ, указывающий на активное состояние portmapper. |
PMAPPROC_SET | Используется при регистрации службы (т.е. при включении в список активных служб сервера локальной программы, ее версии, протокола и номера порта). |
PMAPPROC_UNSET | Применяется для отмены регистрации службы (например, при удалении локальной программы из списка активных служб сервера). |
PMAPPROC_GETPORT | Используется клиентом для поиска номера порта сервера. Входными параметрами являются специальный номер программы, версия программы и транспортный протокол (UDP или TCP). |
PMAPPROC_DUMP | Возвращает список всех локальных программ RPC, их версий, коммуникационных протоколов и портов (используется в rpcinfo -p ). |
PMAPPROC_CALLIT | Пересылка поступающего от клиента косвенного запроса к локальной программе RPC. При успешном завершении процедуры возвращает ответ, включая номер порта программы. Предназначен для использования при широковещательных запросах. |
15.6.3 Просмотр служб RPC через portmapper
Команда rpcinfo из Unix выводит полезную информацию о программах RPC, посылая запрос RPC к portmapper . Аналогичную программу обеспечивают и другие операционные системы с поддержкой клиентов RPC.
Читать дальшеИнтервал:
Закладка: