リモートネットワークドライバインターフェース仕様(RNDIS)は、主にUSB上で使用されているMicrosoft 独自のプロトコルです。[1] Windows、Linux、FreeBSDオペレーティングシステムのほとんどのバージョンに仮想イーサネットリンクを提供します。部分的なRNDIS仕様の複数の改訂版がMicrosoftから入手できますが、Windows実装では、その仕様に含まれていない要求を発行したり、文書化されていない制約があることが観察されています。[2]
このプロトコルは、Microsoft のプログラミング インターフェイスおよびモデル、特にNetwork Driver Interface Specific (NDIS) と密接に結合しており、これらは Windows 以外のオペレーティング システムには馴染みがありません。このため、Microsoft 以外のオペレーティング システムで RNDIS を実装するのは複雑です ( [引用が必要]) 。ただし、Linux、[3] FreeBSD、[4] NetBSD [5]、OpenBSD [6]ではRNDIS がネイティブに実装されています。
USB Implementers Forum (USB-IF)は、同等の「仮想イーサネット」機能を備えた、少なくとも 3 つの非独自のUSB 通信デバイス クラス(USB CDC) プロトコルを定義しています。そのうちの 1 つ (CDC-ECM) は RNDIS より古く、Microsoft 以外のオペレーティング システムとの相互運用性のために広く使用されていますが、Windows では動作しません。
AndroidのほとんどのバージョンにはRNDIS USB機能が含まれています。たとえば、Samsungのスマートフォンには、USB経由でRNDISを使用する機能があり、ホストPCを携帯電話またはWi-Fiネットワークに接続する仮想イーサネットカードとして動作し、モバイルホットスポットテザリング用のモバイルブロードバンドモデムまたはワイヤレスカードとして効果的に機能します。[7]
論争
2022年には、信頼できないUSBデバイスが存在すると本質的に安全ではないとして、LinuxからRNDISのサポートを削除すべきだとの提案があった。[8] Androidは「何年も前から」RNDISを削除しているという主張があったが、Google Pixel 6以降を除いて、2024年以前にリリースされたAndroidデバイスのほとんど、あるいはすべては、Windows 7などの古いシステムでドライバーフリーのエクスペリエンスを維持するために、依然としてRNDISを使用している。[9] [10]
参照
- USB経由イーサネット
- Qualcomm MSM インターフェース- Qualcomm 独自の代替品
参考文献
- ^ 「MS-RNDIS リモート ネットワーク ドライバー インターフェイス仕様 (RNDIS) プロトコル、リビジョン 5.0」(PDF)。Microsoft Corporation。2014 年 5 月 1 日。2022年3 月 11 日に閲覧。
- ^ 例えば、ホスト側のLinux実装のコメントを参照してください。
- ^ 「kernel/git/torvalds/linux.git - Linuxカーネルソースツリー」。git.kernel.org。
- ^ "[base] リビジョン 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 は 2024 年に RNDIS ドライバーを無効にする作業を継続中 - Phoronix フォーラム ページ 2」。2024 年 2 月 19 日。
- ^ 「Linux、MicrosoftのRNDISプロトコルのドライバーを無効にする準備中 - Phoronixフォーラム」。2023年1月10日。
外部リンク
- リモート NDIS (RNDIS) の概要
