NDIS

 NDIS是Network Driver Interface Specification,即网络驱动接口规范。NDIS的主要目的就 是为NIC(网络接口卡,Netwok Interface Cards)制定出标准的API接口。MAC(介质访问控制,Media Access Controller)设备驱动封装了所有的NIC硬件 实现,这样一来所有的使用相同介质的NIC就可以通过通用的编程接口被访问。 NDIS同时也提供一个函数库(又时也称作wrapper),这个库中的函数可以被MAC驱动调用,也可以被高层的协议(例如TCP/IP)驱动调用。这些wrapper函数使得MAC驱动和协议驱动的开发变得更加容易。

 

目录

基本信息
驱动程序
展开
基本信息
驱动程序
  1. 网卡驱动程序(NICdrivers)
  2. 中间驱动程序
  3. 协议驱动程序
收起
 

编辑本段基本信息

NDIS(NetworkDriverInterfaceSpecification)是 网络驱动程序接口规范的简称。它横跨 传输层、 网络层和 数据链路层,定义了网卡或网卡驱动程序与 上层协议驱动程序之间的 通信接口规范,屏蔽了底层物理 硬件的不同,使上层的协议驱动程序可以和底层任何型号的网卡通信。
NDIS为网络 驱动程序创建了一个完整的开发环境,只需调用NDIS函数,而不用考虑 操作系统的内核以及与其他驱动程序的接口问题,从而使得网络驱动程序可以从与操作系统的复杂通讯中分离,极大地方便了网络驱动程序的编写。另外,利用NDIS的封装特性,可以专注于一层驱动的设计,减少了设计的复杂性,同时易于扩展 驱动程序栈。

编辑本段驱动程序

NDIS支持三种类型的网络驱动程序:

网卡驱动程序(NICdrivers)

网卡 驱动程序是网卡与上层驱动程序通信的接口,它负责接收来自上层的数据包,或将数据包发送到上层相应的驱动程序,同时它还完成处理中断等工作。

中间驱动程序

(InterMediateProtocolDrivers):中间 驱动程序位于网卡驱动程序和协议驱动程序之间,它向上提供小端口(Minport)函数集,向下提供协议(protocol)函数集,因此对于上层驱动程序而言,它是小端口驱动程序。对于底层的 驱动程序,它是协议驱动程序。

协议驱动程序

(UpperLevelProtocolDrivers):协议驱动 程序执行具体的 网络协议,如 IPX/SPX、TCP/IP等。协议 驱动程序为 应用层客户程序提供服务,接收来自网卡或中间驱动程序的信息。
 
 
开放分类:

你可能感兴趣的:(NDIS)