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

Трансляция

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

В зависимости от типа транслируемых протоколов процедура трансляции может иметь разную степень сложности. Так, преобразование протокола Ethernet в протокол Token Ring сводится к нескольким несложным действиям, главным образом благодаря тому, что оба протокола ориентированы на единую схему адресации узлов. А вот трансляция протоколов сетевого уровня IP и IPX представляет собой гораздо более сложный интеллектуальный процесс, вклю­чающий не только преобразование форматов сообщений, но и отображение адресов сетей и узлов, различным образом трактуемых в этих протоколах.

Трансляция протоколов прикладного уровня включает отображение инструкций одного протокола на инструкции другого, что представляет собой сложную, логически неоднозначную интеллектуальную процедуру, сравнимую с работой переводчика с одного языка на другой. Например, в файловых службах операционных систем Microsoft Windows (протокол SMB) и Unix (протокол NFS) существуют как совпадающие по назначению операции, например open и close, открывающие и закрывающие файл для доступа, так и операции, уни­кальные для каждой ОС, например, для операции SMB_COM_OPEN_PRINT_FILE ОС Windows, создающей файл принт-спулинга на сервере, нет прямого аналога в протоколе NFS ОС Unix. В то же время в протоколе NCP отсутствует обыч­ное для протокола NFS понятие монтирования файловой системы.

На рис. 11.20 показан размещенный на компьютере 2 шлюз, который согласовывает протоколы клиентского компьютера 1 в сети А с протоколами компьютера 3 в сети В. Допустим, что стеки протоколов в сетях А и В различаются на всех уровнях. В шлюзе установлены оба стека протоколов.

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

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

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

Примером шлюза, транслирующего протоколы прикладного уровня, является компонент Gateway for NFS, который обеспечивает клиентам Windows прозрачный доступ к каталогам и файлам серверов Unix, поддерживающий сетевую файловую систему NFS (Network File System). Шлюз устанавливается на том же компьютере, на котором установлен сервер Windows 2000 или 2003. Между шлюзом и серверами Unix реализуется связь по протоколу NFS.

Для доступа к файлам NFS клиенты Windows, используя свой «родной» протокол SMB, обращаются к серверу Windows 2000/2003, на котором работает шлюз NSF. Шлюз виртуализирует разделяемые каталоги серверов Unix: они выглядят для SMB-клиентов точно так же, как и разделяемые каталоги сервера Windows 2000/2003 (рис. 11.21). Если запрос, поступивший на сервер Windows 2000/2003, относится к ресурсам серверов Unix, то он переадресуется шлюзу, который транслирует его в понятный для сервера Unix вид и передает по протоколу NFS соответствующему серверу. При этом шлюз выступает по отношению к серверам Unix как клиент-пользователь.

Таким образом, шлюз реализует взаимодействие «многие ко многим».

Рис. 11.21. Щлюз Qateway for NSF

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

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