NDIS (Network Driver Interface Specification)

What is Network Driver Interface Specification (NDIS)?

Network Driver Interface Specification (NDIS) is a Windows specification for how communication protocol programs (such as TCP/IP) and network device drivers communicate with each other.

As an application programming interface for network interface controllers, NDIS provides a standard interface between protocol drivers and network adapter drivers, allowing various network devices to communicate.

Microsoft and Robert Metcalfe's 3Com developed NDIS. Using NDIS, Windows software developers can develop protocol stacks that work with the MAC driver for any hardware manufacturer's communications adapter. Any adapter maker can also write MAC driver software that can communicate with any protocol stack program.

NDIS defines a set of functions that a network adapter driver must implement to work with a network protocol stack. This includes processes for initializing and configuring the adapter, sending and receiving data, and handling events such as adapter removal or power management.

NDIS specifies interfaces as follows:

  1. The program sends and receives data by constructing or extracting it from the formatted units called frames (or sometimes packets or datagrams). This program, or protocol stack, is layering and generally corresponds to layers 3 and 4 (the network addressing and transport layers) of the Open Systems Interconnection (OSI) reference model. Examples are TCP/IP and Internetwork Packet Exchange.
  2. The program, or device driver, interacts directly with the network interface card or other adapter hardware, which sends or receives the data on the communications line via electronic signals. The driver program and the network interface card interact at the Media Access Control (MAC address) sublayer of the layer 2 level of OSI, which is called Data Link Control. (The signal is put on the line by the layer 1 or the Physical layer of OSI.) Examples of MAC drivers are those for Ethernet, Fiber Distributed Data Interface and token rings.
  3. A program named Protocol Manager assists the protocol stack program and the MAC driver program by sharing the computer location when the operating system (OS) is started or, in some cases, when a new device is added to the computer. This is called bind. A system file named PROTOCOL.INI identifies which protocol stacks use which MAC drivers and where each is located. A protocol stack can be bound to more than one MAC driver when a computer is connected to multiple networks. A single MAC driver can be bound to more than one protocol stack in a computer.

Multiple protocol drivers can share a single network adapter leveraging a NDIS interface. This approach enables seamless interoperability between different networking protocols. Network administrators can benefit from using multiple protocols on a single network and support a broader range of network hardware.

NDIS has been widely adopted in the industry and is used in operating systems beyond Microsoft Windows, including Linux and BSD. It has also been extended to support wireless networking and other advanced networking technologies.

Novell and Apple introduced a similar interface, Open Data-Link Interface, for NetWare and Macintosh environments.

What is Network Driver Interface Specification latency?

NDIS latency is the time it takes for a computer to process data packets sent by other computers connected to the same network. NDIS latency measures how fast data packets can be processed and routed between computers. Low latency indicates better communication efficiency among different devices connected to the same network.

What is Remote Network Driver Interface Specification?

The Microsoft proprietary protocol Remote Network Driver Interface Specification (RNDIS) implements a virtual Ethernet link using a cellular network or Wi-Fi connection. It enables the connection of mobile devices to personal computers over high bandwidth networks like cellular, Ethernet, Wi-Fi and more. RNDIS also allows scripts from the host to be executed on the remote device.

What is a NDIS virtual network adapter?

A NDIS virtual network adapter is a type of virtualization software that facilitates the use of multiple separate and distinct local area networks (LANs) by hosting them on a single physical adapter. The NDIS virtual network adapter helps bridge the gap between different types of data networks, such as Ethernet and Token Ring, allowing seamless communication between disparate LANs. This allows LANs to be efficiently managed without juggling multiple hardware adapters.

What is a NDIS virtual network adapter enumerator?

A NDIS virtual network adapter enumerator is a Windows feature used to register and enumerate network adapter drivers. NDIS virtual network adapter enumerators help systems recognize and support one or more virtual network cards, allowing multiple virtual adapters to coexist on a single system.

Network Driver Interface Specification blue screen of death
Network Driver Interface Specification Blue Screen of Death error message displays when a computer's networking adapter encounters a problem.

What is Network Driver Interface Specification BSOD?

NDIS BSOD, or blue screen of death, is an error message that is displayed when a computer's networking adapter encounters a problem. This usually occurs when the NDIS driver is corrupted or incompatible with the system. It stops the OS from using any type of network communications protocol.

Software bugs, hardware failure, conflicts with other drivers and issues with the network adapter can cause the NDIS BSOD. Diagnosing the cause of the error can be difficult as the BSOD message often provides limited information about the underlying issue.

This was last updated in March 2023

Continue Reading About NDIS (Network Driver Interface Specification)

Dig Deeper on IT operations and infrastructure management

Cloud Computing
Enterprise Desktop
Virtual Desktop