Network Driver Interface Specification
# Network Driver Interface Specification

Network Driver Interface Specification (NDIS ; en français Spécification de l'interface du pilote réseau) est une interface de programmation (API) pour les interfaces réseau. Elle a été développée conjointement par Microsoft et 3Com, et est aujourd'hui principalement utilisée par Microsoft Windows, mais également par les projets libres NdisWrapper et Div file qui permettent à des interfaces réseaux compatibles NDIS d'être utilisées respectivement par Linux et FreeBSD. Beta, un dérivé de BeOS, gère également un certain nombre de pilotes NDIS.

NDIS permet un contrôle de liaison logique (Logical Link Control ou LLC) qui se présente sous la forme d'une surcouche à la couche OSI de liaison (couche 2 sur 7) et fait office d'interface entre la couche 2 et 3 (couche réseau). La plus basse surcouche est le pilote matériel MAC (Media Access Control).

NDIS est une bibliothèque de fonctions souvent appelée couche d'abstraction qui masque la complexité sous-jacente d'une interface réseau physique et sert d'interface réseau standard pour le protocole réseau de niveau 3 et le pilote de contrôle d'accès au support physique. Un autre pilote de contrôle de liaison logique connue est l'interface ODI (Open Data-Link Interface).

Un des composants de WZC (Wireless Zero Configuration) est le protocole NDIS User Mode I/O (NDISUIO). NDISUIOS est un pilote approuvé (signé) par Microsoft qui se présente comme faisant partie intégrante de Windows XP.

Les versions de NDIS sont prises en charge par une variété de versions de Windows :

* Windows 95 : NDIS 3.10 ;
* Windows 98/98 SE/Me : NDIS 5.0 ;
* Windows 2000 : NDIS 5.0 ;
* Windows XP : NDIS 5.1 ;
* Windows Server 2003 : NDIS 5.2 (5.1 avant SP2) ;
* Windows Vista : NDIS 6.1 (6.0 avant SP1) ;
* Windows Server 2008 : NDIS 6.1.
* Windows 10 : NDIS 6.20

L'interface NDIS peut être utilisée pour écrire les pilotes réseau, lesquels se trouvent entre la couche MAC et IP, et peut contrôler tout le trafic accepté par l'interface réseau. Dans le but d'écrire des applications utilisant NDIS, on peut utiliser les exemples qui accompagnent le DDK (Driver Development Kit) de Microsoft.

