Спецификация интерфейса удаленного сетевого драйвера ( 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]