Bandbreite zweier xDSL Anschlüsse mit OpenBSD kombinieren

Das Forum für den Linux-Pinguin - auch andere Unix-Derivate (*BSD, (Open)Solaris, Apple's Darwin / MacOS X, ...) sind hier willkommen!
Forumsregeln
Das Forum für den Linux-Pinguin - auch andere Unix-Derivate (*BSD, (Open)Solaris, Apple's Darwin / MacOS X, ...) sind hier willkommen!

Bandbreite zweier xDSL Anschlüsse mit OpenBSD kombinieren

Beitragvon Master One » Mi 01 Mär, 2006 16:21

OpenBSD bietet seit der Version 3.8 mit dem virtuellen TRUNK-Interface die Möglichkeit, mehrere physikalische Leitungen zu einer großen virtuellen Leitung zu bündeln. Hierbei kommt ein Round-Robin-Algorithmus zur Anwendung, der ausgehende Pakete zirkular über die vorhandenen Ports verteilt, eingehende Pakete von allen Ports werden an die Empfangs-Queue des Trunk-Interfaces weitergeleitet. Eine detailreichere Schilderung siehe diesen Artikel.

Was wäre nun, wenn man zwei verschiedene xDSL Leitungen zur Verfügung hätte, und deren Bandbreiten mittels TRUNK kombiniert?

Folgendes Beispiel wäre denkbar, wenn man einen Firewall-Router mit 4 Netzwerkkarten und zwei xDSL Zugängen unter OpenBSD 3.8 aufsetzen würde:

rl0: ADSL 2048/512
rl1: ADSL 4096/768
re0: DMZ
re1: LAN

Prinzipiell sollte dies problemlos funktionieren, und würde einer Summierung der Bandbreiten gleichkommen.

Hat dies hier schon mal jemand ausprobiert?
Master One
Board-Mitglied
Board-Mitglied
 
Beiträge: 204
Registriert: So 26 Feb, 2006 19:04

Beitragvon medice » Mi 01 Mär, 2006 16:34

muss nicht auf der anderen Seite der Leitungen auch ein Mechanismus sitzen, der diesbezüglich was tut?
Mfg
Medice

Wir in Bayern brauchen keine Opposition, weil wir sind schon Demokraten. (c) Gerhard Polt
medice
Advanced Power-User
Advanced Power-User
 
Beiträge: 3288
Registriert: Fr 13 Mai, 2005 10:32
Wohnort: Graz

Beitragvon roro » Mi 01 Mär, 2006 16:48

Würde ich auch meinen: Wenn die Gegenstelle (ISP) dabei nicht mitspielt, wird das nicht funktionieren.
roro
Advanced Profi-User
Advanced Profi-User
 
Beiträge: 2347
Registriert: Di 11 Jan, 2005 15:22
Wohnort: Weiz

Beitragvon Master One » Mi 01 Mär, 2006 17:12

Der ISP müßte hierzu nichts beitragen, und würde von der Bandbreitenkombinierung auch nichts mitbekommen, da dies durch TRUNK auf dem Firewall Router praktisch tansparent abläuft. Schließlich wird hier einfach von zwei völlig unabhängigen unterschiedlichen xDSL Anschlüssen ausgegangen, die für die Kombination der Bandbreiten erforderlichen Vorgänge finden hierbei ausschließlich auf dem Firewall-Router statt.

Der Round-Robin-Algorithmus verteilt die ausgehenden Datenpakete ganz einfach in zirkularer Reihenfolge auf die beiden ASDL Leitungen, für die ADSL Zugänge sind dies nichts weiter als normale Datenpakete. Die eingehenden Datenpakte kommen dann jeweils über die beiden ADSL Leitungen rein, gelangen in die Trunk-Empfangs-Queue, und können von dort (also über das virtuelle Trunk-Interface) ganz normal wie über einen einzelne physikalische Leitung von der Firewall weiterverarbeitet und zum jeweiligen Rechner weitergeleitet werden.

Ich bin zwar kein Profi auf diesem Gebiet, aber es scheint mir einleuchtend, daß dies problemlos funktionieren sollte.

Ich selbst habe in früherer Zeit schon mal sowas ähnliches versucht, und zwar hatte ich damals einen AON Complete 64 kBit/s Zugang über ISDN im Einsatz. Der damalige Router (ein Vigor 2200) konnte dieses ISDN "Channel-Bonding", wobei ich testweise auf dem zweiten B-Kanal einen UTA ISDN Einwahl-Zugang verwendet habe. Ein Downloadtest hat dann tatsächlich ohne weiteres Zutun die 100 kBit/s Marke durchbrochen.
Master One
Board-Mitglied
Board-Mitglied
 
Beiträge: 204
Registriert: So 26 Feb, 2006 19:04

Beitragvon max_payne » Mi 01 Mär, 2006 17:18

allerdings wirst du dann probleme haben, dass der ziel-rechner mitspielt, sofern du nur eine einzige connection verwendest, denn du hast dann ja 2 IPs
max_payne
Ultimate Power-User
Ultimate Power-User
 
Beiträge: 4982
Registriert: Mo 30 Aug, 2004 12:25

Beitragvon Kakashi » Mi 01 Mär, 2006 17:46

Das ist dem Trunking relativ egal. Also ich weiß mit Sicherheit, das eine NIC 2 IPs haben kann und das man auch zwei Internet Anschlüsse geliehczeitig auf einem PC verwenden kann.

Probleme könnte es natürlich geben wenn dir eine Person etwas schickt, bzw. du einer Person etwas schicken willst. Denn die schickt/empfängt nur von einer IP.
Das Trunking würde wahrscheinlich nur bei mehreren Threads von http/ftp/... "reinkicken".

Ob allerdings ein "6 Mbit Effekt" rauskommt, von dem du glaube ich ausgehst ist fraglich. Da wenn beide Anschlüsse über die selbe Leitung zu dir kommen könnte es Geschwindigkeitseinbußen geben. Da, sofern ich das richtig mitbekommen habe Inode ja schon genug Probleme hat 5Mbit über die Leitungen zu jagen.
Kakashi
Board-User Level 1
Board-User Level 1
 
Beiträge: 512
Registriert: Do 09 Jun, 2005 18:54

Beitragvon Master One » Mi 01 Mär, 2006 17:57

Leider fehlt es mir hierbei am nötigen Grundwissen der Netzwerktechnik, somit fallen auf meiner Seite ein paar Dinge erstmal der Spekulation zum Opfer.

Ich denke mal, daß jede Connection nur über den jeweiligen Port abgewickelt wird, über den den die Anforderung gesendet wurde, da ein und derselbe Task auf der Gegenseite dann nur eine der beiden IP-Adressen mitbekommt.

Wie könnte das bei einem Upload funktionieren? Angenommen ich schiebe ein File auf einen FTP-Server hoch. Round-Robin würde hierbei die zu sendenden Datenpakete gleichmäßig über beide Leitungungen verteilen, und somit für Kombination der Upload-Bandbreite sorgen. Der FTP-Server würde dies als zwei Connections mit zwei verschiedenen IPs als Gegenstelle sehen.

Bei einem Download gibt's ja keinen Round-Robin, der da mitmischen müßte, d.h. es kommt eben das rein, was über die jeweilige Leitung empfangen wird. Hierzu müßten dann zwei eingehende Connections bestehen, um die Bandbreitenkombination ausnutzen zu können. Ob dies z.B. bei einem Download eines Files von einem FTP-Server unterstützt wird, kann ich nicht sagen. Wenn man aber zwei Files von einem FTP-Server (oder von zwei verschiedenen FTP-Servern) herunterlädt, und die Anforderung hierzu jeweils über unterschiedliche Ports rausging, wird man jedes File über je einen Port als eigene Connection empfangen, was wiederum einer Kombination der Gesamtbandbreite entspricht.

Vielleicht kann ja jemand mit dem hierzu erforderlichen Hintergrundwissen diese Überlegungen kommentieren / richtigstellen / ergänzen. Es wäre durchaus möglich, daß ich hierbei völlig auf dem Holzweg bin, aber deswegen stelle ich dieses Thema ja auch hier zur Diskussion... :)

Irgendwie scheint dieses Trunking (oder unter Linux auch "Bonding" genannt) zu funktionieren, sonst hätte damals ja auch das erwähnte ISDN B-Kanal-Bonding mit zwei unterschiedlichen ISP-Zugängen nicht geklappt.

Da ich nicht zwei ISP Zugänge habe, kann ich dies hier vorerst auch nicht testen. Ich habe aber bereits auf die Schnelle einen kleinen Testrechner mit 3 Netzwerkkarten unter OpenBSD 3.8 aufgesetzt. Bei diesem werden nun zwei Netzwerkkarten (je 100 MBit/s) mit einem Netgear 8-Port-Switch verbunden, und nach Einrichtung des virtuellen Trunk-Interfaces muß ich dann nur noch eine Möglichkeit finden, dieses Setup von einem Server (Xeon 3.0 EM64T mit 1000 MBit/s Netzwerkadapter) ausgibig zu testen...
Master One
Board-Mitglied
Board-Mitglied
 
Beiträge: 204
Registriert: So 26 Feb, 2006 19:04

Beitragvon Master One » Mi 01 Mär, 2006 18:01

Kakashi hat geschrieben:Ob allerdings ein "6 Mbit Effekt" rauskommt, von dem du glaube ich ausgehst ist fraglich. Da wenn beide Anschlüsse über die selbe Leitung zu dir kommen könnte es Geschwindigkeitseinbußen geben. Da, sofern ich das richtig mitbekommen habe Inode ja schon genug Probleme hat 5Mbit über die Leitungen zu jagen.

Wenn es sich um zwei getrennte Anschlüsse handelt, gibt es jeweils auch zwei entbündelte Leitungen bis zum nächsten Wählamt. Von diesem wäre ich hier übrigens keine 100m entfernt, ich denke also nicht, daß dieses Vorhaben unter einer Einbuße wegen Leitungslänge/-qualität leiden würde.
Master One
Board-Mitglied
Board-Mitglied
 
Beiträge: 204
Registriert: So 26 Feb, 2006 19:04

Beitragvon superracer » Mi 01 Mär, 2006 18:19

Master One hat geschrieben:Der ISP müßte hierzu nichts beitragen, und würde von der Bandbreitenkombinierung auch nichts mitbekommen, da dies durch TRUNK auf dem Firewall Router praktisch tansparent abläuft.

das funktioniert so aber nur in eine richtung, und zwar in upload-richtung. in download-richtung bleibt alles beim alten: du hast zwei leitungen nach draussen, zwei unterschiedliche IPs auf den beiden und über jede leitung kommt nur jeweils das rein, was für die jeweilge IP bestimmt ist. und du wirst nur eher schwer deine lokalen IPs per round robin verteilen können... ;)
superracer
Board-User Level 3
Board-User Level 3
 
