NDIS Driver Development

Intelligraphics possesses broad development expertise in all areas of system level development for Network Interface Cards (NICs). Our engineers are familiar with a wide variety of PC networking hardware technologies. We have vast experience with the Microsoft NDIS driver model for Windows platforms. In addition, our engineers have expertise with Linux, the MacOS DLPI, and the Novell ODI driver models.

*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 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).

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

    * NDIS 2.0: MS-DOS, Windows for Workgroups 3.1, OS/2
    * NDIS 3.0: Windows for Workgroups 3.11
    * NDIS 3.1: Windows 95
    * NDIS 4.0: Windows 95 OSR2, NT 4.0
    * NDIS 5.0: Windows 98, 98 SE, Me, 2000
    * NDIS 5.1: Windows XP, Server 2003
    * NDIS 5.2: Windows Server 2003 SP2
    * NDIS 6.0: Windows Vista
    * NDIS 6.1: Windows Vista SP1, Server 2008
    * NDIS 6.20: Windows 7, Server 2008 R2

The NDIS driver development 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).

*Extracted from Wikipedia.