Network Driver Interface Specification

From Wikipedia, the free encyclopedia

The Network Driver Interface Specification (NDIS) is an application programming interface (API) for network interface cards (NICs). It was jointly developed by Microsoft and 3Com Corporation, and is nowadays mostly used in Microsoft Windows, but the open-source NdisWrapper and Project Evil driver wrapper projects allow many NDIS-compliant NICs to be used with Linux and FreeBSD, respectively. magnussoft ZETA, a derivative of BeOS, supports a number of NDIS drivers.

The NDIS is a Logical Link Control (LLC) that forms the upper sublayer of the OSI data link layer (layer 2 of 7) and acts as an interface between layer 2 and 3 (the Network Layer). The lower sublayer is the Media Access Control (MAC) device driver.

The NDIS is a library of functions often referred to as a "wrapper" that hides the underlying complexity of the NIC hardware and serves as a standard interface for level 3 network protocol drivers and the hardware level MAC drivers. Another common LLC is the Open Data-Link Interface (ODI).

One component of Wireless Zero Configuration is the NDIS User Mode I/O (NDISUIO) NDIS protocol driver. NDISUIO is a Microsoft-signed driver which comes as part of Windows XP. In most situations it is already bound to installed IEEE 802.3 miniports.

The NDIS versions supported by various Windows versions are as follows:

  • 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 before SP2)
  • Windows Vista: NDIS 6.1 (6.0 before SP1)
  • Windows Server 2008: NDIS 6.1

NDIS interface can be used to write network drivers which sit in-between MAC and IP layers and can control all traffic being accepted by NIC card. In order to write applications using NDIS one can use samples that accompany Microsoft's DDK (driver development kit).

[edit] See also

[edit] External links