USB RNDIS/CDC White Paper

by January 15, 2003
Original PDF Bruce Balden, CTO

1 Introduction
Many of today's and almost all of tomorrow's smart peripherals (PDAs, cell phones, pagers, GPS, etc.) have adopted the USB device port for communications with host systems. While many first generation units use USB for a minimal serial link (using proprietary protocols in many cases), the USB link is more and more being construed to be a tiny Ethernet segment, bringing higher speeds and greater flexibility. We suggest strongly that a smart peripheral, of whatever kind, should therefore adhere to popular protocols for Ethernet-like networking over USB.

1.1 USB and Ethernet
When initially considered, Ethernet over USB was aimed at the replacement of standard Ethernet cards or peripheral chips attached to the ISA (and later PCI) bus of the host system. In most host systems, especially today's desktop OS based systems, the addition of an actual Ethernet port connector via USB turns out to be one of the last uses of Ethernet over USB. Instead, the Ethernet protocol has been called upon to directly connect peripherals which don't have a hardware Ethernet port on them at all, to PC systems which already have a hardware Ethernet port in use for other things (typically LAN/WAN connection.) This “native” Ethernet is hardwired on the mother board or still on an add-on card – but is now shipped almost by default as the Internet and Ethernet have become the de facto standards for LAN connections in the time since USB was first proposed in the mid ‘90s.

The fact that Ethernet (and most often TCP/IP as well) is being used in this fashion brings complications to its use as the protocol for additional peripherals. As noted below, Belcarra, with our extended background in TCP/IP, has identified a number of areas where not only basic USB problems exist, but also TCP/IP problem areas; and we offer a number of unique solutions to these problem areas such as local DHCP service and 802.1 bridging.

1.2 Two “Standards”
There are two standards for Ethernet over USB, one de facto, and the other issued by the USB Forum.

The de facto and preferred standard, because it is officially supported by Microsoft, is Remote NDIS (RNDIS). Any modern smart peripheral should offer this protocol to host PC's whenever possible.

The de jure standard, issued by the USB Forum, is known as CDC Ethernet.

Each of these standards imposes requirements on the UDC . A particular UDC may meet the requirements of: 

 both RNDIS and CDC Ethernet
 
 RNDIS only
 
 CDC Ethernet only
 
 neither RNDIS nor CDC Ethernet

For more limited UDCs a variant of CDC Ethernet known as SAFE can be used.

This white paper introduces Belcarra Technologies' RNDIS/CDC software. This software package is an add-on to the Linux USB Device Framework. This product provides a USB device-side implementation (specifically a function module) of the full range of these protocols: 

 RNDIS
 
 CDC Ethernet
 
 SAFE.

...

转自,  http://www.cnblogs.com/nasiry/archive/2006/05/12/397889.html





你可能感兴趣的:(技术)