- Multi-Link Trunking
-
Link Aggregation Ist ein beim IEEE geläufiger Begriff aus dem Bereich IEEE_802 (genauer: 802.3ad) und bezeichnet ein Verfahren zur Bündelung mehrerer physikalischer LAN-Schnittstellen zu einem logischen Kanal. Die ersten Implementierungen dieser Technik stammen von Kalpana (heute Cisco) und dienten ursprünglich ausschließlich der Erhöhung des Datendurchsatzes zwischen zwei Ethernet-Switches (ebenfalls von Kalpana erfunden). Heutige Implementierungen können aber auch Server und andere Systeme per Link Aggregation anbinden.
Inhaltsverzeichnis
Andere Bezeichnungen
Obwohl es Inkompatibilitäten und technische Unterschiede gibt, werden (je nach Hersteller oder Kontext) für die Bündelung von Ethernet-Schnittstellen folgende Ausdrücke als Synonyme benutzt:
- Bonding, im Linux Umfeld.
- Etherchannel, bei Cisco.
- Link Aggregation, bei IEEE.
- Load Balancing, allgemein.
- Port Aggregation, bei Hewlett-Packard.
- Trunking, bei Sun Microsystems, aber auch bei anderen Herstellern.
- Bündelung, natürlich gibt es auch einen deutschen Begriff für die Ethernet-Kanal-Bündelung.
- Teaming, bei Novell Netware
Funktionsweise
Allgemein werden mehrere physikalische Ethernet-Schnittstellen zur Verbindung zweier Geräte zusammengeschaltet, das bedeutet zwei gebündelte Schnittstellen können die doppelte Datenmenge transportieren, vier folglich die vierfache Menge. Sinnvoll ist es, möglichst schnelle Schnittstellen zu bündeln, zweimal Ethernet (halbduplex) entsprechen 20 Mbit/s, dreimal Fast Ethernet (vollduplex) als Fast Etherchannel sind bereits 600 Mbit/s. Eine Maximale Performancesteigerung erreicht man bei vielen Bündelungs-Verfahren, wenn die Anzahl der gebündelten Ports eine Zweierpotenz ist. So kann beispielsweise durch Zusammenschaltung von acht Fast Ethernet-Schnittstellen fast die Bandbreite einer Gigabit Ethernet-Schnittstelle erreicht werden. Ein weiterer Vorteil ist eine erhöhte Ausfallsicherheit. So können bei einigen Verfahren ein oder mehrere Schnittstellen ausfallen, ohne dass der logische Kanal unterbrochen wird. Lediglich der Datendurchsatz vermindert sich entsprechend der fehlenden Verbindungen.
Bündelungs-Verfahren
- Roundrobin: Hier werden alle zur Verfügung stehenden Leitungen abwechselnd der Reihe nach benutzt.
- DA-Trunking: Hier wird anhand des Modulo der Destination-MAC-Adresse die elementare Schnittstelle gewählt.
- SA-Trunking: Hier wird anhand des Modulo der Source-MAC-Adresse die elementare Schnittstelle gewählt.
- SA-DA-Trunking: Hier wird anhand des Modulo der Source-MAC-Adresse und der Destination-MAC-Adresse die elementare Schnittstelle gewählt.
- Adaptives-Trunking: Hier wird erst bei 100% Auslastung der ersten elementaren Schnittstelle eine weitere zugeschaltet.
- Dynamisches-Trunking: Mit Hilfe des proprietären PAgPs, oder des IEEE konformen LACP lassen sich dynamische Trunks definieren.
- Weitere Verfahren.
Grundlegende Implementierung
Die grundlegende Implementierung einer Kanalbündelung zwischen zwei Ethernet-Switches kommt mit erstaunlich geringen Änderungen (im Vergleich zu einem normalen Switch) aus. Natürlich muss das Management Interface zur Definition des Trunks erweitert werden. Dann ist die Art und Weise, wie ein Switch seine SAT (Source-Address-Table – Tabelle mit den MAC-Adressen der Absender) erlernt betroffen, und schließlich werden Broadcasts und Pakete die an unbekannte Ziel-MAC-Adressen gerichtet sind vom Trunk gesondert behandelt.
- Management Interface: dass die Menüstrukturen betroffen sind, braucht sicher keine große Erklärung.
- Adress-Lernphase: Empfängt ein Switch auf einem Trunk-Port eine unbekannte Absender-Adresse, so wird diese nicht automatisch dem Adressstapel (SAT) dieses Ports zugeordnet, vielmehr versucht der Switch allen Mitgliedern des Trunks eine gleiche Netz-Last zuzuordnen und wird daher neue Absender-Adressen gleichmäßig auf allen zum Trunk gehörenden Ports verteilen. Beispielsweise erhält also der Port, der momentan die wenigsten Einträge in seiner SAT führt, die neue Adresse. Je nach Implementierung kommen auch andere Verteilungsstrategien zum Einsatz, siehe Abschnitt Bündelungs-Verfahren.
- Broadcasts und unbekannte Adressen: Diese werden bei einem Trunk nicht über alle Ports geschickt, sondern pro Trunk nur über eine Leitung, im Allgemeinen wird der Port mit der niedrigsten Port Nummer gewählt. Je nach Implementierung werden zur Auswahl des Ports auch andere Strategien genutzt, siehe Abschnitt Bündelungs-Verfahren.
Interessanter Weise sind keine weiteren Maßnahmen nötig, um eine einfache Implementierung zu realisieren. Die Implementierung der Transportmechanismen (cut through, store and forward, usw.) benötigt keine Änderung! Dennoch, diese grundlegende Implementierung ist bei weitem nicht optimal und eignet sich eigentlich nur für das Koppeln zweier Netze. Ein Nachteil besteht darin, dass je MAC-Adresse nur ein Port des Trunks benutzt wird - für eine einzelne Station bedeutet es, dass sie keine Vorteile hat - nur das Netz als gesamtes profitiert. Weiter kann es vorkommen dass die aktivsten Stationen zufällig alle dem gleichen Port zugeordnet sind, folglich wird die Last nicht gleichmäßig innerhalb des Trunks verteilt. Auch gibt es Bündelungsverfahren die leistungsstark Server anbinden können. All diese Fakten haben dazu geführt, dass viele Hersteller verschiedene, aber auch weiter entwickelte Implementierungen anbieten Diese sind in der Regel nicht zueinander kompatibel. Diese Inkompatibilitäten haben dazu geführt, dass sich das IEEE mit dem Problem befasst hat und das LACP spezifiziert hat.
Weblinks
Wikimedia Foundation.