РНДИС
Спецификация интерфейса удаленного сетевого драйвера ( RNDIS ) — это Microsoft, собственный протокол используемый в основном поверх USB . [1] Он обеспечивает виртуальное соединение Ethernet с большинством версий операционных систем Windows , Linux и FreeBSD . Несколько версий частичной спецификации RNDIS доступны от Microsoft, но было замечено, что реализации Windows выдают запросы, не включенные в эту спецификацию, и имеют недокументированные ограничения. [2]
Протокол тесно связан с программными интерфейсами и моделями Microsoft, в первую очередь со спецификацией интерфейса сетевых драйверов (NDIS), которые чужды другим операционным системам, кроме Windows. Это усложняет реализацию RNDIS в операционных системах сторонних производителей. [ нужна ссылка ] но Линукс, [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]
См. также
[ редактировать ]- Ethernet через USB
- Интерфейс Qualcomm MSM — собственная альтернатива Qualcomm
Ссылки
[ редактировать ]- ^ «Протокол интерфейса удаленного сетевого драйвера MS-RNDIS (RNDIS), версия 5.0» (PDF) . Корпорация Майкрософт. 1 мая 2014 года . Проверено 11 марта 2022 г.
- ^ См., например, комментарии в реализации Linux на стороне хоста
- ^ «kernel/git/torvalds/linux.git — дерево исходного кода ядра Linux» . git.kernel.org .
- ^ «[базовая] Редакция 261541» . svnweb.freebsd.org .
- ^ « 'CVS-фиксация: src/sys/dev/usb' — MARC» . marc.info .
- ^ " 'CVS: cvs.openbsd.org: src' - MARC" . marc.info .
- ^ «Galaxy S9 Tactical Edition поддерживает протокол RNDIS» (PDF) .
- ^ «USB: отключить все драйверы протокола RNDIS» .
- ^ «Linux все еще работает над отключением драйверов RNDIS в 2024 году — Форумы Phoronix, страница 2» .
- ^ «Linux готовится отключить драйверы для протокола Microsoft RNDIS — Форумы Phoronix» .