Remote NDIS (RNDIS)

远程 NDIS (RNDIS) 概述 - Windows drivers | Microsoft DocsRNDIS 使硬件供应商无需为连接到 USB 总线的网络设备编写 NDIS 微型端口驱动程序。icon-default.png?t=LA92https://docs.microsoft.com/zh-cn/windows-hardware/drivers/network/overview-of-remote-ndis--rndis-

远程 NDIS (RNDIS) 是一种独立于总线的类规范,适用于动态即插即用上的网络设备) (802.3 (PnP) 总线,如 USB、1394、蓝牙和自动限制。 远程 NDIS 通过抽象控件和数据通道定义主机计算机和远程 NDIS 设备之间与总线无关的消息协议。 远程 NDIS 的精确度足以允许主机计算机上的远程 NDIS 设备具有与供应商无关的类驱动程序支持。

从 Windows XP 开始,Microsoft Windows 版本包括用于 USB 设备的远程 NDIS 驱动程序。 此 NDIS 微型端口驱动程序 Rndismp.sys 由 Microsoft 实现和维护,并在所有支持的 Windows 版本中进行分发。 可以在%SystemRoot%\System32\drivers 目录中找到该文件。

若要将此驱动程序与 USB 设备一起使用,IHV 必须提供遵循 远程 NDIS INF 模板中的模板的 INF 文件。

远程 NDIS 消息从主机发送到远程 NDIS 设备,远程 NDIS 设备使用适当的完成消息进行响应。 消息也将以未经请求的方式从远程 NDIS 设备发送到主机。

远程 NDIS (RNDIS) 无需硬件供应商为连接到 USB 总线的网络设备编写 NDIS 微型端口设备驱动程序。 远程 NDIS 通过定义独立于总线的消息集并说明此消息集在 USB 总线上的运行方式来实现此目的。 由于此远程 NDIS 接口是标准化的,因此一组主机驱动程序可以支持连接到 USB 总线的任意数目的网络设备。 这大大减少了设备制造商的开发负担,提高了系统的整体稳定性,因为不需要新的驱动程序,并且改进了最终用户体验,因为没有要安装的驱动程序来支持新的 USB 总线连接网络设备。 目前,Microsoft Windows支持通过 USB 进行远程 NDIS。

下图显示了将设备制造商的 NDIS 微型端口与远程 NDIS 微型端口驱动程序和 USB 传输驱动程序组合在一起。 因此,设备制造商可以专注于设备实现,并且不需要开发Windows NDIS 设备驱动程序。

演示远程 ndis 体系结构的示意图。

Microsoft 提供了 NDIS 微型端口驱动程序 Rndismp.sys,该驱动程序实现远程 NDIS 消息集并与通用总线传输驱动程序通信,而通用总线传输驱动程序又与相应的总线驱动程序通信。 此 NDIS 微型端口驱动程序由 Microsoft 实现和维护,并作为该驱动程序的一Windows。

以下远程 NDIS 消息集镜像 NDIS 微型端口驱动程序接口的语义:

  • 初始化、重置和停止设备操作

  • 传输和接收网络数据包

  • 设置和查询设备操作参数

  • 指示媒体链接状态和监视设备状态

Microsoft 还提供一个 USB 总线传输驱动程序,该驱动程序实现用于跨 USB 总线传送远程 NDIS 消息的机制。 此驱动程序在远程 NDIS 微型端口驱动程序和特定于总线的驱动程序(如 USB)之间传输标准化的远程 NDIS 消息。 还需要特定于总线的驱动程序将任何特定于总线的要求(如电源管理)映射到标准化的远程 NDIS 消息。 USB 1.1 和 2.0 的传输驱动程序由 Microsoft 实现和维护,并作为 USB 1.1 和 2.0 的一Windows。

此结构允许将单个设备驱动程序用于具有特定于总线的传输层的任何远程 NDIS 设备。 此外,对于特定总线上的所有网络设备,只需要一个总线传输层。

本部分包含以下其他主题:

远程 NDIS 的优势

远程 NDIS 的概念和定义

远程 NDIS 文件命名约定

远程 NDIS 消息传送

远程 NDIS 设备控制

远程 NDIS INF 模板

远程 NDIS 设备的类型

 

Guess you like

Origin blog.csdn.net/maimang1001/article/details/121632773