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

Лекция №14. Сетевая архитектура. Интерфейсы ndis и tdi [14.1] Место интерфейсов ndis и tdi в сетевой архитектуре [14.1.1] Интерфейс ndis

Рассмотрение сетевой архитектуры WinNT начнем с самого нижнего уровня – работы с сетевым оборудованием. Как говорилось на предыдущих лекциях, для того, чтобы NT могла использовать некоторое оборудование, нужен драйвер, работающий с этим оборудованием. При этом логика взаимодействия драйвера с сетевым оборудованием совершенно не зависит от того, какой информацией обменивается драйвер с оборудованием, т.е. не зависит от протоколов передачи данных.

В 1989 г Microsoft и 3Com совместно разработали спецификацию интерфейса взаимодействия между подуровнем MAC канального уровня модели OSI и драйверами протоколов, располагающихся на вышележащих уровнях. СтандартполучилназваниеNetwork Driver Interface Specification (NDIS).Он играет ключевую роль в сетевой архитектуре NT и служит для отделения логики взаимодействия с сетевым оборудованием от логики реализации транспортных протоколов.

В соответствии со спецификацией NDIS, имеется несколько типов драйверов:

  • FULL NIC Driver, такженазываемыйLegacy Driver.Отвечает за управление сетевой картой. Уже с начиная с NT 4.0 является устаревшим типом драйвера, использование которого следует избегать, а вместо него использовать драйвер минипорта. Тем не менее следует отметить, что стандартный драйвер работы с WAN (NDISWAN) в NT4 реализован как FULL NIC. Поддержка драйверов FULL NIC в ОС выше Win2K прекращена.

  • Драйвер минипорта (NDIS Miniport Driver, также называют Miniport NIC Driver). Отвечает за управление сетевой картой (NIC – Network Interface Card) и взаимодействие с драйверами вышележащего уровня.

  • Промежуточныйдрайвер(NDIS Intermediate Driver).Располагается между драйверами протоколов и драйверами минипорта. Для драйверов протоколов выглядит как минипорт, для драйверов минипорта – как драйвер протоколов.

  • Драйвер протокола (NDIS Protocol Driver). Реализует логику работы транспортных протоколов, таких как стеки протоколов tcp/ip или ipx/spx.

Реализация NDIS-драйверов

Для инициализации сетевого драйвера некоторого типа (минипорт, протокол, промежуточный драйвер), необходимо указать операционной системе множество точек входа в драйвер, соответствующих типу драйвера. Это делается с помощью вызова функций регистрации NDIS-драйвера NdisRegisterMac, NdisMRegisterMiniport, NdisMRegisterLayeredMiniport, NdisRegisterProtocol. Вся последующая работа такого драйвера заключается в вызове операционной системой его точек входа и в вызове из функций драйвера функций библиотеки NDIS.

Формально, NDIS-драйвер не имеет права пользоваться никакими функциями ядра, кроме функций, предоставляемых оболочкой NDIS. Это требование облегчает переносимость между различными платформами, поддерживающими NDIS. Фактически, NDIS-драйвер может пользоваться функциями ядра той ОС, для которой он создавался.

Библиотека NDIS является расширяемой. Каждая новая версия NDIS добавляет свой набор точек входа, поддержка которых должна быть обеспечена драйвером. В функции регистрации NDIS-драйвера указывается та версия NDIS, которой соответствует данный драйвер.

Минимальной версией NDIS, которой должен соответствовать сетевой драйвер для ОС NT4 и выше, является NDIS версии 3.0. На момент написания этого раздела последними версиями NDIS являлся NDIS 5.x. Среди нововведений, которые необходимо отметить для этой версии NDIS, являются понятия сериализованный/десериализованный минипорты, а также минипорты, ориентированные и не ориентированные на соединения (connection-oriented/connectionless miniports).

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