it-swarm.com.de

Zwei Ethernet-Anschlüsse auf der Hauptplatine. Wie kann ich die doppelte Bandbreite bekommen?

Direkte Frage: Mein evga klassifiziertes Motherboard hat zwei Ethernet-Ports. Ich möchte sie gleichzeitig verwenden, um die Geschwindigkeit einer Remote-Verbindung zu verbessern. (Yay für die Programmierung aus der Ferne). Wie mache ich das? Derzeit/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

Was soll ich ändern? Muss ich ein Paket installieren, um die beiden Kanäle zu verbinden?.

Hintergrund: Ich mache viel Remote-Computing von zu Hause nach zu Hause und von Büro zu Büro nach zu Hause. Aber (um meinen ISP aus der Gleichung herauszunehmen), lassen Sie uns die Frage so formulieren, als ob ich wirklich nur daran interessiert bin, die Dateiübertragungsrate zwischen zwei Computern im selben (lokalen) Netzwerk zu maximieren. Beide Boxen haben zwei Ethernet-Motherboards. Verwenden eines einfachen Linksys WRT54GS als 5-Port-Switch (ignorieren Sie WLAN und ISP) - wie kann ich die Übertragungsraten zwischen den Computern maximieren?

Bitte beachten Sie: Ich bin nicht am Lastenausgleich interessiert - Korrigieren Sie mich, wenn ich falsch liege, aber ich möchte die beiden Kanäle miteinander verbinden, so dass die Box Es erscheint , als hätte es eine Verbindung, die doppelt so schnell ist.

16
M. Tibbits

Um die Teaming-Funktionalität von NIC nutzen zu können, muss der Switch, über den Sie verbunden sind, Teaming, auch bekannt als LACP, unterstützen. Sie können einen solchen Schalter über eine Suche auf NewEgg.com usw. finden.

Sobald Sie das haben, ist hier eine einfache Anleitung aus dem Wiki: https://help.ubuntu.com/community/UbuntuBonding

Viel Glück!

3
NetNinja

Es ist sehr unwahrscheinlich, dass das Verbinden Ihrer Schnittstellen zu einer Geschwindigkeitssteigerung führt. Selbst wenn Sie die Schnittstellen erfolgreich verbinden UND den Switch so konfigurieren, dass er den Etherchannel unterstützt, stellen Sie normalerweise fest, dass nur eine Schnittstelle in der Verbindung für jedes Paar von Quell-/Ziel-TCP/UDP-Sitzung verwendet wird.

Wenn Sie also eine 10-GB-Datei von einem Server kopieren, starten Sie eine weitere 10-GB-Kopie auf diesen Server, vorausgesetzt, Sie verfügen auch über eine sitzungsbasierte Bindung. ' Ich sehe, dass beide Karten voll sind. Entscheidend ist jedoch, dass die erste Kopie nur EINE Netzwerkkarte verbraucht, nicht beide.

Dies ist mit Sicherheit bei Ciscos Etherchannel der Fall. Tatsächlich basiert Ciscos Etherchannel nicht einmal auf einer Sitzung, sondern auf einer Quelle/einem Ziel. In meinem obigen Beispiel würden Sie also nicht einmal eine Geschwindigkeitssteigerung erzielen - Ihre zweite Kopie müsste sich auf einem völlig anderen Server befinden, bevor Sie beide gesehen haben Karten verwendet. Vielleicht haben Sie einen besseren Switch, der es dem Port-Kanal ermöglicht, beide Karten gleichzeitig in einer TCP/UDP-Sitzung zu nutzen, aber es würde eine ziemlich flippige Arp/MAC-Manipulation erfordern, und ich habe keine Ahnung, ob das Bonding-Modul in Linux dies unterstützt.

Was Sie betrifft, verwenden Sie einen Standard-Heimrouter, sodass die Unterstützung auf der Switch-Seite hier nicht in Frage kommt. Dies bedeutet, dass Ihre Optionen weiter eingeschränkt sind (siehe den ersten Artikel weiter unten, in dem Sie dies jetzt bemerken werden kann nicht den besten Modus für die Link-Aggregation verwenden, Modus 4).

Wenn Sie entschlossen sind, damit fortzufahren, habe ich diesen fünf Jahre alten Artikel gefunden, der immer noch relevant zu sein scheint. Darüber hinaus behandelt dieser drei Jahre alte Artikel den gleichen Grund.

Ich hoffe es hilft.

13
Scaine

Ich glaube nicht, dass Sie gesagt haben, ob Sie eine Gigabit-Netzwerkkarte verwendet haben oder nicht. Vermutlich haben Sie zwei Netzwerkkarten und daher wahrscheinlich ein Gaming-Motherboard.

Da dies der Fall ist, sollten Sie einen billigen 4-8-Port-Gigabit-Switch kaufen und an Ihren Internet-Router anschließen, wenn Sie versuchen, eine Basis von 2x100 zu erhalten. Dann können Sie alle Computer, auf denen Ethernet ausgeführt wird, an diesen Switch anschließen und trotzdem auf allen Ihren Computern über WLAN und Internet verfügen.

Ich mache das jetzt, weil ich mir einen Netgear WNDR3400 gekauft und DD-WRT draufgesetzt habe, damit ich ein paar nette Optionen haben kann, einschließlich eines sehr aktuellen NAS Servers.

