В 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.
[14.4] Упрощенная схема общей сетевой архитектуры
Механизмы обеспечения взаимодействия и обмена данными между различными процессами в Windows 9x/NT/2K носят название механизмов межпроцессных коммуникаций (IPC - Inter Process Communications). При этом часть механизмов предназначена для обеспечения межпроцессного взаимодействия на одном компьютере. Другая часть механизмов предназначена для взаимодействия программ, работающих на различных компьютерах в сети.
В документации по Win2K произведено разделение терминов Network API и IPC, которые стали представлять различные уровни сетевой архитектуры NT.
Windows NT предоставляет несколько механизмов IPC:
· DCOM (COM+)
· RPC
· Именованные каналы – Named Pipes
· Почтовые слоты – Mailslots
· CIFS (встроенные службы рабочей станции и сервера, обменивающиеся данными в формате протокола CIFS – бывший SMB)
Интерфейсы доступа к сети (Network API) представлены следующими компонентами:
· Сетевое API Win32 – WNet API
· Winsock
· NetBIOS
· TAPI
· MAPI
· Ряд других API
К уровню базовых сетевых сервисов отнесены редиректоры, серверы, компоненты MUP и MPR.
Еще ниже следует интерфейс TDI и все, что мы рассматривали в разделе 14.1.
Лекция №14. Сетевая архитектура. Интерфейсы NDIS и TDI............................................................................................................ 1
[14.1] Место интерфейсов NDIS и TDI в сетевой архитектуре....................................................................................................... 1
[14.1.1] Интерфейс NDIS................................................................................................................................................................ 1
[14.1.2] Интерфейс TDI................................................................................................................................................................... 2
[14.1.3] Среда Streams..................................................................................................................................................................... 3
[14.2] Сетевые службы (клиенты TDI).............................................................................................................................................. 3
[14.2.1] Службы доступа к сетевым ресурсам.............................................................................................................................. 4
[14.2.1.1] MUP............................................................................................................................................................................. 5
[14.2.1.2] MPR............................................................................................................................................................................. 6
[14.2.2] Использование протоколов прикладными программами для реализации распределенных приложений (обмен данными по сети). 7
[14.3] Сетевые привязки..................................................................................................................................................................... 7
[14.4] Упрощенная схема общей сетевой архитектуры.................................................................................................................... 8