이더넷 오버 USB

이더넷 오버 USB(Ethernet over USB)는 이더넷 네트워크의 일부로 USB 링크를 사용하여 USB(예: PCI 또는 PCIe 대신)를 통한 이더넷 연결을 제공한다.

USB 오버 이더넷(USB over Ethernet, USB over Network 또는 USB over IP)은 이더넷, 와이파이 또는 인터넷을 통해 USB 기반 장치를 공유하여 네트워크를 통해 장치에 액세스할 수 있는 시스템이다. USB 오버 이더넷 허브를 사용하면 여러 네트워크 장치에서 이 작업을 수행할 수 있다.

프로토콜
USB를 경유한 이더넷 스타일 네트워킹을 위한 다양한 프로토콜이 있다. 이러한 프로토콜을 사용하면 비디오나 MTP(미디어 전송 프로토콜)와 같은 특수 프로토콜 대신 USB 장치와 애플리케이션 독립적으로 데이터를 교환할 수 있다. USB가 물리적 이더넷은 아니지만 모든 주요 운영 체제의 네트워킹 스택은 특정 기본 전송 없이도 IEEE 802.3 프레임을 전송하도록 설정되어 있다.

주요 산업 프로토콜은 원격 NDIS(RNDIS, Microsoft 공급업체 프로토콜), ECM(이더넷 제어 모델), EEM(이더넷 에뮬레이션 모델) 및 NCM(네트워크 제어 모델)이다. 후자의 세 개는 USB-IF(USB Implementers Forum)의 더 큰 CDC(통신 장치 클래스) 프로토콜 그룹의 일부이다. USB-IF에서 다운로드할 수 있다(아래 참조). RNDIS 사양은 마이크로소프트 웹사이트에서 구할 수 있다. 사실상의 표준과 관련하여 ECM과 같은 일부 표준은 초기 시스템에는 없었던 USB 리소스의 사용을 지정한다. 그러나 표준 하위 집합을 약간만 수정하면 이러한 플랫폼에서 실제 구현이 가능해진다. 놀랍게도 일부 최신 플랫폼에도 약간의 조정이 필요하므로 이러한 하위 집합에 대한 지원이 여전히 필요하다.

이러한 프로토콜 중에서 ECM은 가장 간단한 프로토콜로 분류될 수 있다. 즉, 프레임은 수정 없이 한 번에 하나씩 간단하게 전송 및 수신된다. 이는 64바이트 패킷을 사용하는 USB 1.1 시스템(프로토콜이 발행된 당시)에는 만족스러운 전략이었지만 512바이트 패킷을 사용하는 USB 2.0 시스템에는 그렇지 않았다.

한 가지 중요한 문제는 이더넷 프레임의 크기가 약 1500바이트(USB 2.0 패킷 3개, USB 1.1 패킷 23개)라는 것이다. USB 시스템은 전송으로 전송되는 각 패킷, 짧은 패킷 또는 특수 ZLP(0 길이 패킷)로 종료되는 일련의 최대 길이 패킷에 의해 작동한다. 그 후에는 다른 전송이 시작될 때까지 아무 것도 전송되지 않는 버스 대기 시간이 있다. 이는 버스 점유율을 줄여 버스 시간의 상당 부분 동안 아무 것도 전송되지 않음을 의미한다. 23프레임마다의 간격은 눈에 띄지 않지만, 3프레임마다의 간격은 처리량 측면에서 매우 큰 비용이 드는 것으로 볼 수 있다.

USB가 빨라짐에 따라 장치는 더 많은 데이터를 활용하므로 이제 장치에 저장하거나 무선 링크를 통해 중계하기 위해 대량의 데이터를 전송해야 하는 요구가 있다.

이러한 새로운 장치는 여전히 데스크톱 PC보다 전력이 훨씬 낮으므로 장치에서 DMA 리소스 사용을 최대화하고 데이터 복사(제로 복사)를 최소화(또는 제거)하기 위해 신중한 데이터 처리 문제가 발생한다. NCM 프로토콜에는 이에 대한 정교한 조항이 있다.

리눅스 특화 드라이버
리눅스의 USB-eth 모듈은 이를 실행하는 컴퓨터를 USB를 물리적 매체로 사용하는 이더넷 장치의 변형으로 만든다. 이는 IP 주소를 할당하거나 실제 이더넷 인터페이스와 동일하게 처리할 수 있는 리눅스 네트워크 인터페이스를 생성한다. 실제 이더넷 인터페이스를 통해 작동하는 모든 애플리케이션은 수정 없이 USB-이더넷 인터페이스를 통해 작동한다. 이는 적절한 이더넷 하드웨어를 사용하는 것과 부적절한 이더넷 하드웨어를 사용하는 것 사이에 차이가 없기 때문이다.Embedded.com—Linux-based USB Devices

리눅스 호스트에서는 해당 Ethernet-over-USB 커널 모듈을 usbnet이라고 한다. 바히아(Bahia) 네트워크 드라이버는BND—Bahia Network Driver Win32 호스트에서 사용할 수 있는 usbnet 스타일 드라이버이다.

이 접근 방식을 사용하면 통신 하드웨어가 매우 제한된 장치가 IP 네트워크를 통해 작동할 수 있다. iPAQ 하드웨어에는 액세스 가능한 레거시(RS-232/RS-422) 직렬 포트나 전용 네트워크 인터페이스가 없기 때문에 iPAQ용 리눅스 커널은 이 통신 전략을 독점적으로 사용한다.

 각주 

 외부 링크 
 CDC Subclass Specification for Ethernet Emulation Model Devices 1.0

분류:컴퓨터 네트워킹
분류:직렬 버스
분류:USB
분류:이더넷