Обзор портов NDIS
В этом разделе рассматриваются порты NDIS, которые являются функцией NDIS 6.0 и позволяют более высоким сетевым уровням получать доступ к вложенным интерфейсам. В NDIS сетевые интерфейсы связаны с адаптерами минипорта, а подинтерфейсы адаптера минипорта называются портами NDIS.
Архитектура стека драйверов гораздо проще, так как каждый сетевой интерфейс рассматривается как адаптер минипорта. Например, у каждого адаптера мини-порта есть собственный IP-адрес и MAC-адрес. В большинстве случаев для вышестояших драйверов не требуются сведения о виртуальной или физической природе адаптера мини-порта или сведения о физическом устройстве в нижней части стека драйверов.
Адаптер минипорта NDIS может предоставлять интерфейс для физического или виртуального устройства. Промежуточные драйверы NDIS предоставляют интерфейсы для виртуальных устройств, которые называются виртуальными минипортами. Промежуточные драйверы NDIS могут привязываться к базовым адаптерам минипортов и предоставлять виртуальные минипорты, к которым привязаны более лежащие драйверы протокола.
Во многих случаях между базовыми физическими устройствами и виртуальными минипортами не существует связи "один к одному". Например, промежуточный драйвер, реализующий функции отработки отказа, может создать один виртуальный минипорт для поддержки нескольких физических устройств, а промежуточный драйвер виртуальной локальной сети (VLAN) — несколько виртуальных минипортов, связанных с одним физическим устройством. Кроме того, драйвер, который сочетает в себе функции отработки отказа и виртуальной локальной сети, может создавать набор виртуальных минипортов (N виртуальных локальных сетей), а драйвер привязан к нескольким физическим устройствам (M число физических устройств). Дополнительные сведения о промежуточных драйверах и виртуальных минипортах см. в разделе Промежуточные драйверы NDIS 6.0.
В некоторых приложениях возможность обращения к вложенным интерфейсам, которые находятся под виртуальными минипортами, является обязательной или упрощает проектирование. Например, протокол EAP должен указывать физическое устройство, на которое отправляется или получается пакет EAP. Если с одним виртуальным устройством связано несколько физических устройств, протокол EAP привязывается к виртуальному устройству. В этом случае интерфейсы NDIS до NDIS 6.0 скрывают вложенные интерфейсы, а протокол EAP не может выбрать, какое физическое устройство должно нести пакеты EAP. Протокол EAP не имеет доступа к базовым физическим адаптерам минипорта. Предоставление базовых физических адаптеров минипорта в качестве портов NDIS позволяет протоколу EAP ориентироваться на определенное физическое устройство.
В следующих разделах далее описываются порты NDIS: