web-dev-qa-db-ja.com

マザーボード上の2つのイーサネットポート。帯域幅を2倍にするにはどうすればよいですか?

直接質問:私のevga分類マザーボードには2つのイーサネットポートがあります。これらを同時に使用して、リモート接続の速度を向上させたい。 (リモートプログラミングの場合)。どうすればいいですか?現在/ etc/network/interfaces:

auto lo eth0 eth1

iface lo inet loopback

iface eth0 inet static
address 192.168.1.202
netmask 255.255.255.0
gateway 192.168.1.2

ifrace eth1 inet static
address 192.168.1.201
netmask 255.255.255.0

何を変更すればよいですか? 2つのチャネルを結合するためにインストールする必要があるパッケージはありますか。

背景:自宅からオフィス、オフィスから自宅の両方で、多くのリモートコンピューティングを行っています。しかし、(ISPを式から外すために)同じ(ローカル)ネットワーク上の2台のコンピューター間のファイル転送速度を最大化することに本当に興味があるかのように質問を組み立てましょう。両方のボックスにデュアルイーサネットマザーボードがあります。シンプルなLinksys WRT54GSを5ポートスイッチとして使用する(ワイヤレスとispを無視する)-コンピューター間の転送速度を最大化するにはどうすればよいですか?

注意:負荷分散に興味がない-間違っている場合は修正しますが、2つのチャネルを結合して、ボックス 2倍の速さの1つの接続があるかのように表示されます

16
M. Tibbits

NICチーミング機能を利用するには、接続しているスイッチがLACPとも呼ばれるチーミングをサポートする必要があることに注意することが重要です。 NewEgg.comなどで検索すると、そのようなスイッチを見つけることができます。

ここにウィキからの簡単なガイドがあります: https://help.ubuntu.com/community/UbuntuBonding

幸運を!

3
NetNinja

インターフェイスを結合しても速度が向上することはほとんどありません。通常、インターフェースを正常にボンディングし、イーサチャネルをサポートするようにスイッチを構成した場合でも、ソース/宛先TCP/UDPセッションのペアごとに、ボンディング内の1つのインターフェースのみが使用されていることがわかります。

したがって、1つのサーバーから10Gbファイルをコピーしてから、キックオフanother10Gbコピーをそのサーバーに、セッションベースのボンディングもあると仮定すると、両方のカードが上限に達しています。しかし、決定的なことに、最初のコピーは両方ではなく1枚のネットワークカードのみを使用します。

これは確かにシスコのイーサチャネルの場合です。実際、Ciscoのイーサチャネルはセッションベースでもソース/宛先ベースでもないため、上記の例では速度を上げることすらできません。2番目のコピーは、両方を見る前に完全に異なるサーバーにある必要があります。使用したカード。おそらく、1つのTCP/UDPセッションでポートチャネルが両方のカードを同時に使用できるようにするより良いスイッチがありますが、かなりファンキーなarp/MAC操作が必要です。Linuxのボンディングモジュールがそれをサポートしているかどうかはわかりません。

あなたに関しては、湿地標準のホームルーターを使用しているので、ここではスイッチ側のサポートは問題外です。つまり、オプションはさらに制限されます(以下の最初の記事を参照してください。リンクアグリゲーションに最適なモード、モード4)を使用することはできません。

これを続行することに決めた場合、 この5年前の記事 が見つかりました。さらに、 この3年前の記事 は同じことを扱っています。

それが役に立てば幸い。

13
Scaine

ギガビットNICを使用しているかどうかは言わなかったと思いますが、NICが2つあるため、おそらくゲーミングマザーボードであると思われます。

そのため、2x100ベースを取得しようとしている場合は、安価な4-8ポートギガビットスイッチを購入してインターネットルーターに接続することをお勧めします。次に、イーサネットを実行するすべてのコンピューターをそのスイッチに接続し、すべてのコンピューターで無線LANとインターネットが機能するようにします。

Netgear WNDR3400を購入し、DD-WRTを装着して、最新のNASサーバーを含むいくつかのNiceオプションを使用できるようにしたので、私は今それを行います。

唯一の問題は、ルーターがイーサネットポートの100ベースであったことです。 40ドルでルーターに接続した5ポートギガビットスイッチを購入し、すべてのコンピューターをギガビットスイッチに接続し、ゲームコンソールをルーターに接続しました。

