РНДИС

Собственный протокол Microsoft

Спецификация интерфейса удаленного сетевого драйвера ( RNDIS ) — это фирменный протокол Microsoft, используемый в основном поверх USB . [1] Он обеспечивает виртуальное соединение Ethernet с большинством версий операционных систем Windows , Linux и FreeBSD . Множество версий частичной спецификации RNDIS доступны от Microsoft, но реализации Windows, как было замечено, выдают запросы, не включенные в эту спецификацию, и имеют недокументированные ограничения. [2]

Протокол тесно связан с программными интерфейсами и моделями Microsoft, в частности со спецификацией сетевого драйвера интерфейса (NDIS), которые чужды операционным системам, отличным от Windows. Это усложняет реализацию RNDIS в операционных системах, отличных от Microsoft, [ требуется ссылка ], но Linux, [3] FreeBSD, [4] NetBSD [5] и OpenBSD [6] реализуют RNDIS изначально.

Форум разработчиков USB (USB-IF) определяет по крайней мере три непатентованных протокола класса устройств USB-связи (USB CDC) с сопоставимой функциональностью «виртуального Ethernet»; один из них (CDC-ECM) появился раньше RNDIS и широко используется для взаимодействия с операционными системами сторонних разработчиков, но не работает с Windows.

Большинство версий Android включают функциональность RNDIS USB. Например, смартфоны Samsung имеют возможность и используют RNDIS через USB для работы в качестве виртуальной карты Ethernet, которая будет подключать хост-компьютер к мобильной или Wi-Fi сети, используемой телефоном, эффективно работая как мобильный широкополосный модем или беспроводная карта для привязки к мобильной точке доступа . [7]

Противоречие

В 2022 году было высказано предположение, что поддержка RNDIS должна быть удалена из Linux, утверждая, что это изначально и неисправимо небезопасно при наличии ненадежных USB-устройств. [8] Хотя в заявлениях говорилось, что Android удалил RNDIS «на протяжении многих лет», большинство, если не все устройства Android, выпущенные до 2024 года, за исключением Google Pixel 6 и новее, по-прежнему используют RNDIS, чтобы сохранить возможность работы без драйверов со старыми системами, такими как Windows 7. [9] [10]

Смотрите также

Ссылки

  1. ^ "MS-RNDIS Remote Network Driver Interface Specification (RNDIS) Protocol, revision 5.0" (PDF) . Корпорация Microsoft. 1 мая 2014 г. . Получено 11 марта 2022 г. .
  2. ^ См., например, комментарии в реализации Linux на стороне хоста.
  3. ^ "kernel/git/torvalds/linux.git - Исходное дерево ядра Linux". git.kernel.org .
  4. ^ "[база] Ревизия 261541". svnweb.freebsd.org .
  5. ^ "'CVS-коммит: src/sys/dev/usb' - MARC". marc.info .
  6. ^ "'CVS: cvs.openbsd.org: src' - MARC". marc.info .
  7. ^ "Galaxy S9 Tactical Edition поддерживает протокол RNDIS" (PDF) .
  8. ^ «USB: отключить все драйверы протокола RNDIS».
  9. ^ "Linux все еще работает над отключением драйверов RNDIS в 2024 году - Форумы Phoronix, страница 2". 19 февраля 2024 г.
  10. ^ «Linux готовится отключить драйверы для протокола RNDIS от Microsoft — форумы Phoronix». 10 января 2023 г.
  • Обзор удаленной NDIS (RNDIS)
Взято с "https://en.wikipedia.org/w/index.php?title=RNDIS&oldid=1258649853"