Lastausgleich mit LAN und Wi-Fi


8

Ich habe einen Mac, auf dem Mac OS X 10.6 oder Ubuntu 9.10 oder Windows XP (Multiboot) ausgeführt wird. Die Lösung kann für jedes System sein, je nachdem, was besser funktioniert.

Ich habe zwei ISPs , auf einen kann über WLAN zugegriffen werden , auf einen kann über LAN zugegriffen werden . In Mac OS XI kann die Priorität festgelegt werden, welches Netzwerk zuerst ausgewählt werden soll. Was ich aber tun möchte, ist ein Lastausgleich mit beiden Netzwerken.

Ich möchte keine zusätzliche Hardware kaufen. Ich habe einige unbenutzte WLAN-Router, wenn dies helfen würde.

Das Kompilieren und Konfigurieren von Programmen unter Linux ist für mich kein Problem.

Ähnliche Frage: Lastausgleich mit mehreren Gateways


2
Sie sollten überprüfen, ob für jede vorgeschlagene Lösung Regeln für das Fortbestehen von Verbindungen über die Schnittstelle gelten. Wenn Ihre Verbindung zwischen ISPs hergestellt wird, kann der Server am anderen Ende verwirrt werden. Ich weiß zum Beispiel, dass Yahoo IM die Verbindung trennt, wenn Sie eine Verbindung von einer anderen IP-Adresse herstellen.
Doug Harris

Klingt so, als ob Sie eine Art drahtlosen Multi-WAN-Repeater benötigen, um Signale von 2 verschiedenen WIFI-Routern zu empfangen und über eine LAN-Verbindung an Ihren Computer weiterzuleiten.
Djangofan

LISP (Locator / Identifier Separation Protocol) könnte eine Lösung sein, aber das ist mir viel zu kompliziert. ;-)
Synox

Was möchten Sie Lastausgleich?
David Schwartz

Downloads großer Dateien, Video-Streams, Youtube usw.
Synox

Antworten:


1

Ein naheliegendes Thema für Linux wäre die Einstellung "Metrik" für Routen. Niedrigere Zahlen werden höheren Zahlen vorgezogen. Wenn Sie beiden Routen dieselbe Metrik geben, würde ich denken, dass sie mit gleicher Wahrscheinlichkeit ausgewählt werden.

Ich denke, die Technik, die Sie erreichen möchten, heißt Multihoming . Ich habe keine direkten Erfahrungen damit. Ein paar Dinge, die Sie wahrscheinlich beachten müssen.

  • Ich denke, Sie haben standardmäßig nur eine Standardroute. Dies bedeutet, dass der gesamte ausgehende Datenverkehr standardmäßig eine Schnittstelle bevorzugt. Sie müssen mehrere Standardrouten prüfen oder diese Route im Laufe der Zeit dynamisch ändern.
  • Für die Lebensdauer einer einzelnen eingehenden Verbindung (TCP) sollte sie auf derselben Schnittstelle bleiben, auf der sie eingegangen ist. Ich glaube.

Jedenfalls sind das alle Hinweise, an die ich im Moment denken kann.


metricist ein Parameter für Netzwerkschnittstellen in Windows und OS X; Für jedes Betriebssystem, das mehrere Netzwerkschnittstellen unterstützt, muss die Priorität festgelegt werden.
Apraetor

1

Sie können ein Routing-Metriksystem verwenden, bei dem Sie beide Internetverbindungen mit einer gleichen Metrik in Ihrer Routing-Tabelle installieren. Das Betriebssystem sollte dann beide Routen gleichermaßen verwenden und Ihren ausgehenden Datenverkehr effektiv auf beide Verbindungen aufteilen.

Eingehender Datenverkehr als Antwort auf Ihre Anforderungen sollte ebenfalls ausgeglichen sein, da er an die Schnittstelle (Public IP) zurückkehrt, von der die Anforderung stammt.

Das Problem dabei wäre die Persistenz der Sitzung. Sie können beispielsweise eine Website über einen Ihrer Links anzeigen. Die nächste Seitenansicht wird jedoch über die andere Schnittstelle verteilt. Dies würde einige Anwendungen verwirren, da sich Ihre Quell-IP-Adresse ständig ändert.

