Network Driver Interface Specification

Source: Wikipedia, the free encyclopedia.

The Network Driver Interface Specification (NDIS) is an

application programming interface (API) for network interface controllers
(NICs).

Specification

It was jointly developed by

magnussoft ZETA, a derivative of BeOS
, supports a number of NDIS drivers.

The NDIS forms the

media access control (MAC) sublayer, which is the lower sublayer of the data link layer, and the network layer
(layer 3).

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]

The traffic accepted by the NIC is controlled by an NDIS Miniport Driver

TCP/IP, are implemented by NDIS Protocol Drivers.[15] A single miniport may be associated with one or more protocols. This means that traffic coming into the miniport may be received in parallel by several protocol drivers. For example, Winpcap adds a second protocol driver on the selected miniport in order to capture incoming packets. Furthermore, it is possible to simulate several virtual NICs by implementing virtual miniport drivers that send and receive traffic from a single physical NIC. One example of virtual miniport driver usage is to add virtual NICs, each with a different VLAN. Because implementations cannot assume that other drivers received the same buffers, one must treat the incoming buffers as read-only and a driver that changes the packet content must allocate its own buffers. NDIS Miniport drivers can also use Windows Driver Model interfaces to control network hardware.[16]

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

References

  1. ^ "Overview of NDIS versions - Windows drivers". docs.microsoft.com. Retrieved 2020-03-24.
  2. ^ Network Drivers (Windows Embedded CE 6.0)
  3. ^ What's New (Windows Embedded Compact 7)
  4. ^ a b aviviano. "Introduction to NDIS 6.50 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  5. ^ aviviano. "Introduction to NDIS 6.60 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  6. ^ aviviano. "Introduction to NDIS 6.70 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  7. ^ aviviano. "Introduction to NDIS 6.80 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  8. ^ aviviano. "Introduction to NDIS 6.81 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  9. ^ aviviano. "Introduction to NDIS 6.82 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  10. ^ aviviano. "Introduction to NDIS 6.83 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  11. ^ aviviano. "Introduction to NDIS 6.84 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  12. ^ aviviano. "Introduction to NDIS 6.85 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  13. ^ aviviano. "Introduction to NDIS 6.86 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  14. ^ "Deserialized NDIS Miniport Drivers - Windows drivers".
  15. ^ "Introduction to NDIS Protocol Drivers - Windows drivers".
  16. ^ "NDIS Miniport Drivers with a WDM Lower Edge - Windows drivers".

External links