From Wikipedia, the free encyclopedia - View original article
|This article needs additional citations for verification. (October 2011)|
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. 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.