- •1)Связь внутри процесса
- •2)Локальная связь
- •3)Удаленный сервер
- •1.3.2. Виды маршалинга в модели сом
- •Кому выгодны облачные вычисления?
- •Экономия за счет масштаба: сопоставление крупных и средних цод
- •2.3.1. Протокол передачи файлов ftp
- •2.3.2. Файловая система nfs
- •2.4.1. Назначение и принципы организации службы каталогов
- •2.4.2. Служба каталогов nds
- •Объектно-ориентированный подход
- •Дерево каталогов
- •Имена и контексты
- •2.4.3. Средства защиты объектов в nds
- •2.5.1 Основные подходы к организации межсетевого взаимодействия
- •2.5.2. Трансляция
- •2.5.3. Мультиплексирование стеков протоколов
- •2.5.4. Инкапсуляция протоколов
- •2.9.1. Системы на базе X.400
- •2.9.2. Системы на базе smtp
- •2.9.3. Системы на основе частных стандартов
- •2.9.4. Гибридные системы (ms Exchange Server)
- •Службы мсвс
- •Домен мсвс
- •Гетерогенные домены
- •1.6.3. Программирование с управлением по сообщениям (событиям)
- •1.6.4. Библиотеки для разработки прикладных программ в X Window
- •Язык и интерпретатор Tcl/Tk
- •2.10.3. Языки и средства создания Web-приложений
- •Примеры телекоммуникационных сетей
- •2.8.4. Стандарты систем управления
2.5.3. Мультиплексирование стеков протоколов
Другой подход к согласованию протоколов получил название мультиплексирования стеков - в сетевое оборудование или в операционные системы серверов и рабочих станций встраиваются несколько стеков протоколов (рис. 2.10), что позволяет клиентам и серверам выбирать для взаимодействия тот протокол, который является для них общим.
При мультиплексировании стеков протоколов на один из двух взаимодействующих компьютеров с различными стеками протоколов помещается стек протоколов другого компьютера. На рис. 2.11 приведен пример взаимодействия клиентского компьютера сети В с сервером в своей сети и сервером сети А, работающей со стеком протоколов, отличающимся от стека сети В. В клиентском компьютере реализованы оба стека. Для того чтобы запрос от прикладного процесса был правильно обработан и направлен через соответствующий стек, необходимо наличие специального программного элемента — мультиплексора протоколов, называемого также менеджером протоколов. Менеджер определяет, к какой сети направляется запрос клиента. Для этого может использоваться служба имен сети, в которой отмечается принадлежность того или иного ресурса определенной сети с соответствующим стеком протоколов.
При использовании технологии мультиплексирования структура коммуникационных средств операционной системы может быть и более сложной. В общем случае на каждом уровне вместо одного протокола появляется целый набор протоколов и может существовать несколько мультиплексоров, выполняющих коммутацию между протоколами разных уровней. Например, рабочая станция, стек протоколов которой показан на рис. 2.11, может через один сетевой адаптер получить доступ к сетям, работающим по протоколам NetBIOS, IP, IPX. Данная рабочая станция может быть клиентом сразу нескольких файловых серверов: NetWare (NCP), Windows NT (SMB) и Sun (NFS).
Предпосылкой для развития технологии мультиплексирования стеков протоколов стало появление открытых описаний протоколов различных уровней и межуровневых интерфейсов, так что фирма-производитель при реализации «чужого» протокола может быть уверена, что ее продукт будет корректно взаимодействовать с продуктами других фирм по данному протоколу, этот протокол корректно впишется в стек и с ним будут нормально взаимодействовать протоколы соседних уровней. Пример мультиплексирования протоколов приведен на рис. 2.12.
а
б
Рис. 2.10. Два варианта согласования протоколов: трансляция протоколов (а), мультиплексирование стеков протоколов (б)
Производителями операционных систем предпринимаются попытки стандартизации не только межуровневых интерфейсов, но и менеджеров протоколов.
Рис. 2.11. Мультиплексирование стеков
Наиболее известными стандартами являются менеджеры Network Driver Interface Specification — NDIS (первоначально — совместная разработка 3Com и Microsoft, версии NDIS 3.0 и 4.0 — реализации Microsoft), а также стандарт Open Data-Link Interface — ODI, представляющий совместную разработку компаний Novell и Apple. Эти менеджеры реализуют мультиплексирование протоколов канального уровня, реализованных в драйверах сетевых адаптеров. С помощью мультиплексора NDIS или ODI можно связать один драйвер сетевого адаптера с несколькими протоколами сетевого уровня, а также с несколькими однотипными сетевыми адаптерами.
Рис. 2.12. Мультиплексирование протоколов
При использовании мультиплексоров протоколов существуют два варианта размещения дополнительного стека протоколов - на одном или на другом взаимодействующем компьютере. Если дополнительный стек устанавливается на сервере, то этот сервер становится доступным для всех клиентов с этим стеком. При этом нужно тщательно оценивать влияние установки дополнительного продукта на производительность сервера.
Аналогично дополнительный стек на клиенте дает ему возможность устанавливать связи с другими серверами, использующими этот стек протоколов. При размещении дополнительного стека на клиентах вопросы производительности не так важны. Здесь более важными являются ограничения таких ресурсов, как память и дисковое пространство клиентских машин, а также затраты труда администратора на установку и поддержание дополнительных стеков в работоспособном состоянии на большом числе компьютеров.
При организации взаимодействия двух разнородных сетей в общем случае нужно решать две задачи согласования служб:
обеспечение доступа клиентам сети А к ресурсам сети В;
обеспечение доступа клиентам сети В к ресурсам сети А.
Эти задачи независимы, и их можно решать отдельно. В некоторых случаях требуется полное решение, например, чтобы пользователи UNIX-машин имели доступ к ресурсам серверов NetWare, а пользователи персональных машин имели доступ к ресурсам UNIX-хостов, в других же случаях достаточно обеспечить доступ клиентам из сети NetWare к ресурсам сети UNIX. Большинство имеющихся на рынке продуктов обеспечивает только однонаправленное согласование прикладных служб.
Рассмотрим возможные варианты размещения программных средств, которые основаны на мультиплексировании протоколов. Обозначения: С - сервер, К - клиент, Д - дополнительный протокол (протоколы), предоставляющий возможности межсетевого взаимодействия.
На рис. 2.13 показаны оба варианта однонаправленного взаимодействия А -> В: а) добавление нового стека к клиентам сети А; б) присоединение «добавки» к серверам сети В.
В первом случае, когда средства мультиплексирования протоколов располагаются на клиентских частях, только клиенты, снабженные такими средствами, могут обращаться к серверам сети В. Во втором случае, когда набор дополнительных стеков расположен на каком-либо сервере сети В, данный сервер может обслуживать всех клиентов сети А.
Рис. 2.13. Варианты размещения средств межсетевого взаимодействия
Примером расширения возможностей сетевого взаимодействия сервера является установка на сервер Windows NT продукта Microsoft File and Print Services for NetWare, который реализует серверную часть протокола NCP. Это позволяет клиентам NetWare обращаться к файлам и принтерам сервера Windows NT.
Важным преимуществом мультиплексирования является меньшее время выполнения запроса, чем при использовании шлюза. Это связано, во-первых, с отсутствием временных затрат на процедуру трансляции, а во-вторых, с тем, что при мультиплексировании на каждый запрос требуется только одна сетевая передача, в то время как при трансляции — две: запрос сначала передается на шлюз, а затем из шлюза на ресурсный сервер.
В табл. 2.1 приведены сравнительные характеристики двух подходов к реализации межсетевого взаимодействия.
Таблица 2.1
Сравнение методов трансляции и мультиплексирования протоколов
Метод
|
Достоинства |
Недостатки
|
Мультиплекси-рование протоколов. |
Более быстрый доступ, повышение надежности взаимодействия за счет установки стека на нескольких узлах сети; хорошо масштабируемое средство. |
Усложнение администрирования и контроля доступа; высокая избыточность, требующая дополнительных ресурсов от рабочих станций; менее удобно для пользователя, чем шлюзы. |
Трансляция протоколов (шлюзы, маршрутиза- торы, коммутаторы).
|
Сохранение привычной среды пользователей; нет необходимости в дополнительном программном обеспечении на рабочих станциях; локализация проблем межсетевого взаимодействия; возможность доступа к «чужим» ресурсам сразу для нескольких клиентов. |
Замедление работы; снижение надежности; плохая масштабируемость; необходимость в двух сетевых передачах для выполнения одного запроса. |
