Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Операционные системы на основе Microsoft Windows поддерживают несколько типов сетевых драйверов в режиме ядра. В разделе "Сеть" документации по комплекту драйверов Windows (WDK) описывается запись этих сетевых драйверов. В этом разделе кратко описаны поддерживаемые типы сетевых драйверов и объясняется, какие разделы раздела "Сеть" следует прочитать перед записью каждого типа сетевого драйвера.
В этом руководстве по проектированию сетевого драйвера описаны следующие интерфейсы спецификации интерфейса сетевого драйвера (NDIS):
NDIS 6.40, который поддерживается в Windows 8.1, Windows Server 2012 R2 и более поздних версиях Windows. NDIS 6.30 включает поддержку интерфейса поставщика ядра Network Direct (NDKPI) 1.12.
Дополнительные сведения о NDIS 6.30 см. в статье Введение в NDIS 6.40.
NDIS 6.30, который поддерживается в Windows 8, Windows Server 2012 и более поздних версиях Windows. NDIS 6.30 включает поддержку виртуализации с одним корнем ввода-вывода (SR-IOV), расширяемого коммутатора Hyper-V, интерфейса поставщика сетевых прямых кернелов (NDKPI) 1.1 и других служб.
Дополнительные сведения о NDIS 6.30 см. в статье Введение в NDIS 6.30.
NDIS 6.20, который поддерживается в Windows 7, Windows Server 2008 R2 и более поздних версиях Windows. NDIS 6.20 включает поддержку очереди виртуальных машин (VMQ), регулирования пропускной способности на стороне приема и других служб.
Дополнительные сведения о NDIS 6.20 см. в статье Введение в NDIS 6.20.
NDIS 6.1, который поддерживается в Windows Vista с пакетом обновления 1 (SP1), Windows Server 2008 и более поздними версиями Windows. NDIS 6.1 включает поддержку разделения заголовков и данных, прямых запросов OID и других служб.
Дополнительные сведения о NDIS 6.1 см. в статье Введение в NDIS 6.1.
NDIS 6.0, который поддерживается в Windows Vista и более поздних версиях Windows. NDIS 6.0 включает поддержку драйверов фильтров и многих дополнительных служб, которые не были предоставлены более ранними версиями NDIS. NDIS 6.0 включает основные обновления для инициализации драйверов и управления сетевыми данными, включая необходимую поддержку перенастройки драйвера во время выполнения и архитектуру NET_BUFFER для обработки данных сетевого пакета. Дополнительные сведения о поддержке перенастройки среды выполнения см. в разделе Управление стеком драйверов. Дополнительные сведения об обработке данных сетевого пакета в NDIS 6.0 см. раздел Архитектура NET_BUFFER.
Дополнительные сведения о NDIS 6.0 см. в статье Введение в NDIS 6.0.
Версии операционной системы Windows Vista и более поздних версий поддерживают следующие типы сетевых драйверов на основе NDIS в режиме ядра:
драйверы минипорта
Драйвер минипорта управляет адаптерами мини-порта и предоставляет интерфейс адаптерам для драйверов более высокого уровня.
минипорт-адаптер — это концептуальная сущность, представляющая физическое устройство или виртуальное устройство. Например, минипорт-адаптер может представлять сетевую карту (сетевой адаптер) или виртуальное устройство, связанное с промежуточным драйвером.
Существует множество вариантов минипорт-драйверов, таких как минипорт-диспетчер вызовов с ориентацией на соединение (MCM), минипорт-драйвер модели драйвера Windows (WDM) и верхняя часть промежуточного драйвера.
драйверы протоколов
Драйвер протокола предоставляет высокоуровневые службы в стеке драйверов. Драйвер протокола привязывается к базовым минипорт-адаптерам. Драйвер протокола верхнего уровня реализует интерфейс, возможно, интерфейс, зависящий от приложения, на верхнем крае для предоставления служб пользователям сети. На нижнем уровне драйвер протокола предоставляет интерфейс протокола для передачи сетевых данных следующему драйверу и для получения входящих данных от него.
Существует множество вариантов драйверов протокола, таких как диспетчер вызовов, ориентированный на подключение (MCM), клиент, ориентированный на подключение,, и нижний уровень промежуточного драйвера.
драйверы фильтров
Драйвер фильтра фильтрует сведения о интерфейсе между драйверами протокола и драйверами минипорта.
Модули фильтрации присоединяются к связке между драйвером протокола и минипорт-адаптером и обычно остаются прозрачными для других драйверов. Драйверы фильтров могут реализовать фильтры, изменяющие или мониторящие . Например, драйвер фильтра может улучшить службы, предоставляемые базовым адаптером мини-порта или просто собирать статистику.
Промежуточные драйверы
Промежуточный драйвер взаимодействует между драйверами протокола верхнего уровня и драйверами минипорта. Промежуточные драйверы предоставляют интерфейс минипорта на верхней границе для привязки к вышележащим драйверам протокола. Промежуточные драйверы предоставляют интерфейс драйвера протокола на нижнем уровне для привязки к базовым минипортовым адаптерам. Промежуточные драйверы обычно используются для реализации мультиплексорных служб от n до m. Например, промежуточный драйвер может реализовать решения балансировки нагрузки и отказоустойчивости.
Промежуточные драйверы также могут управлять оборудованием, если они настроены как минипорт-промежуточный драйвер.
Дополнительные сведения о сетевой архитектуре и программировании Windows см. в статье Сетевая архитектура драйверов Kernel-Mode и вопросы программирования сетевых драйверов .
Дополнительную информацию о сетевых INF-файлах, которые используются для установки сетевых компонентов, см. в разделе Установка сетевых компонентов. Если сетевому драйверу требуется объект уведомления, например для управления привязками, также см. уведомления объектов для сетевых компонентов.
Следующие дополнительные модели драйверов доступны для использования конкретных аппаратных технологий и архитектур.
| Технологии | Описание |
|---|---|
Сетевые технологии, поддерживающие разгрузку задач сетевому адаптеру, например следующие:
|
|
Сетевые технологии, поддерживающие виртуализацию в средах, таких как Hyper-V, например: |
|
Сетевые возможности, включающие встроенную локальную локальную сеть 802.11. |
|
Системное средство, позволяющее драйверу подключать сетевые модули друг к другу. |
|
Сетевой интерфейс программирования в режиме ядра (NPI). |
|
Набор служебных функций, позволяющих драйверам получать и изменять сведения о конфигурации сети локального компьютера. |
|
Интерфейс режима ядра, обеспечивающий глубокую проверку, изменение пакетов, изменение потока и ведение журнала сетевых данных. |
|
Тип сетевого подключения, использующего Windows Sockets Direct для поддержки высокопроизводительной сети, ориентированной на подключение. |
|
Спецификация класса, определяющая системное, независимое от шины сообщение по USB-шине. |