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

[14.1.2] Интерфейс tdi

Итак, для взаимодействия с сетевым оборудованием драйверы протоколов взаимодействуют с NDIS. В свою очередь, желательно предусмотреть универсальный способ использования драйверов протоколов вышележащими сетевыми службами и прикладными программами.

Таким способом является интерфейс TDI (Transport Driver Interface – Интерфейс транспортного драйвера). Изначально этот интерфейс планировалось использовать в пользовательском режиме работы ОС. В окончательном варианте интерфейс стал работать в режиме ядра, однако все еще может быть использован напрямую из пользовательского уровня.

Использование интерфейса TDI сетевыми службами и прикладными программами заключается в отправке определенных кодов в/в.

Использование интерфейса TDI драйверами протоколов в основном заключается в определении набора диспетчерских функций для обработки приходящих от сетевых служб запросов IRP и набора функций TDI для взаимодействия компонентов TDI друг с другом.

TDI – единый программный интерфейс, предоставляемый Windows NT для взаимосвязи между транспортными драйверами и TDI-клиентами уровня ядра, такими как эмуляторы сетевых интерфейсов, редиректоры, серверы.

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

Рис. 1

На рис. 1 показана рассмотренная нами часть сетевой архитектуры.

[14.1.3] Среда 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. Использование протоколов прикладными программами для реализации распределенных приложений (обмен данными по сети).

[14.2.1] Службы доступа к сетевым ресурсам

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

Встроенный редиректор NT реализован как драйвер файловой системы (rdr.sys), что дает возможность приложению обращаться к локальным и сетевым ресурсам одинаковым образом.

Встроенный cервер NT реализован как обычный драйвер режима ядра (srv.sys).

Кроме того, существуют компоненты редиректора и сервера пользовательского режима, реализованные как сервисные процессы и находящиеся в файле services.exe (в числе прочих сервисов, таких как Browser, DHCP, LmHosts и др.).

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

Было избрано следующее решение этой задачи (рис. 2).

Рис. 2

Прикладная программа работает в пользовательском режиме и расположена над сервисами Редиректор и Сервер. Существует универсальный интерфейс доступа к сетевым ресурсам, независимый от установленных в системе редиректоров. Доступ к ресурсам обеспечивается одним из двух компонентов: Многосетевой UNC (Multiple UNC Provider, MUP) и Маршрутизатор многосетевого доступа (Multiple Provider Router, MPR).

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