Среда Streams
STREAMS, основанная на UNIX STREAMS, является средой для существующих STREAMS-совместимых транспортных драйверов, которая обеспечивает этим драйверам переносимость в ОС Windows NT из других ОС с незначительными модификациями или вовсе без изменений. Один или несколько драйверов, расположенных друг над другом, окружаются сверху и снизу средой Streams и формируют провайдера сетевого транспорта. Среда STREAMS обеспечивает:
Интерфейс TPI (Transport Provider Interface) - интерфейс верхней части транспортного стека. STREAMS транслирует этот интерфейс в “родной” интерфейс транспорта Windows NT - TDI.
Интерфейс DLPI (Data Link Provider Interface) - интерфейс нижней части транспортного стека. STREAMS транслирует этот интерфейс в “родной” для Windows NT интерфейс NDIS.
[14.2] Сетевые службы (клиенты TDI)
Методы использования протоколов посредством интерфейса TDI разбивается на 2 группы:
1. Реализация служб доступа к сетевым ресурсам. Прикладные программы будут пользоваться интерфейсами, предоставляемыми такими службами.
2. Использование протоколов прикладными программами для реализации распределенных приложений (обмен данными по сети).
|
|
При совместной работе компьютеров в сети компьютеры могут как предоставлять некоторый ресурс в совместное пользование, т.е. выступать в качестве сервера, так и обращаться к чужим ресурсам, т.е. выступать в качестве клиента. Для реализации таких возможностей в NT введены понятия редиректор и сервер. При получении имени сетевого ресурса от вышележащего программного обеспечения, редиректор направляет запрос некоторому нижележащему сетевому компоненту, и так далее вниз по цепочке до сетевого оборудования. По сети запрос поступает компьютеру, предоставляющему ресурс, где по цепочке сетевых компонентов он попадает к серверу. Сервер обрабатывает запрос путем взаимодействия с другими компонентами ОС (например, драйверами файловой системы, если произошло обращение к файлу), и возвращает результат вниз по цепочке.
Встроенный редиректор NT реализован как драйвер файловой системы (rdr.sys), что дает возможность приложению обращаться к локальным и сетевым ресурсам одинаковым образом.
Встроенный cервер NT реализован как обычный драйвер режима ядра (srv.sys).
Кроме того, существуют компоненты редиректора и сервера пользовательского режима, реализованные как сервисные процессы и находящиеся в файле services.exe (в числе прочих сервисов, таких как Browser, DHCP, LmHosts и др.).
Это общая модель взаимодействия. Однако она усложняется, поскольку может потребоваться как доступ к ресурсам, так и предоставление ресурсов различным ОС. В этом случае в ОС будет несколько различных редиректоров и серверов. Появляется необходимость в стандартизации использования редиректора вышележащим ПО.
|
|
Было избрано следующее решение этой задачи (рис. 2).
Рис. 2 |
Прикладная программа работает в пользовательском режиме и расположена над сервисами Редиректор и Сервер. Существует универсальный интерфейс доступа к сетевым ресурсам, независимый от установленных в системе редиректоров. Доступ к ресурсам обеспечивается одним из двух компонентов: Многосетевой UNC (Multiple UNC Provider, MUP) и Маршрутизатор многосетевого доступа (Multiple Provider Router, MPR).