Daher würde ich wahrscheinlich nur einen Teil Ihres Datenverkehrs auf die andere Schnittstelle aufteilen, wobei nicht gleichwertige Routen verwendet werden, möglicherweise nach Anwendung, Ziel oder Protokoll. Nur etwas, das Ihre Verkehrswege konsistent hält.


1

Connectify Dispatch bietet eine Lösung, die genau das tut, was Sie brauchen. Derzeit nur für Windows, aber es war erfolgreich , die Software unter OS X zu virtualisieren und zu verwenden.

Da Sie Windows XP bereits ausgeführt haben (ausgeführt haben), dachte ich, dass Sie diesen Teil selbst herausfinden können.


Das größte Problem dabei ist, dass Windows problemlos Unterstützung für mehrere Netzwerkkarten bietet, während es unter OS X bei weitem nicht so einfach zu implementieren ist.


0

Es gibt eine Art Problemumgehung: Meine Anwendung kann den Lastausgleich durchführen, ich kann 2 Verbindungen definieren, die dann beide verwendet werden.

Ich leite dann eine der Server-IPs an eine der IPS weiter.

auf Mac OS 10.6:

route add -host XXX.XXX.XXX.XXX 192.168.1.1

Ich weiß, das ist sehr spezifisch und funktioniert nur, wenn die Server-IPs immer gleich sind. Und wenn die Anwendung in irgendeiner Weise Lastausgleich kann.


0

Ich denke nicht, dass dies möglich sein wird, ohne dass der gesamte ausgehende Datenverkehr ein ISP und der eingehende Datenverkehr ein anderer ISP ist.

Grund dafür ist, dass die Aufteilung des Datenverkehrs auf zwei separate Netzwerke nicht so aussieht, als würden sie es zurück schaffen. Wenn Sie 2 Pipes von 1 ISP hatten, könnte dies möglich sein.

Wie die Person zuvor sagte, denke ich, dass Sie sowieso eine Standardeinstellung benötigen und bestimmten Verkehr über eine Route und den Rest über eine andere bremsen könnten. Denken Sie nur nicht, dass der Lastenausgleich wie in einem LAN hier funktioniert.

Beispiel: Führen Sie Updates mit 192.168.2 aus. * Wi-Fi ISP führt Halflife mit 192.168.1 aus. * LAN ISP.



0

