远程 NDIS (RNDIS)无需硬件供应商为连接到 USB 总线的网络设备编写 NDIS 微型端口设备驱动程序。
主要优势:
- 减轻设备制造商的开发负担
- 提高系统稳定性(无需新驱动程序)
- 更好的最终用户体验(无需安装驱动程序)
- 支持具有一个驱动程序集的多个 USB 网络设备
远程 NDIS 定义一个标准化的与总线无关的消息集,该消息集通过 USB 总线运行。 Microsoft Windows 提供对 USB 上的远程 NDIS 的支持。
下图显示了远程 NDIS 如何替换自定义 NDIS 微型端口驱动程序。 作为设备制造商,你可以专注于设备实现,而不是开发 Windows NDIS 设备驱动程序。
Microsoft提供 NDIS 微型端口驱动程序 Rndismp.sys,该驱动程序实现远程 NDIS 消息集并与通用总线传输驱动程序通信,后者又与相应的总线驱动程序通信。 Microsoft实现和维护此 NDIS 微型端口驱动程序,并将其分发为 Windows 的一部分。
以下远程 NDIS 消息集镜像 NDIS 微型端口驱动程序接口的语义:
- 初始化、重置和停止设备作
- 发送和接收网络数据包
- 设置和查询设备作参数
- 指示媒体链接状态和监视设备状态
Microsoft还提供 USB 总线传输驱动程序,该驱动程序实现一种机制,用于跨 USB 总线传输远程 NDIS 消息。 此驱动程序在远程 NDIS 微型端口驱动程序与特定于总线的驱动程序(例如 USB)之间传输标准化的远程 NDIS 消息。 还需要特定于总线的驱动程序将任何特定于总线的要求(例如电源管理)映射到标准化的远程 NDIS 消息。 Microsoft实现和维护 USB 1.1 和 2.0 的传输驱动程序,并将其分发为 Windows 的一部分。
此结构允许将单个设备驱动程序用于具有特定于总线的传输层的任何远程 NDIS 设备。 此外,特定总线上的所有网络设备只需要一个总线传输层。