Beiträge: 1073
Registriert: So 04 Jul, 2004 11:18

Beitragvon Master One » Mi 01 Mär, 2006 18:36

superracer hat geschrieben:
Master One hat geschrieben:Der ISP müßte hierzu nichts beitragen, und würde von der Bandbreitenkombinierung auch nichts mitbekommen, da dies durch TRUNK auf dem Firewall Router praktisch tansparent abläuft.

das funktioniert so aber nur in eine richtung, und zwar in upload-richtung. in download-richtung bleibt alles beim alten: du hast zwei leitungen nach draussen, zwei unterschiedliche IPs auf den beiden und über jede leitung kommt nur jeweils das rein, was für die jeweilge IP bestimmt ist. und du wirst nur eher schwer deine lokalen IPs per round robin verteilen können... ;)

Round-Robin kommt nur bei Upload zum Einsatz. Deine Angaben zum Download stimmen zwar, allerdings ist ja der Clue hierbei nun mal, daß die beiden getrennten Leitungen durch das virtuelle Trunk-Interface auf dem Firewall-Router gehandhabt werden, und die Clients im lokalen LAN oder der DMZ hiervon nichts mitbekommen. Für die Clients gibt es ja dennoch nur ein Gateway, also den Firewall-Router mit dem Trunk-Interface, und wenn mehrere Zugriffe von einem Client oder mehreren Clients aus dem LAN ins Internet statt finden, wird sich die Leitungsbündelung auch im Download jedenfalls bemerkbar machen.
Master One
Board-Mitglied
Board-Mitglied
 