すべてがうまく機能し、コンピューター間で超高速でファイルを転送できます。

では、頑張ってね!

2
William

スイッチを経由すると、2本のイーサネットケーブルを並行して使用することで得られるメリットが制限されると思います。スイッチが2つのNICを組み合わせたよりも高速でない場合、その場合は速度が向上する可能性があります。

負荷分散プログラムはあなたが探しているものです。したくない場合は「負荷分散」する必要はありませんが、それは私が知っている接続をマージする最も簡単な方法。アイデアはそれほど複雑ではありません

仮想NIC->負荷分散プログラム-> NIC 1 + 2

この答えには、あなたが探しているものがあります: Network Managerとのネットワーク負荷分散

詳細についてはわかりませんが、それが一般的な考えだと確信しています。

NICカードがルーター/スイッチよりも大幅に強力でない限り、おそらく2つのコンピューター間の直接接続、または全体の並列接続を使用することで得られる唯一の利点があります。しかし、理論と実践が常にうまくいくとは限りません。

NICがシステムのボトルネックであるかどうかをテストする唯一の方法は、4つのNICすべてを使用して各コンピューター間で速度テストを実行することです。これを行う方法に関する一般的なアイデアをお伝えできますが、Ubuntu固有の機能は必要です。

  1. 各NICに、コンピューター1の場合は192.168.0.1 + 192.168.0.2、コンピューター2の場合は* .3 + * .4などの独自のIPアドレスを設定します。
  2. 私が見たローカルネットワークの唯一の速度テストは、ビットファイルの転送時間です。より良い方法があるかどうかはわかりませんが、見たことはありません。

    3 * .1が* .3に到達するためのインターフェースであり、*。2が* .4に到達するために、ルートを手動で設定します.
    PC1 192.168.0.1 <-> 192.168.0.3 PC2 192.168.0.2 <-> 192.168.0.4

IPテーブルを使用したことがないので、ここに例を示します。

[root]# ip route add xx.xxx.239.120 via xx.xxx.239.120 dev eth0 table 4
[root]# ip route add table 4 default via xx.xxx.239.120 
[root]# iptables -t mangle -A PREROUTING -p tcp --dport 80 -s xx.xxx.239.120 -j MARK --set-mark 4 
[root]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source xx.xxx.239.120 [root]# ip rule add fwmark 4 table 4
  1. 別のオプションは、ssh(または端末)クライアントが特定のインターフェースを介して接続する方法を見つけることです。それがクライアント側でどのように行われているかはわかりません。

IPテーブルが正しく設定されていれば、PC 1からPC 2の両方のインターフェイスに2つのファイルを送信でき、各ファイルは異なるルートを使用できます。 2つの接続での転送が1つだけの場合よりも高速である場合(できれば2倍の速度)、何かがある可能性があります。

2
WalterJ89

管理されていないスイッチを介して接続された両方のデバイスでポートボンディングとラウンドロビンポリシーを使用すると、実際には転送速度がほぼ2倍になります。ラウンドロビンポリシーは、デフォルトで複数のデバイスの負荷分散を行い、1つのデバイスに障害が発生した場合はシングルポートにフォールバックします。

ただし、WRT54GSはルーターであるため管理されているため、ボンディングのメリットを十分に活用できないと思います。

RRポリシーをサポートする安価な8ポートの真のスイッチを使用し、それをルーターに接続すると仮定すると、スイッチを介したボンディングと、インターネットおよびその他のネットワークへの通常の転送速度を使用して、2つのデバイス間の転送速度が向上します通信網。

また、読み取り/書き込みバッファ、txqeueuelen、ネットコアおよびtcpメモリを増やす必要があります。

1
Stuart K. Smith

Firehoseと呼ばれるライブラリがあり、複数のネットワークデバイスを介して同時にデータを転送できます。ただし、単一の仮想ネットワークデバイスは提供されず、TCPはサポートされません。ビデオ編集者向けの高帯域幅ビデオストリーミング用に設計されています。あなたに興味深いかもしれません:

http://heroinewarrior.com/firehose.php

1
Alistair Buxton

私は同様の状況に直面し、これを見つけました:

http://ubuntulinuxhelp.com/how-to-use-the-second-network-port-on-your-computer/

しかし、やや古い、それが役立つことを願っています。

1
Rahul Prasad