Jump to content

RNDIS: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
No edit summary
Line 1: Line 1:
{{Refimprove|date=October 2011}}
{{Refimprove|date=October 2011}}
The '''Remote Network Device Interface Specification (RNDIS)''' is a [[Microsoft]] [[proprietary protocol]] used mostly on top of [[USB]]. It provides a virtual [[Ethernet]] link to most versions of the [[Microsoft Windows|Windows]] operating system. A partial RNDIS specification is available from Microsoft, but Windows implementations have been observed to issue requests not included in that specification, and to have undocumented constraints.<ref>See, for example, {{Citation | title = comments in the host-side Linux implementation | url=http://lxr.linux.no/#linux+v3.4.4/drivers/net/usb/rndis_host.c#L31}}</ref> In addition, the protocol is tightly coupled to Microsoft's programming interfaces and models, most notably the [[Network Driver Interface Specification|Network Driver Interface Specification (NDIS)]], which are alien to operating systems other than Windows. These issues complicate third-party implementations. Both FreeBSD and OpenBSD natively support RNDIS.
The '''Remote Network Driver Interface Specification (RNDIS)''' is a [[Microsoft]] [[proprietary protocol]] used mostly on top of [[USB]]. It provides a virtual [[Ethernet]] link to most versions of the [[Microsoft Windows|Windows]] operating system. A partial RNDIS specification is available from Microsoft, but Windows implementations have been observed to issue requests not included in that specification, and to have undocumented constraints.<ref>See, for example, {{Citation | title = comments in the host-side Linux implementation | url=http://lxr.linux.no/#linux+v3.4.4/drivers/net/usb/rndis_host.c#L31}}</ref> In addition, the protocol is tightly coupled to Microsoft's programming interfaces and models, most notably the [[Network Driver Interface Specification|Network Driver Interface Specification (NDIS)]], which are alien to operating systems other than Windows. These issues complicate third-party implementations. Both FreeBSD and OpenBSD natively support RNDIS.


The USB Implementers Forum ([[USB-IF]]) defines at least three non-proprietary USB Communications Device Class ([[Communications Device Class|CDC]]) protocols with comparable "virtual Ethernet" functionality; one of them (CDC-ECM) predates RNDIS and is widely used for interoperability with non-Microsoft operating systems, but it has no native Windows support.
The USB Implementers Forum ([[USB-IF]]) defines at least three non-proprietary USB Communications Device Class ([[Communications Device Class|CDC]]) protocols with comparable "virtual Ethernet" functionality; one of them (CDC-ECM) predates RNDIS and is widely used for interoperability with non-Microsoft operating systems, but it has no native Windows support.

Revision as of 06:24, 1 June 2014

The Remote Network Driver Interface Specification (RNDIS) is a Microsoft proprietary protocol used mostly on top of USB. It provides a virtual Ethernet link to most versions of the Windows operating system. A partial RNDIS specification is available from Microsoft, but Windows implementations have been observed to issue requests not included in that specification, and to have undocumented constraints.[1] In addition, the protocol is tightly coupled to Microsoft's programming interfaces and models, most notably the Network Driver Interface Specification (NDIS), which are alien to operating systems other than Windows. These issues complicate third-party implementations. Both FreeBSD and OpenBSD natively support RNDIS.

The USB Implementers Forum (USB-IF) defines at least three non-proprietary USB Communications Device Class (CDC) protocols with comparable "virtual Ethernet" functionality; one of them (CDC-ECM) predates RNDIS and is widely used for interoperability with non-Microsoft operating systems, but it has no native Windows support.

Notes and references

  1. ^ See, for example, comments in the host-side Linux implementation

Remote NDIS (RNDIS) and Windows