Навигация по конструктору сетевого драйвера
Операционные системы на основе Microsoft Windows поддерживают несколько типов сетевых драйверов в режиме ядра. В разделе "Сеть" документации по комплекту драйверов Windows (WDK) описывается запись этих сетевых драйверов. В этом разделе кратко описаны поддерживаемые типы сетевых драйверов и объясняется, какие разделы раздела "Сеть" следует прочитать перед записью каждого типа сетевого драйвера.
В этом руководстве по проектированию сетевого драйвера описаны следующие интерфейсы спецификации интерфейса сетевого драйвера (NDIS):
NDIS 6.40, который поддерживается в Windows 8.1, Windows Server 2012 R2 и более поздних версиях Windows. NDIS 6.30 включает поддержку интерфейса поставщика прямого ядра (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. Например, промежуточный драйвер может реализовать решения балансировки нагрузки и отработки отказа.
Промежуточные драйверы также могут управлять оборудованием при настройке в качестве минипорт-промежуточного драйвера.
Дополнительные сведения о сетевой архитектуре и программировании Windows см. в статье "Сетевая архитектура для драйверов в режиме ядра" и рекомендации по программированию сетевого драйвера.
Дополнительные сведения о сетевых INF-файлах, используемых для установки сетевых компонентов, см. в разделе "Установка сетевых компонентов". Если сетевому драйверу требуется объект уведомления, например для управления привязками, см. также статью "Уведомить объекты для сетевых компонентов".
Следующие дополнительные модели драйверов доступны для использования конкретных аппаратных технологий и архитектур.
Технология | Description |
---|---|
Сетевые технологии, поддерживающие разгрузку задач сетевому адаптеру, например следующие:
|
|
Сетевые технологии, поддерживающие среды виртуализации Hyper-V, например следующие: |
|
Сетевые возможности, включающие встроенную локальную локальную сеть 802.11. |
|
Системное средство, позволяющее драйверу подключать сетевые модули друг к другу. |
|
Сетевой интерфейс программирования в режиме ядра (NPI). |
|
Набор служебных функций, позволяющих драйверам получать и изменять сведения о конфигурации сети локального компьютера. |
|
Интерфейс режима ядра, обеспечивающий глубокую проверку, изменение пакетов, изменение потока и ведение журнала сетевых данных. |
|
Тип сетевого подключения, использующего Windows Sockets Direct для поддержки высокопроизводительной сети, ориентированной на подключение. |
|
Спецификация класса, определяющая системное, независимое от шины сообщение по USB-шине. |