Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
гл.9 ОС 2007.doc
Скачиваний:
15
Добавлен:
11.11.2018
Размер:
584.7 Кб
Скачать

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

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

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

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

При использовании технологии мультиплексирования структура коммуникаци­онных средств операционной системы может быть и более сложной. В общем случае на каждом уровне вместо одного протокола появляется целый набор про­токолов и может существовать несколько мультиплексоров, выполняющих ком­мутацию между протоколами разных уровней. Например, рабочая станция, стек протоколов которой показан на'рис. 10.14, может через один сетевой адаптер по­лучить доступ к сетям, работающим по протоколам NetBIOS, IP, IPX. Данная рабочая станция может быть клиентом сразу нескольких файловых серверов: NetWare (NCP), Windows NT (SMB) и Sun (NFS).

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

Производителями операционных систем предпринимаются попытки стандарти­зации не только межуровневых интерфейсов, но и менеджеров протоколов. Наи­более известными стандартами являются менеджеры Network Driver Interface Specification — NDIS (первоначально— совместная разработка 3Com и Micro­soft, версии NDIS 3.0 и 4.0 — реализации Microsoft), а также стандарт Open Data-Link Interface — ODI, представляющий совместную разработку компаний Novell и Apple. Эти менеджеры реализуют мультиплексирование протоколов каналь­ного уровня, реализованных в драйверах сетевых адаптеров. С помощью мульти­плексора NDIS или ODI можно связать один драйвер сетевого адаптера с не­сколькими протоколами сетевого уровня, а также с несколькими однотипными сетевыми адаптерами.

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

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

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

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

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

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

Рассмотрим возможные варианты размещения программных средств, реализую­щих взаимодействие двух сетей, которые основаны на мультиплексировании протоколов.

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

На рис. 10.16 показаны оба возможных варианта однонаправленного взаимодей­ствия АВ: путем добавления нового стека к клиентам сети А (рис. 10.16, а) либо путем присоединения «добавки» к серверам сети В (рис. 10.16, б).

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

Примером «добавки», модифицирующей клиентскую часть, может служить по­пулярное программное средство компании Microsoft Client Services for NetWare (CSNW), которое превращает клиента Windows NT в клиента серверов NetWare за счет установки клиентской части протокола NCP.

Примером расширения возможностей сетевого взаимодействия сервера является установка на сервер Windows NT продукта Microsoft File and Print Services for NetWare, который реализует серверную часть протокола NCP. Это позволяет кли­ентам NetWare обращаться к файлам и принтерам сервера Windows NT.

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

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

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

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

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

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

Метод

Достоинства

Недостатки

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

протоколов

Трансляция

протоколов (шлюзы,

маршрутизаторы,

коммутаторы)

Более быстрый доступ;

повышение надежности

взаимодействия за счет

установки стека на

нескольких узлах сети;

хорошо масштабируемое

средство

Сохранение привычной среды

пользователей; отсутствие

необходимости в дополни-

тельном программном обес-

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

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

Замедление работы; снижение

надежности; плохая масшта-

бируемость; необходимость в

двух сетевых передачах для

выполнения одного запроса


Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]