Спецификация интерфейса сетевого драйвера

редактировать

Спецификация интерфейса сетевого драйвера (NDIS ) - это интерфейс прикладного программирования (API) для контроллеров сетевого интерфейса (NIC).

Содержание
  • 1 Спецификация
  • 2 См. Также
  • 3 Ссылки
  • 4 Внешние ссылки
Спецификация

Была совместно разработана Microsoft и 3Com Corporation и в основном используется в Microsoft Windows. Однако проекты open-source NDISwrapper и Project Evil оболочки драйвера позволяют использовать многие NDIS-совместимые сетевые адаптеры с Linux, FreeBSD и NetBSD. magnussoft ZETA, производная от BeOS, поддерживает ряд драйверов NDIS.

NDIS формирует подуровень управления логическим каналом (LLC), который является верхним подуровнем OSI канального уровня (уровень 2). Следовательно, NDIS действует как интерфейс между подуровнем управления доступом к среде (MAC), который является нижним подуровнем канального уровня, и сетевым уровнем (уровень 3).

NDIS - это библиотека функций, часто называемая «оболочкой », которая скрывает базовую сложность оборудования NIC и служит стандартным интерфейсом для драйверов сетевого протокола уровня 3 и оборудования. уровень драйверов MAC.

Версии NDIS, поддерживаемые различными версиями Windows, следующие:

Трафик, принимаемый сетевым адаптером, управляется драйвером минипорта NDIS , а различные протоколы, такие как TCP / IP, реализуются драйверами протокола NDIS. Один минипорт может быть связан с одним или несколькими протоколами. Это означает, что трафик, поступающий в минипорт, может быть получен параллельно несколькими драйверами протокола. Например, Winpcap добавляет второй драйвер протокола к выбранному минипорту для захвата входящих пакетов. Кроме того, можно смоделировать несколько виртуальных сетевых адаптеров, реализовав драйверы виртуального минипорта, которые отправляют и получают трафик от одного физического сетевого адаптера. Одним из примеров использования драйвера виртуального минипорта является добавление виртуальных сетевых адаптеров, каждая из которых имеет свою Virtual LAN. Поскольку реализации не могут предполагать, что другие драйверы получили те же буферы, нужно рассматривать входящие буферы как только для чтения, а драйвер, изменяющий содержимое пакета, должен выделять свои собственные буферы.

A минипорт - это тип аппаратного драйвера, входящий в модель драйвера Windows. Это адаптеры USB, Audio, SCSI и сетевой карты. Как правило, они должны быть совместимыми с двоичным кодом между Windows 98 и Windows 2000 и иметь конкретный исходный код, но управлять доступом к оборудованию через конкретную шину драйвер класса.

Другой тип драйвера - это промежуточный драйвер NDIS. Промежуточные драйверы находятся между уровнями MAC и IP и могут контролировать весь трафик, принимаемый сетевой картой. На практике промежуточные драйверы реализуют интерфейсы как минипорта, так и протокола. Драйвер минипорта и драйвер протокола фактически взаимодействуют с соответствующими интерфейсами минипорта и протокола, которые находятся в промежуточном драйвере. Эта конструкция позволяет добавлять несколько связанных промежуточных драйверов между драйверами минипорта и протокола. Поэтому производители драйверов не могут предполагать, что интерфейс, на который они отправляют трафик, реализован последним драйвером в цепочке. Для написания приложений с использованием NDIS можно использовать образцы, которые прилагаются к Microsoft Windows Driver Kit (WDK). Образец «PassThru» является хорошей отправной точкой для промежуточных драйверов, поскольку он реализует все необходимые детали, требуемые для этого типа драйвера, но просто передает трафик следующему драйверу в цепочке.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-31 04:54:58
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте