Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Олифер. Сетевые операционные системы.docx
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
16.5 Mб
Скачать

Мультиплексирование стеков протоколов

Другой подход к согласованию протоколов получил название мультиплексирования стеков протоколов. Он заключается в том, что в сетевое оборудование или в операционные системы серверов и рабочих станций встраиваются несколько стеков протоколов. Это позволяет клиентам и серверам выбирать для взаимодействия тот протокол, который является для них общим.

Сравнивая мультиплексирование с уже рассмотренной трансляцией протоколов, можно заметить, что взаимодействие компьютеров, принадлежащих разным сетям, напоминает общение людей, говорящих на разных языках (рис. 11.22), Для достижения взаимопонимания они также могут использовать два подхода: пригласить переводчика (аналог транслирующего устройства) или перейти на язык собеседника, если они им владеют (аналог мультиплексирования стеков протоколов).

При мультиплексировании стеков протоколов на один из двух взаимодействующих компьютеров с различными стеками протоколов помещается коммуникационный стек другого компьютера. На рис. 11.23 приведен пример взаимодействия клиентского компьютера сети В с сервером в своей сети и сервером сети А, работающей со стеком протоколов, полностью отличающимся от стека сети В.

Рис. 11.23. Мультиплексирование стеков

В клиентском компьютере реализованы оба стека. Для того чтобы запрос от прикладного процесса был правильно обработан и направлен через соответствующий стек, необходимо наличие специального программного элемента — мультиплексора протоколов, называемого также менеджером протоколов. Менеджер должен уметь определять, к какой сети направляется запрос клиента. Для этого может использоваться служба имен сети, в которой отмечается принадлежность того или иного ресурса определенной сети с соответствующим стеком протоколов.

При использовании технологии мультиплексирования структура коммуникационных средств операционной системы может быть и более сложной. В общем случае на каждом уровне вместо одного протокола появляется целый набор протоколов, и может существовать несколько мультиплексоров, выполняющих коммутацию между протоколами разных уровней. Например, рабочая станция, стек протоколов которой показан на рис. 11.24, может через один сетевой адаптер получить доступ к сетям, работающим по протоколам NetBIOS, IP, IPX.

Рис. 11.24. Мультиплексирование протоколов

Данная рабочая станция может быть клиентом сразу нескольких файловых серверов: NetWare (NCP), Windows NT (SMB) и Sun (NFS).

Предпосылкой для развития технологии мультиплексирования стеков протоколов стало появление строгих открытых описаний протоколов различных уровней и межуровневых интерфейсов, так что фирма-производитель при реализации «чужого» протокола может быть уверена, что ее продукт будет корректно взаимодействовать с продуктами других фирм по данному протоколу, этот протокол корректно впишется в стек и с ним будут нормально взаимодействовать протоколы соседних уровней.

Мультиплексирование протоколов реализует отношение «один ко многим», то есть один клиент с дополнительным стеком может обращаться ко всем серверам, поддерживающим этот стек, или один сервер с дополнительным стеком может предоставлять услуги многим клиентам.

При использовании мультиплексоров протоколов существует два варианта размещения дополнительного стека протоколов — на одном или на другом взаимодействующем компьютере. Если дополнительный стек устанавливается на сервере, то этот сервер становится доступным для всех клиентов с этим стеком. При этом нужно тщательно оценивать влияние установки дополнительного продукта на производительность сервера.

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

Заметим, что при организации взаимодействия двух разнородных сетей в общем случае нужно решать две задачи согласования служб (рис. 11.25):

  • обеспечение доступа клиентам сети А к ресурсам сети В;

  • обеспечение доступа клиентам сети В к ресурсам сети А.'

Эти задачи независимы и их можно решать отдельно. В некрторых случаях требуется полное решение, например, Чтобы пользователи Unix-машин имели доступ к ресурсам серверов сети NetWare, а пользователи персональных машин имели доступ к ресурсам Unix-хостов; в других же случаях достаточно обеспе­чить доступ клиентам сети NetWare к ресурсам сети Unix. Большинство имею­щихся на рынке продуктов обеспечивает только однонаправленное согласова­ние прикладных служб.

Рис. 11.25. Направления согласования служб

Рассмотрим возможные варианты размещения программных средств, реализующих взаимодействие двух сетей, основанных на Мультиплексировании протоколов. Введем обозначения: С — сервер, К — клиент, А — дополнительный протокол (или протоколы), предоставляющий возможности межсетевого взаимодействия. Оба возможных варианта однонаправленного взаимодействия А—>В реализуются либо путем добавления нового стека к клиентам сети А (рис. 11.26 а), либо путем присоединения «добавки» к серверам сети В (рис.11.26, б).

Рис. 11.26. Варианты размещения средств межсетевого взаимодействия

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

Примером «добавки», модифицирующей клиентскую часть, может служить популярное программное средство SAMBA, которое добавляет серверную и клиентские части протокола SMB компьютерам, работающим под управлением Unix. Это позволяет клиентам Microsoft Windows обращаться к файлам и принтерам серверов Unix так, как будто это серверы Microsoft Windows.

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

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

Важным преимуществом мультиплексирования является меньшее время выполнения запроса, чем при использовании шлюза. Это связано, во-первых, с отсутствием временных затрат на процедуру трансляции, а во-вторых, с тем, что при мультиплексировании на каждый запрос требуется только одна сетевая передача, в то время как при трансляции — две: запрос сначала передается в шлюз, а затем из шлюза на ресурсный сервер.

В принципе, при применении нескольких стеков протоколов у пользователя может возникнуть проблема работы в незнакомой среде с незнакомыми командами, правилами и методами адресации. Чаще всего разработчики операционных систем стремятся в какой-то степени облегчить жизнь пользователю в этой ситуации. Независимо от применяемого протокола прикладного уровня (например, SMB или NFS), ему предоставляется один и тот же интуитивно понятный графический интерфейс, с помощью которого он просматривает и выбирает нужные удаленные ресурсы.

В табл, 11.2 приведены сравнительные характеристики двух подходов к реазизации межсетевого взаимодействия.

Таблица 11.2. Сравнение методов трансляции и мультиплексирования протоколов

Метод

Достоинства

Недостатки

Мультипле­ксирование протоколов

Более быстрый доступ; повышение надежности взаимодействия за счет установки стека на нескольких узлах сети; хорошо масштабируемое средство

Усложнение администрирования и контроля доступа; большая избыточность, требующая дополнительных ресурсов от рабочих станций; менее удобная среда для пользователя, чем шлюзы

Трансляция протоколов (шлюзы, маршрути­заторы, коммута­торы)

Сохранение привычной среды пользователей; отсутствие необходимости в дополнительном программном обеспечении на рабочих станциях; локализация всех проблем межсетевого взаимодействия; обеспечение возможности доступа к «чужим* ресурсам сразу для нескольких клиентов

Замедление работы; снижение надежности; плохая масштабируемость; необходимость в двух сетевых передачах для выполнения одного запроса