Спецификация интерфейса сетевого драйвера
Эта статья нуждается в дополнительных цитатах для проверки . ( февраль 2014 г. ) |
NDIS Спецификация интерфейса сетевого драйвера ( контроллеров ) — это интерфейс прикладного программирования (API) для сетевых интерфейсов (NIC).
Спецификация
[ редактировать ]Он был совместно разработан Microsoft и корпорацией 3Com и в основном используется в Microsoft Windows . Однако с открытым исходным кодом NDISwrapper и Project Evil проекты -оболочки драйверов позволяют использовать многие NDIS-совместимые сетевые карты с Linux , FreeBSD и NetBSD . Magnussoft ZETA , производная от BeOS , поддерживает ряд драйверов NDIS.
NDIS образует подуровень управления логическим каналом (LLC), который является верхним подуровнем уровня OSI канала передачи данных (уровень 2). Таким образом, NDIS действует как интерфейс между подуровнем управления доступом к среде передачи данных (MAC), который является нижним подуровнем уровня канала передачи данных, и сетевым уровнем (уровень 3).
NDIS — это библиотека функций, которую часто называют « оболочкой », которая скрывает базовую сложность аппаратного обеспечения сетевой карты и служит стандартным интерфейсом для драйверов сетевых протоколов уровня 3 и драйверов MAC аппаратного уровня.
Различные версии Windows поддерживают следующие версии NDIS: [1]
- NDIS 2.0: MS-DOS , Windows для рабочих групп 3.1 , OS/2.
- NDIS 3.0: Windows для рабочих групп 3.11
- НДИС 3.1: Windows 95
- NDIS 4.0: Windows 95 OSR2, NT 4.0 , Windows CE 3.0.
- НДИС 4.1: Windows 98
- NDIS 5.0: Windows 98 SE , Me , 2000 г.
- NDIS 5.1: Windows XP , Server 2003 , Windows CE 4.x, 5.0, 6.0 [2]
- NDIS 5.2: Windows Server 2003 SP2
- NDIS 6.0: Windows Vista
- NDIS 6.1: Windows Vista SP1, Server 2008 , Windows Embedded Compact 7 , [3] Windows встроенный компакт 2013
- NDIS 6.20: Windows 7 , Server 2008 R2
- NDIS 6.30: Windows 8 , Windows Server 2012.
- NDIS 6.40: Windows 8.1 , Windows Server 2012 R2.
- NDIS 6.50: Windows 10 , версия 1507. [4]
- NDIS 6.51: Windows 10, версия 1511. [4]
- NDIS 6.60: Windows 10, версия 1607 и Windows Server 2016. [5]
- NDIS 6.70: Windows 10, версия 1703. [6]
- NDIS 6.80: Windows 10, версия 1709. [7]
- NDIS 6.81: Windows 10, версия 1803. [8]
- NDIS 6.82: Windows 10, версия 1809 и Windows Server 2019. [9]
- NDIS 6.83: Windows 10 версии 1903 и Windows Server 2022. [10]
- NDIS 6.84: Windows 10, версия 2004. [11]
- NDIS 6.85: Windows 10, версия 21H2. [12]
- NDIS 6.86: Windows 11 , версия 21H2. [13]
- NDIS 6.87: Windows 11, версия 22H2. [14]
- NDIS 6.88: Windows Server 2022, версия 23H2. [15]
- NDIS 6.89: Windows 11, версия 24H2. [16]
Трафик, принимаемый сетевым адаптером, контролируется драйвером минипорта NDIS. [17] в то время как различные протоколы, такие как TCP/IP , реализуются драйверами протоколов NDIS. [18] Один минипорт может быть связан с одним или несколькими протоколами. Это означает, что трафик, поступающий в минипорт, может приниматься параллельно несколькими драйверами протокола. Например, Winpcap добавляет второй драйвер протокола к выбранному минипорту для перехвата входящих пакетов. Кроме того, можно смоделировать несколько виртуальных сетевых карт, реализовав драйверы виртуальных минипортов, которые отправляют и получают трафик от одного физического сетевого адаптера. Одним из примеров использования драйвера виртуального минипорта является добавление виртуальных сетевых карт, каждый из которых имеет свою VLAN . Поскольку реализации не могут предполагать, что другие драйверы получили одни и те же буферы, необходимо рассматривать входящие буферы как доступные только для чтения, а драйвер, который изменяет содержимое пакета, должен выделять свои собственные буферы. Драйверы NDIS Miniport также могут использовать интерфейсы модели драйверов Windows для управления сетевым оборудованием. [19]
Другой тип драйвера — промежуточный драйвер NDIS. Промежуточные драйверы располагаются между уровнями MAC и IP и могут контролировать весь трафик, принимаемый сетевой картой. На практике промежуточные драйверы реализуют интерфейсы как минипорта, так и протокола. Драйвер минипорта и драйвер протокола фактически взаимодействуют с соответствующими интерфейсами минипорта и протокола, которые находятся в промежуточном драйвере. Такая конструкция позволяет добавлять несколько промежуточных драйверов между минипортом и драйверами протокола. Поэтому производители драйверов не могут предполагать, что интерфейс, на который они отправляют трафик, реализуется последним драйвером в цепочке. Для написания приложений с использованием NDIS можно использовать образцы, входящие в комплект Microsoft Windows Driver Kit (WDK). Пример PassThru — хорошая отправная точка для промежуточных драйверов, поскольку он реализует все необходимые детали, необходимые для этого типа драйвера, но просто передает трафик следующему драйверу в цепочке.
См. также
[ редактировать ]- Открытый интерфейс передачи данных (ODI)
- Единый интерфейс драйверов (UDI)
- Универсальный интерфейс сетевых устройств (UNDI)
- Новый API
- Драйвер пакетов ПК/TCP
Ссылки
[ редактировать ]- ^ «Обзор версий NDIS — драйверы для Windows» . docs.microsoft.com . Проверено 24 марта 2020 г.
- ^ Сетевые драйверы (Windows Embedded CE 6.0)
- ^ Что нового (Windows Embedded Compact 7)
- ^ Jump up to: а б авивиано. «Введение в NDIS 6.50 — драйверы Windows» . docs.microsoft.com . Проверено 12 июля 2022 г.
- ^ авивиано. «Введение в NDIS 6.60 — драйверы Windows» . docs.microsoft.com . Проверено 12 июля 2022 г.
- ^ авивиано. «Введение в NDIS 6.70 — драйверы Windows» . docs.microsoft.com . Проверено 12 июля 2022 г.
- ^ авивиано. «Введение в NDIS 6.80 — драйверы Windows» . docs.microsoft.com . Проверено 12 июля 2022 г.
- ^ авивиано. «Введение в NDIS 6.81 — драйверы Windows» . docs.microsoft.com . Проверено 12 июля 2022 г.
- ^ авивиано. «Введение в NDIS 6.82 — драйверы Windows» . docs.microsoft.com . Проверено 12 июля 2022 г.
- ^ авивиано. «Введение в NDIS 6.83 — драйверы Windows» . docs.microsoft.com . Проверено 12 июля 2022 г.
- ^ авивиано. «Введение в NDIS 6.84 — драйверы Windows» . docs.microsoft.com . Проверено 12 июля 2022 г.
- ^ авивиано. «Введение в NDIS 6.85 — драйверы Windows» . docs.microsoft.com . Проверено 12 июля 2022 г.
- ^ авивиано. «Введение в NDIS 6.86 — драйверы Windows» . docs.microsoft.com . Проверено 12 июля 2022 г.
- ^ Авивиано (22 мая 2024 г.). «Введение в NDIS 6.87 — драйверы Windows» . Learn.microsoft.com . Проверено 19 июня 2024 г.
- ^ Авивиано (22 мая 2024 г.). «Введение в NDIS 6.88 — драйверы Windows» . Learn.microsoft.com . Проверено 19 июня 2024 г.
- ^ Авивиано (22 мая 2024 г.). «Введение в NDIS 6.89 — драйверы Windows» . Learn.microsoft.com . Проверено 19 июня 2024 г.
- ^ «Десериализованные драйверы минипорта NDIS — драйверы Windows» .
- ^ «Введение в драйверы протокола NDIS — драйверы Windows» .
- ^ «Драйверы минипорта NDIS с нижним краем WDM — драйверы Windows» .