Das einzige Problem war, dass der Router 100 Base auf den Ethernet-Ports war. Also kaufte ich für 40 USD einen 5-Port-Gigabit-Switch, steckte ihn in meinen Router und dann steckte ich alle meine Computer in den Gigabit-Switch und steckte meine Spielekonsolen in den Router.

Alles funktioniert super und ich kann blitzschnell Dateien zwischen den Computern übertragen.

Ok, viel Glück!

2
William

Ich würde denken, dass das Durchlaufen eines Switches den Nutzen der parallelen Verwendung von 2 Ethernet-Kabeln einschränken würde. Sofern der Switch nicht schneller ist als Ihre beiden Netzwerkkarten zusammen, kann es in diesem Fall zu einer Geschwindigkeitssteigerung kommen.

Load Balancing-Programm ist das, wonach Sie suchen. Sie müssen nicht "Load Balancing", wenn Sie nicht möchten, aber es ist das Der einfachste Weg, die mir bekannten Verbindungen zusammenzuführen. Die Idee ist nicht zu kompliziert

Virtuelles NIC -> Lastausgleichsprogramm -> NIC 1 + 2

Diese Antwort hat das, wonach Sie suchen, glaube ich: Netzwerklastenausgleich mit Network Manager

Ich bin nicht sicher, was die Einzelheiten angeht, aber ich bin mir sicher, dass dies die allgemeine Idee ist.

Sofern die NIC - Karten nicht wesentlich weniger leistungsstark sind als Ihr Router/Switch, ist der einzige Vorteil, den Sie wahrscheinlich erhalten, eine direkte Verbindung zwischen den beiden Computern oder eine parallele Verbindung über den gesamten Weg. Theorie und Praxis klappen aber nicht immer.

Ich kann mir nur vorstellen, zu testen, ob der NIC der Engpass in Ihrem System ist, indem Sie einen Geschwindigkeitstest zwischen jedem Computer mit allen 4 NICs durchführen. Ich kann Ihnen die allgemeine Idee dazu geben, aber die Ubuntu-spezifischen Dinge, mit denen ich zu tun haben muss.

  1. Legen Sie für jedes NIC eine eigene IP-Adresse fest, z. B. 192.168.0.1 + 192.168.0.2 für Computer 1 und * .3 + * .4 für Computer 2
  2. Der einzige Geschwindigkeitstest für lokale Netzwerke, den ich gesehen habe, ist die Übertragungszeit für eine Bitdatei. Ich bin nicht sicher, ob es eine bessere Methode gibt, ich habe noch nie eine gesehen.

    3 Stellen Sie Routen manuell ein, sodass * .1 die Schnittstelle ist, um zu * .3 und * .2 zu * .4 zu gelangen.
    PC1 192.168.0.1 <-> 192.168.0.3 PC2 192.168.0.2 <-> 192.168.0.4

Ich habe noch nie IP-Tabellen verwendet, daher habe ich hier ein Beispiel gefunden.

[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. eine andere Möglichkeit besteht darin, einen Weg für den ssh (oder Terminal) -Client zu finden, über bestimmte Schnittstellen eine Verbindung herzustellen. Ich bin mir noch nicht sicher, wie das für den Kunden gemacht wird.

Wenn die IP-Tabellen korrekt eingerichtet sind, sollten Sie in der Lage sein, 2 Dateien von PC 1 an beide Schnittstellen von PC 2 zu senden, und jede Datei wird einen anderen Weg einschlagen. Wenn die Übertragung mit den beiden Verbindungen schneller als nur eine ist (hoffentlich doppelt so schnell), haben Sie möglicherweise etwas.

2
WalterJ89

Durch die Verwendung der Port-Bonding- und Round-Robin-Richtlinie auf beiden Geräten, die über einen nicht verwalteten Switch verbunden sind, wird die Übertragungsrate nahezu verdoppelt. Die Round-Robin-Richtlinie verwendet standardmäßig den Lastenausgleich für mehrere Geräte und greift auf einen einzelnen Port zurück, wenn ein Gerät ausfällt.

Ich glaube jedoch, dass Ihr WRT54GS ein Router ist und daher verwaltet wird, sodass Sie nicht den vollen Nutzen aus dem Bonding ziehen können.

Angenommen, Sie würden einen billigen 8-Port-True-Switch verwenden, der die RR-Richtlinie unterstützt, und ihn dann mit dem Router verbinden, würden Sie eine höhere Übertragungsgeschwindigkeit zwischen den beiden Geräten erzielen, indem Sie das Bonding über den Switch und die normale Übertragungsgeschwindigkeit zum Internet und zum Rest des Netzwerks verwenden Netzwerk.

Sie sollten auch Ihre Lese-/Schreibpuffer, txqeueuelen und Ihren Netcore- und TCP-Speicher erhöhen.

1
Stuart K. Smith

Es gibt eine Bibliothek namens firehose, die Daten gleichzeitig über mehrere Netzwerkgeräte übertragen kann. Es gibt Ihnen jedoch kein einziges virtuelles Netzwerkgerät und TCP wird nicht unterstützt. Es wurde für Video-Streaming mit hoher Bandbreite für Videobearbeiter entwickelt. Könnte Sie aber interessieren:

http://heroinewarrior.com/firehose.php

1
Alistair Buxton

Ich sah mich einer ähnlichen Situation gegenüber und stellte Folgendes fest:

http://ubuntulinuxhelp.com/wie-den-zweiten-Netzwerk-Port-auf-Ihren-Computer-nutzen/

Aber es ist etwas alt, hoffe es hilft.

1
Rahul Prasad