Назначение и работа редиректора

Как показано на рис. 3.2, с точки зрения компьютера, инициализирующего запрос по сети, редиректор играет главную роль в создании сетевого соединения. Его задача – «обманным» путём заставить приложение на локальной машине полагать, что оно получает данные с локального, а не сетевого диска. Суть применения редиректора: место хранения запрошенного файла не должно иметь значения, так как метод доступа должен быть единым.

Например, что случится, если вы запустите программу WordCruncher и откроете файл, хранящийся на сетевом диске? С точки зрения WordCruncher ни не существует.
Она знает только о существовании нескольких доступных дисков с именами, состоящими из букв с двоеточиями, например, F:, В:, С: и т. д. Как и любое другое приложение, WordCruncher способна использовать только локальные устройства хранения. Таким образом, необходимо задействовать тот уровень программного обеспечения (расположенный непосредственно под уровнем WordCruncher), задача которого заключается в предоставлении WordCruncher обычного интерфейса, основанного на буквенных обозначениях дисков (common drive-letter interface). Но делать это необходимо и в случае, когда приложению требуются данные, хранящиеся в сетевом устройстве. WordCruncher полагает, что она обращается к локальным дискам, однако ее запросы информации с сетевых дисков должны перехватываться и направляться по сети. Итак, если вы скомандуете WordCruncher получить данные из каталога DOCS, находящегося на сервере c именем BGDOG, программа редиректора передаст запрос так, как описано в самом начале главы.

Примечание:
Редиректоры нередко называют клиентами (например, клиент Windows 98 для сетей NetWare), поскольку они обязательно входят в состав программного обеспечения клиентного компьютера.

Следовательно, прежде чем вы сможете подключиться к сети, вы должны установить редиректор, соответствующий типу сети. Отнюдь не во всех сетевых операционных системах используют одинаковые редиректоры. Поэтому вы должны установить редиректор, соответствующий операционной системе той сети, к которой подсоединяетесь. Различие между редиректорами может быть обнаружено на уровне представления данных модели OSI, (гл. 1). Так, в сетях Microsoft для передачи данных используют блоки сообщений сервера (Server Message Blocks — SMBs). Поэтому для них необходим редиректор, способный выразить запросы в терминах SMBs. В сетях Novell с этой же целью применяют программу NetWare Control Protocols (NCPs). Таким образом, чтобы запросить сервер NetWare, вы должны использовать редиректор, который может выразить запрос в терминах NCPs. Обратите внимание: недостаточно применить общий транспортный протокол, такой как TCP/IP — вы должны использовать редиректор, работающий с той операционной системой, к которой вы подсоединяетесь. К счастью, если на уровне представления данных задействован протокол, одинаковый для нескольких операционных систем, поддержка редиректора обеспечивается автоматически. Так, если вы работаете в Windows 98, то можете использовать Client for Microsoft Networks (Клиент сетей Microsoft), поддерживающий SMB, чтобы подключиться к любой операционной системе, поддерживающей SMBs.

Редиректоры и средства API

Как указано во введении в эту главу, большинство пользовательских приложений "не подозревают" о наличии используемой сети (сетей). Однако некоторые приложения, например, электронная почта или групповое программное обеспечение должны быть "осведомлены" о наличии сети, поскольку они вообще нужны только для работы в сети, должны быть способны "подключаться" к ней и устанавливать связь с другими программами, которые исполняются сетевыми машинами.
Программисты разрабатывают приложения, способные определять наличие сети таким образом, чтобы они воспринимали набор команд, предоставляемый сетью приложениям. Эти наборы команд называют средствами API или интерфейсами прикладных программ. API можно представить чем-то вроде комбинации органов управления и приборов автомобиля. Комбинация приборов вашего автомобиля — видимая часть интерфейса, предназначенного для управления автомобилем. Фактически, вы не представляете, что творится под капотом — просто нажимаете педаль газа, и автомобиль разгоняется.
Таким образом, вам нет необходимости детально знать устройство автомобиля, чтобы ездить на нем. Более того, если вы умеете управлять одним автомобилем, вы справитесь и с другим, поскольку его элементы управления — т. е. API — везде одинаковы.(Однажды вечером, во время поездки на "Фольксвагене" моего друга, я узнала, что в разных автомобилях этой марки используются разные "API" для заднего хода. Это часто бывает в автомобилях с ручным переключением передач, но в целом наша аналогия верна.)Комбинация органов управления автомобилем позволяет передать только несколько простейших команд: торможение, ускорение, переключение скоростей и т. д. Например, нельзя дать команду "выехать задним ходом на дорогу". Вы должны отдать множество простейших команд, чтобы выполнить фактическое действие: выехать задним ходом на дорогу. В известном смысле необходимо создать программу с помощью стандартной комбинации органов управления, расположенных в некотором порядке.
Функции API вашего компьютера во многом работают точно так же. Сетевые программные средства, подобные редиректору, должны находиться на верхнем уровне различных транспортных протоколов. Если бы не было API, программистам сетевого программного обеспечения пришлось бы разработать одну программу-редиректор для подключения Windows NT (сетевая операционная система) к IPX/SPX, а другую программу-редиректор — для подключения Windows NT к TCP/IP. Структурно редиректор будет один и тот же. Просто он будет в состоянии "разговаривать" I разными транспортными протоколами. Чтобы избежать этого, следует видать общую комбинацию органов управления и приборов для всех сетевых служб. Таким образом, программа-редиректор встроена не в протокол, а в API (в нашем примере - в NetBIOS). NetBIOS может "сидеть" на верхнем уровне протоколов IPX/SPX, NetBEUI и TCP/IP. Это означает, что транспортный протокол может изменяться, однако вам нет нужды переписывать сетевые утилиты, поскольку они написаны для API (NetBIOS).Широко известным примером API служат гнезда (sockets) — временные каналы связи, установленные для передачи информации между клиентной серверной программами. Данные программы могут работать как на одной машине, так и на разных машинах через сеть. Существуют три API, с которыми вы, вероятно, уже сталкивались.
● Гнезда Novell.
● NetBIOS.
● Гнезда TCP/IP.
API перехватывают ваши сетевые запросы и выполняют поставленную задачу с помощью соответствующего транспортного протокола.
 

Смотрите также

Лицензирование программного обеспечения
Одно из замечательных достижений (и несомненных преимуществ) сетевых технологий — огромное упрощение проблемы установки приложений на сетевых клиентных машинах. Для установки и обновления прог ...

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

Удаление данных
Когда вы подвергаетесь DOS-атаке, то на первых порах бывает трудно сориентироваться в обстановке. С одной стороны, сеть просто замедляет или прекращает работу, и вы не в состоянии немедленно найти п ...