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

[14.2.2] Использование протоколов прикладными программами для реализации распределенных приложений (обмен данными по сети).

Так как TDI является относительно новым сетевым интерфейсом, и большинство приложений разработаны для использования других существующих стандартных интерфейсов, таких как NetBIOS и WinSockets, то Windows NT включает эмуляторы для этих двух популярных интерфейсов. Части уровня ядра этих эмуляторов, являющиеся драйверами файловых систем, отображают родные функции с соответствующими параметрами в одну или несколько TDI-функций, а затем вызывают соответствующие драйверы транспортных протоколов через TDI.

Интерфейс Winsock может использовать в качестве протокола tcp/ip, NetBeui или ipx/spx.

Интерфейс NetBios может использовать в качестве протокола либо NetBeui, либо NetBT (NetBios over tcp/ip), который, соответственно, использует протокол tcp/ip.

Интерфейсы Winsock и NetBios имеют собственные API прикладного уровня, расположенные в DLL.

Кроме перечисленных драйверов, имеются также драйвера файловых систем именованных каналов (npfs – named pipes file system) и почтовых ящиков (msfs – mail slots file system).

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

[14.3] Сетевые привязки

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

При установке сетевых компонентов информация о них записывается в реестр Windows NT, который описывает порядок, в котором сетевые компоненты должны загружаться, и как они должны быть связаны друг с другом. Приложением, которое управляет установкой и связыванием сетевых компонентов, является Network Control Panel Application (NCPA).

При установке сетевого компонента NCPA ищет специальный файл с расширением .inf в разделе, определенном пользователем. Если устанавливаемый сетевой драйвер не поставляется вместе с Windows NT, то разработчик этого драйвера должен поставлять файл oemsetup.inf, содержащий сценарий и правила установки драйвера.

После компиляции и исполнения .inf файла NCPA проводит анализ того, как данная сетевая компонента должна быть связана с другими компонентами, используя правила RawRules и NetRules. RawRules - правила по умолчанию, определяемые системой, и хранимые в реестре в ключе HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Ncpa \ CurrentVersion \ RawRules. Правила NetRules – правила, определяемые разработчиками, и специфичные для данной компоненты, они содержатся в только что созданном при установке сетевой компоненты ключе HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ <имя сетевой компоненты> \ CurrentVersion \ NetRules.

В конце этого процесса NCPA создаст (или обновит) ключ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ <имя сетевой компоненты> \ Linkage.

NCPA включает следующие поля в этот ключ:

Bind. Список имен устройств сетевых компонент, с которыми данная сетевая компонента будет связана.

Export. Список имен объектов-устройств, которые будут добавлены в пространство имен объектов Windows NT, чтобы сделать возможным доступ к этой компоненте. Этот список содержит по одному имени объекта-устройства для каждой компоненты, с которой данная компонента будет связана внизу.

Route. Содержит список строк, где каждая строка показывает точный путь в стеке сетевых компонент.

После того как NCPA создаст все возможные связи, пользователь может, используя диалоговое окно Bindings в NCPA, посмотреть результирующие привязки и, если необходимо, блокировать (или разрешить) некоторые привязки. Это вызовет удаление (или восстановление) соответствующих значений в поле Bind подключа Linkage выбранной сетевой компоненты.

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

Соседние файлы в папке Лабы по драйверам