Ich habe dieselbe Frage ein Dutzend Mal auf ein Dutzend verschiedene Arten gehört. Erstens werden interne und externe Sitzungen ähnlich behandelt, sind jedoch nicht identisch. Für jede interne Sitzung kann es mehrere externe geben und umgekehrt. Worüber Sie sprechen, ist logisch nicht unmöglich, erfordert jedoch ein wenig Programmierung und Vorbereitung. Einige Geräte werden mit der Fähigkeit gebaut, Ethernet-Verbindungen oder WLAN für schnellere Netzwerkgeschwindigkeiten intern in einem Netzwerk zusammenzufassen. Für externe Netzwerke habe ich jedoch nur Geräte mit FAILOVER gefunden, was bedeutet, dass sie nur dann wechseln, wenn sie müssen. Sie können jedoch eine grundlegende Umschaltung (if-Anweisungen mit 0 oder 1) im Verbindungsprotokoll verwenden, die den Datenverkehr für jede EXTERNE Sitzung über ein anderes Gateway umleitet. Sie müssten dann jede EXTERNE SITZUNG verfolgen, die jeder INTERNEN SITZUNG zugeordnet ist, indem Sie eine Untersitzung in eine Hauptsitzung mit einer Sitzungs-ID einschließen. Sie müssten dann eine Möglichkeit haben, nach der Site-Domäne zu suchen oder die Sitzungs-ID zu verwenden, um das interne Routing abzuschließen (mit anderen Worten, Sie müssten in der Lage sein, Nachrichten vom Client für jede externe Sitzung \ Verbindung zu unterscheiden, basierend auf welcher Standort, von dem sie Daten anforderten oder an den sie Daten sendeten, damit die Pipe für jeden Standort festgelegt wurde und der Standort die Pipe nicht ablehnte. Dies bedeutet, dass Sie ein neues Netzwerkprotokoll in Ihren Router einbauen und entscheiden müssen, wie die Verbindungen unterschieden werden sollen (wenn dies nur nach Standortdomäne erfolgt, kann dies möglicherweise vom Router aus durchgeführt werden, der Client versucht jedoch möglicherweise, die IP-Adresse des Routers zu verwenden externes Tor für die Website, das dies negiert; Wenn dies an beiden Enden erfolgt, muss der Client einen Bezeichner verfolgen, normalerweise einen numerischen Wert für die binäre Maskierung, mit dem der Sendeempfang mit der externen Sitzung abgeglichen werden kann, die am Hauptgatter weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. Der Client muss einen Bezeichner verfolgen, normalerweise einen numerischen Wert für die binäre Maskierung, mit dem der Sendeempfang mit der externen Sitzung abgeglichen werden kann, die am Hauptgatter weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. Der Client muss einen Bezeichner verfolgen, normalerweise einen numerischen Wert für die binäre Maskierung, mit dem der Sendeempfang mit der externen Sitzung abgeglichen werden kann, die am Hauptgatter weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. In der Regel handelt es sich um einen numerischen Wert für die binäre Maskierung, mit dem der Sendeempfang mit der externen Sitzung abgeglichen werden kann, die am Hauptgatter weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. In der Regel handelt es sich um einen numerischen Wert für die binäre Maskierung, mit dem der Sendeempfang mit der externen Sitzung abgeglichen werden kann, die am Hauptgatter weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. Dadurch kann der Sendeempfang mit der externen Sitzung abgeglichen werden, die am Haupttor weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. Dadurch kann der Sendeempfang mit der externen Sitzung abgeglichen werden, die am Haupttor weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. und Sie müssten sich entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten, das mit älteren vorhandenen Programmen kompatibel ist (was durch die Nachrichtenübermittlung zwischen Hosts gebunden sein müsste und Client, der den Host stärker belastet, aber für den Client nichts Neues ist). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. und Sie müssten sich entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten, das mit älteren vorhandenen Programmen kompatibel ist (was durch die Nachrichtenübermittlung zwischen Hosts gebunden sein müsste und Client, der den Host stärker belastet, aber für den Client nichts Neues ist). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. dem Host mehr Verschleiß zufügen, aber nichts Neues für den Kunden). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. dem Host mehr Verschleiß zufügen, aber nichts Neues für den Kunden). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden.

Bei größeren Netzwerken im Unternehmensstil können Sie das Netzwerk vernetzen und jeder Etage oder Abteilung ein dediziertes Gateway zuweisen, das mehrere ISPs zulässt und niemals zu viel auf einen von ihnen überträgt. Sie können Failover auch von einem Hub durchführen lassen, der Änderungen oder Weiterleitungen an ein anderes Gateway sendet, wenn eines von ihnen Probleme hat. Dies bietet eine gewisse Fehlertoleranz.


2
Ihre Antwort wird eher gelesen, wenn es sich nicht um eine Textwand handelt. Bitte nehmen Sie sich eine Minute Zeit, um es in Absätze zu unterteilen.
Fixer1234

Ich tat. Aber die Benutzeroberfläche hat es trotzdem als Textwand gepostet.
Htd Tech

Nur als Referenz lautet die Antwort für den Lastausgleich einer einzelnen Verbindung, dass es wirklich nicht machbar ist, wenn Sie nicht an beiden Enden daran arbeiten. Um den Webzugriff zu beschleunigen, gibt es jedoch mehrere Multi-NIC-Karten von Drittanbietern, die gleichzeitig auf interne Netzwerke zugreifen. Wenn Sie über mehrere ISP-Dienste verfügen, können Sie Ihrem System erlauben, den Bandbreitenausgleich zu verwalten. Dies gilt nicht wirklich für Spiele oder unkomprimierte Videos, da beide Enden über Paketgrößen verhandeln. Wenn Sie jedoch viel online arbeiten, ist dies machbar und führt zu einer Leistungssteigerung.
Htd Tech

Ich habe nur einen Absatzumbruch gefunden und das behoben. Das "Geheimnis" ist, dass Sie eine doppelte Rückgabe (eine leere Zeile) zwischen Absätzen benötigen. Andernfalls führt das System es für Ihre Bequemlichkeit zusammen aus.
Fixer1234
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.