Beiträge: 204
Registriert: So 26 Feb, 2006 19:04

Beitragvon al » Do 02 Mär, 2006 06:54

Master One hat geschrieben:Angenommen ich schiebe ein File auf einen FTP-Server hoch. Round-Robin würde hierbei die zu sendenden Datenpakete gleichmäßig über beide Leitungungen verteilen, und somit für Kombination der Upload-Bandbreite sorgen. Der FTP-Server würde dies als zwei Connections mit zwei verschiedenen IPs als Gegenstelle sehen.


Wie sollte der FTP-Server je wissen, daß die beiden kaputten (halben) Dateien (von den beiden TCP-Verbindungen, wie Du ja richtig erkannt hast) irgendwie zusammengepappt werden müßten?

So ein Multi-ISP-Verteilungsfeature wirkt sich nur bei mehreren Usern/Hosts/Up-/Downloads aus, da wird halt die eine TCP-Session über ISP1, die zweite über ISP2 usw. geschickt. Detto wird halt das erste UDP-Packl über ISP1, das nächste über ISP2 usw. geschickt.

Sprich Du hast maximal was davon, wenn mehrere Up- oder Downloads laufen. Oder Du hast halt den Vorteil, daß ein einzelner Upload halt nur den einen Uplink dichtmacht und Du über'n zweiten ungestört surfen kannst.

