Remote Network Driver Interface Specification (RNDIS) - KhepriHuang/Documentation GitHub Wiki
它是由微軟制定的規範,因為手機使用用得較多,因此LINUX也在驅動中相容這個規範 (PS:Android手機這個功能幾乎是標配,而手機需要支援的功能FAT,RNDIS,MTP(媒體傳輸協議),都是MS的專利,這幾張牌成了MS向Android手機制造產家收取專利費的重要武器,三星已經交了錢了) ???
https://www.itread01.com/content/1548534630.html
A USB Remote NDIS device is implemented as a USB Communication Device Class (CDC) device with two interfaces. A Communication Class interface, of type Abstract Control, and a Data Class interface combine to form a single functional unit representing the USB Remote NDIS device. The Communication Class interface includes a single endpoint for event notification and uses the shared bidirectional Control endpoint for control messages. The Data Class interface includes two bulk endpoints for data traffic.
control channel: The communication channel on the bus transport between the host and the device on which control messages are sent.
control message: A message used to control the device.
data channel: The communication channel on the bus transport between the host and the device on which networking data is sent and received.
data message: A message containing the network packet data.
NDIS: Network Driver Interface Specification, which allows different networking components of an operating system to interoperate with one another, including the device drivers for the networking devices connected to the system.
OID: Object Identifier: A 4-byte integer used to identify a specific property of the device, as specified by the host operating system.
RNDIS is a message-based protocol that can be implemented over any external bus transport such as USB. The bus should be capable of supporting separate control and data channels that are reliable and should offer sequential delivery of messages between the host and the device.
The REMOTE_NDIS_PACKET_MSG message is the only message exchanged over the data channel, and the rest of the messages are control messages. All multibyte values are represented in little-endian byte order.
Software stack on Windows
[MS-RNDIS].pdf v5.0 https://docs.microsoft.com/en-us/windows-hardware/drivers/network/remote-ndis--rndis-2