Ethernet через USB

редактировать

Ethernet через USB означает использование USB в качестве сети Ethernet. Но это также можно интерпретировать как некоторое устройство Ethernet, подключенное через USB (вместо, например, PCI или PCIe ).

Содержание
  • 1 Протоколы
  • 2 Драйвер для Linux
  • 3 Поставщики
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
Протоколы

Там - это многочисленные протоколы для создания сетей в стиле Ethernet через USB. Основная мотивация этих протоколов - обеспечить независимый от приложений обмен данными с USB-устройствами вместо специализированных протоколов, таких как видео или MTP. Несмотря на то, что USB не является физическим Ethernet, сетевые стеки всех основных операционных систем настроены для передачи кадров IEEE 802.3, не заботясь о том, что на самом деле представляет собой основной транспорт.

Основные отраслевые протоколы (в хронологическом порядке): Remote NDIS (RNDIS, протокол поставщика Microsoft), модель управления Ethernet (ECM), модель эмуляции Ethernet (EEM) и сеть. Модель управления (NCM). Последние три являются частью более крупной группы протоколов класса устройств связи (CDC) на форуме Форума разработчиков USB (USB-IF). Их можно загрузить с USB-IF (см. Ниже). Спецификация RNDIS доступна на веб-сайте Microsoft. Что касается стандартов де-факто, некоторые стандарты, такие как ECM, определяют использование ресурсов USB, которых не было в ранних системах. Однако незначительные модификации стандарта, так называемые подмножества, делают возможной практическую реализацию на таких платформах. Примечательно, что даже некоторые из самых современных платформ нуждаются в незначительных приспособлениях, и поэтому поддержка этих подмножеств все еще необходима.

Из этих протоколов ECM является самым простым - кадры просто отправляются и принимаются без модификации по одному. Это была хорошая стратегия для систем USB 1.1 (текущих на момент выпуска протокола) с 64-байтовыми пакетами, но не для систем USB 2.0, которые используют 512-байтовые пакеты.

Проблема в том, что кадры Ethernet имеют размер около 1500 байт - примерно 3 пакета USB 2.0 и 23 пакета USB 1.1. В зависимости от того, как работает система USB, каждый пакет отправляется как передача, серия пакетов максимальной длины, заканчивающаяся коротким пакетом или специальным ZLP (пакетом нулевой длины). После этого возникает задержка шины, когда ничего не отправляется, пока не будет инициирована другая передача. Это снижает загруженность шины, а это означает, что в течение значительной части времени в автобусе ничего не отправляется. Разрыв каждые 23 кадра незаметен, но разрыв каждые три кадра может быть очень дорогостоящим для пропускной способности.

По мере того, как USB становится быстрее, устройства также становятся все более голодными по данным, и поэтому теперь существует потребность в отправке больших объемов данных - либо для хранения на устройстве, либо для передачи по беспроводным каналам (см. Долгосрочное развитие 3GPP ).

Поскольку новые устройства, хотя и быстрее, чем раньше, по-прежнему имеют гораздо меньшую мощность, чем настольные ПК, возникает проблема осторожной обработки данных, чтобы максимально использовать ресурсы DMA на устройстве и минимизировать (или исключить) копирование. данных (нулевая копия). В протоколе СМСС для этого есть подробные положения. См. Ссылку ниже для тщательного сравнения протоколов.

Драйвер для Linux

Модуль USB-eth в Linux делает компьютер, на котором он работает, разновидностью устройства Ethernet, использующего USB в качестве физического носителя. Он создает сетевой интерфейс Linux, которому можно назначить IP-адрес и который в остальном обрабатывать так же, как настоящий интерфейс Ethernet. Любые приложения, которые работают через реальные интерфейсы Ethernet, будут работать через интерфейс USB-eth без изменений, потому что они не могут сказать, что они не используют настоящее оборудование Ethernet.

На хостах Linux соответствующий Ethernet-over -USB-модуль ядра называется usbnet. Сетевой драйвер Bahia - это драйвер в стиле usbnet, доступный для хостов Win32.

Подход позволяет устройствам с очень ограниченным оборудованием связи работать в IP-сетях. Ядро Linux для iPAQ использует исключительно эту коммуникационную стратегию, поскольку оборудование iPAQ не имеет ни доступного устаревшего последовательного порта (RS-232 / RS-422 ), ни выделенного сетевого интерфейса.

Провайдеры

SEGGER обеспечивают реализацию IP через USB для USB-устройств, которая не требует установки каких-либо драйверов на хосте независимо от операционной системы хоста. После запуска USB-соединения программный пакет определяет, к какому хосту он подключен, а затем запускает требуемый класс, RNDIS или CDC-ECM (класс коммуникационного устройства, модель управления Ethernet) и все IP-службы. требуется для работы. Micrium с IS2T совместно обеспечивают реализацию Ethernet через USB, которая может использоваться как на Java, так и на C / C ++.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-19 05:30:53
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте