Network Driver Interface Specification
This article needs additional citations for verification. (February 2014) |
The Network Driver Interface Specification (NDIS) is an
Specification
It was jointly developed by
The NDIS forms the
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 hardware level MAC drivers.
The NDIS versions supported by various Windows versions are as follows:[1]
- NDIS 2.0: 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, Windows CE 3.0
- NDIS 4.1: Windows 98
- NDIS 5.0:
- NDIS 5.1: 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 Embedded Compact 2013
- NDIS 6.20: 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, version 1507[4]
- NDIS 6.51: Windows 10, version 1511[4]
- NDIS 6.60: Windows 10, version 1607 and Windows Server 2016[5]
- NDIS 6.70: Windows 10, version 1703[6]
- NDIS 6.80: Windows 10, version 1709[7]
- NDIS 6.81: Windows 10, version 1803[8]
- NDIS 6.82: Windows 10, version 1809 and Windows Server 2019[9]
- NDIS 6.83: Windows 10, version 1903 and Windows Server 2022[10]
- NDIS 6.84: Windows 10, version 2004[11]
- NDIS 6.85: Windows 10, version 21H2[12]
- NDIS 6.86: Windows 11, version 21H2[13]
The traffic accepted by the NIC is controlled by an NDIS Miniport Driver
Another driver type is NDIS Intermediate Driver. Intermediate drivers sit in-between the MAC and IP layers and can control all traffic being accepted by the NIC. In practice, intermediate drivers implement both miniport and protocol interfaces. The miniport driver and protocol driver actually communicate with the corresponding miniport and protocol interfaces that reside in the intermediate driver. This design enables adding several chained intermediate drivers between the miniport and protocol drivers. Therefore, driver vendors cannot assume that the interface that they send traffic to is implemented by the last driver in the chain. In order to write applications using NDIS, one can use samples that accompany Microsoft's Windows Driver Kit (WDK). The "PassThru" sample is a good starting point for intermediate drivers as it implements all the necessary details required in this driver type, but just passes the traffic through to the next driver in the chain.
See also
- Open Data-Link Interface (ODI)
- Uniform Driver Interface (UDI)
- Universal Network Device Interface(UNDI)
- New API
- PC/TCP Packet Driver
References
- ^ "Overview of NDIS versions - Windows drivers". docs.microsoft.com. Retrieved 2020-03-24.
- ^ Network Drivers (Windows Embedded CE 6.0)
- ^ What's New (Windows Embedded Compact 7)
- ^ a b aviviano. "Introduction to NDIS 6.50 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
- ^ aviviano. "Introduction to NDIS 6.60 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
- ^ aviviano. "Introduction to NDIS 6.70 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
- ^ aviviano. "Introduction to NDIS 6.80 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
- ^ aviviano. "Introduction to NDIS 6.81 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
- ^ aviviano. "Introduction to NDIS 6.82 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
- ^ aviviano. "Introduction to NDIS 6.83 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
- ^ aviviano. "Introduction to NDIS 6.84 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
- ^ aviviano. "Introduction to NDIS 6.85 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
- ^ aviviano. "Introduction to NDIS 6.86 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
- ^ "Deserialized NDIS Miniport Drivers - Windows drivers".
- ^ "Introduction to NDIS Protocol Drivers - Windows drivers".
- ^ "NDIS Miniport Drivers with a WDM Lower Edge - Windows drivers".