Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 2144

.pdf
Скачиваний:
8
Добавлен:
30.04.2022
Размер:
7.67 Mб
Скачать

Рис. 2.8. Принципы функционирования шлюза

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

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

Примером шлюза, транслирующего протоколы прикладного уровня, является компонент Windows Gateway Services for NetWare (GSNW), который обеспечивает клиентам Windows прозрачный доступ серверам NetWare (см. рис. 2.9).

131

Шлюз устанавливается на том же компьютере, на котором установлен сервер Windows. Между шлюзом и сервером NetWare устанавливается связь по протоколу NCP.

Рис. 2.9. Шлюз Gateway Service for NetWare

Для доступа к файлам NetWare клиенты Windows по протоколу SMB обращаются к серверу Windows, на котором работает шлюз GSNW. Если запрос, поступивший на сервер Windows, относится к ресурсам NetWare, то он переадресуется шлюзу, который транслирует его в понятный для сервера NetWare вид и передает по протоколу NCP соответствующему серверу. При этом шлюз выступает по отношению к серверам NetWare как клиент.

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

132

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

Это делает шлюз плохо масштабируемым решением. Правда, ничто не мешает установить в сети несколько параллельно работающих шлюзов.

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

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

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

типлексора протоколов, называемого также менеджером протоколов. Менеджер определяет, к какой сети направляется запрос клиента.

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

133

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

скольких файловых серверов: NetWare (NCP), Windows (SMB) и Sun (NFS).

а

б

Рис. 2.10. Два варианта согласования протоколов: трансляция протоколов (а), мультиплексирование стеков протоколов (б)

134

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

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

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

135

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

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

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

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

136

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

При организации взаимодействия разнородных сетей в общем случае нужно решать две задачи согласования служб:

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

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

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

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

На рис. 2.13 показаны оба варианта однонаправленного взаимодействия А -> В: а) добавление нового стека к клиентам сети А; б) присоединение «добавки» к серверам сети В.

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

137

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

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

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

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

138

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

протоколов

Метод

 

Достоинства

 

 

Недостатки

 

 

 

 

 

Мультиплекси-

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

Усложнение

адми-

рование про-

повышение

надежно-

нистрирования

и

токолов

сти

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

за

контроля

доступа;

 

счет

установки

стека

высокая

избыточ-

 

на

нескольких

узлах

ность,

требующая

 

сети; хорошо масшта-

дополнительных

 

 

бируемое средство

 

ресурсов

от

рабо-

 

 

 

 

 

 

чих станций; менее

 

 

 

 

 

 

удобно для пользо-

 

 

 

 

 

 

вателя, чем шлюзы

Трансляция

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

Замедление

рабо-

протоколов

среды пользователей;

ты; снижение на-

(шлюзы,

нет

необходимости

в

дежности;

 

плохая

маршрутиза-

дополнительном

про-

масштабируемость;

торы, коммута-

граммном обеспечении

необходимость

в

торы)

на рабочих

станциях;

двух сетевых пере-

 

локализация

проблем

дачах

для

выпол-

 

межсетевого

взаимо-

нения

одного

за-

 

действия; возможность

проса

 

 

 

 

 

доступа к «чужим» ре-

 

 

 

 

 

 

сурсам сразу для не-

 

 

 

 

 

 

скольких клиентов

 

 

 

 

 

 

139

2.5.4. Инкапсуляция протоколов

Инкапсуляция (encapsulation), или туннелирование

(tunneling), – это еще один метод решения задачи согласования сетей, который, однако, применим только для согласования транспортных протоколов и только при определенных ограничениях. Инкапсуляция может быть использована, когда две сети с одной транспортной технологией необходимо соединить через транзитную сеть с другой транспортной технологией.

В процессе инкапсуляции принимают участие три типа протоколов:

протокол-«пассажир»;

несущий протокол;

протокол инкапсуляции.

Транспортный протокол объединяемых сетей является протоколом-пассажиром, а протокол транзитной сети — несущим протоколом. Пакеты протокола-пассажира помещаются в поле данных пакетов несущего протокола с помощью протокола инкапсуляции. Пакеты протокола-пассажира никаким образом не обрабатываются при транспортировке их по транзитной сети. Инкапсуляцию выполняет пограничное устройство (обычно маршрутизатор или шлюз), которое располагается на границе между исходной и транзитной сетями. Извлечение па- кетов-пассажиров из несущих пакетов выполняет второе пограничное устройство, которое находится на границе между транзитной сетью и сетью назначения. Пограничные устройства указывают в несущих пакетах свои адреса, а не адреса узлов назначения.

Всвязи с большой популярностью Интернета и стека TCP/IP несущим протоколом транзитной сети все чаще выступает протокол IP, а в качестве протоколов-пассажиров — все остальные протоколы локальных сетей (как маршрутизируемые, так и не маршрутизируемые).

Вприведенном на рис. 2.14 примере две сети, исполь-

140