NDIS(网络驱动器接口规范)是Windows的通信协议程序(比如TCP/IP)和网络设备驱动器之间通信的规范。
NDIS为下面几种规定了接口:
1.通过从叫做帧的格式化单位(有时叫信息包或数据包)发送和接收提取数据的程序。这个程序通常叫做协议堆栈,通常它是开放式系统互连参考模型(OSI)的第三或者第四层(网络寻址和传输层)。例子是TCP/IP和Internet网络信息包交换。
2.设备驱动程序,它直接和网络接口卡(NIC)或者其他硬件适配器交互,这些设备以电信号的形式在通信线路上接受和发送数据。驱动程序和NIC在数据链路控制(MAC地址)层的媒体访问子层交互。(把信号放在线路上的是1层或者OSI的物理层)。MAC驱动程序的例子是那些以太网,光纤分布式数据接口和令牌网的驱动程序。
3.协议管理器程序,在系统启动或者添加了新设备的时候这个程序告诉每个辅助协议堆栈程序和MAC驱动程序其他计算机的位置。这是所谓的绑定。系统文件PROTOCOL.INI确定协议堆栈使用的MAC驱动程序和他们的位置。在一台计算机连接入多个网络的时候,一个协议堆栈可以用于多个MAC驱动程序。一个单独的MAC驱动程序也能绑定到一台计算机的多个协议堆栈里。NDIS是由微软和3Com开发的。使用NDIS,Windows软件开发者可以为任何硬件开发商的通信适配器开发针对MAC驱动程序的协议堆栈。通过同样的方法,任何一个适配器厂商都可以编写适用于任何协议堆栈程序的MAC驱动程序软件。一个类似的接口程序叫做开放数据连接接口(ODI),它用于Novell的NetWare局域网开放系统。最新的NDIS版本NDIS 5.0规定了Windows 98和Windows NT 5.0的接口。在它里面为新型的微型端口设备模型确立了即插即用设备的特征。