/al
al
Board-User Level 3
Board-User Level 3
 
Beiträge: 1091
Registriert: Sa 13 Nov, 2004 11:59
Wohnort: Hawei

Beitragvon Master One » Do 02 Mär, 2006 08:33

al hat geschrieben:So ein Multi-ISP-Verteilungsfeature wirkt sich nur bei mehreren Usern/Hosts/Up-/Downloads aus, da wird halt die eine TCP-Session über ISP1, die zweite über ISP2 usw. geschickt. Detto wird halt das erste UDP-Packl über ISP1, das nächste über ISP2 usw. geschickt. Sprich Du hast maximal was davon, wenn mehrere Up- oder Downloads laufen. Oder Du hast halt den Vorteil, daß ein einzelner Upload halt nur den einen Uplink dichtmacht und Du über'n zweiten ungestört surfen kannst.

Ja, man wird sich in der Tat nur bei Nutzung von mehreren Tasks einen Vorteil damit verschaffen können. Da man normalerweise sowieso immer mehrere gleichzeitige Zugriffe auf das Internet hat, sei es nun ein Single-User mit mehreren gleichzeitig laufenden Programmen, oder ein Multi-User-LAN, ist der Vorteil einer solchen Lösung dennoch ganz klar gegeben. Es ging hierbei auch nicht darum, mit nur einer Connection die Kombination von zwei (oder mehreren) Bandbreiten ausnutzen zu können (was nur mittels provider-unterstützten Kanalbündelung möglich wäre), sondern um das Gesamtresultat.

Wenn man an den Single-User-Betrieb denkt, so müßte diese Lösung der (nicht-provider-unterstützten) Kanalbündelung vor allem einem Filesharer die Ausnutzung der kombinierten Bandbreite ermöglichen. Soweit ich weiß, werden von den üblichen P2P Programmen immer mehrere, oder gar viele gleichzeitige Verbindungen benutzt, um Dateifragmente von unterschiedlichen Quellen herunterzuladen. Auf diese Weise würde lediglich ein Programm die zur Verfügung stehende Gesamtbandbreite maximal ausnutzen können.

Für mich hat sich diese Überlegung der Leitungsbündelung allerdings schon wieder erledigt, es ist für den betreffenden Einsatzzweck entschieden worden, bei nur einem xDSL Anschluß zu bleiben... ;)
Master One
Board-Mitglied
Board-Mitglied
 
Beiträge: 204
Registriert: So 26 Feb, 2006 19:04

Beitragvon wavenetuser » So 11 Mär, 2007 08:33

Ich hab eigentlich komplett was anderes gesucht und bin doch über diesen Thread gefallen.
Theoretisch wäre es doch möglich, einen Server vorzuschalten der (mit der entsprechenden Bandbreite) schon im Netz hängt.
Anstatt meine eigene IP zu verwenden, würde ich also quasi via Proxy die IP des Servers verwenden und schon dort den Transfer auf meine 2 IP's aufteilen.
Hilft aber erstmal auch nur für den Download.

Soweit das Wort zum Sonntag :)
Bild
wavenetuser
Board-User Level 3
Board-User Level 3
 
Beiträge: 1266
Registriert: Do 09 Feb, 2006 02:35


Zurück zu LINUX & UNIX-DERIVATE

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 26 Gäste