LinuxでUSBを介してTCP / IPを実行する最良の方法


10

唯一の接続オプションとして複数のUSB 2.0ポートを備えた2つのLinuxマシン間にTCP / IPリンクを確立したい。ホストポートとスレーブポートの両方が利用できるので、簡単なUSBケーブルでそれらを接続できます。そのケーブルを介してTCP / IPを転送する可能性はどのようなものであり、最高の帯域幅を実現するにはどのケーブルを使用すればよいですか?

これまでのところ、ADB(Android Debug Bridge)転送を試しましたが、スループットが低く、30〜40Mbpsしかありません。専用ドライバを使用して少なくとも150〜200 Mbpsを達成できるはずだと思います。USBハードドライブは、理論的に利用可能な480から240〜280 Mbpsでファイルを移動することがあります。


1
あなたは2つのUSBネットワークカードを手に入れ(ギガビットカードを手に入れることができますが、それらはフルスピードで最大になりません)、通常のネットワークスタックを使用するだけです。
マークヘンダーソン2013年

コストが高くなり、オーバーヘッドが増えます。
jons34yp 2013年

1
まあ、あなたは予算要件についての質問で何も言及していませんでした、そしてそれらはオーバーヘッドかもしれませんが、それは40Mbpsより速くなるでしょう。
マークヘンダーソン2013年

マスターポートとスレーブポートの両方が利用可能であるとはどういう意味ですか?PCにはマスターポートしかありません。
psusi 2013年

1
@MarkHenderson- 「2つのUSBネットワークカードを取得する」 -裸のPCB(プリント回路基板)ではなくなった場合、(正しく)「カード」とは呼ばれません。収納すると、モジュールまたはアダプターになります。そうでなければ、同意しますが、USB-to-Ethernetアダプタのペアが最も簡単な(そしておそらく「最良の」)ソリューションです。「最高」が「最速」を意味しない限り。
おがくず2013年

回答:


11

Ethernet over USBドライバーはLinuxに含まれています。関連するホストサイズのドライバーは、CDC_ETHERとRNDISです。それらのスレーブサイズの対応物(基本的にソフトウェアでUSB-Ethernetブリッジをエミュレートする)は、USB_ETH、USB_ETH_RNDISです。USB_G_ANDROIDはRNDISプロトコルもサポートします。これは、問題のデバイスがAndroidカーネルを使用しているため、ドライバーがデフォルトで有効になっているため、私の場合には最適です。

USB_G_ANDROIDドライバを使用して測定されたUSBブリッジの帯域幅は、ホストからスレーブまで約130 Mbps、逆方向で約90 Mbpsです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.