Etherchannel
Was ist ein EtherChannel?
EtherChannel ist eine von Cisco entwickelte Technologie, die mehrere physische Ethernet-Verbindungen zu einer einzigen logischen Leitung bündelt. Diese logische Verbindung wird als Port-Channel bezeichnet und stellt dem Netzwerk eine höhere kumulierte Bandbreite zur Verfügung. Gleichzeitig erhöht die Bündelung die Ausfallsicherheit, da der Datenverkehr beim Ausfall eines einzelnen Links automatisch über die verbleibenden Mitglieder weitergeleitet wird. Das Spanning Tree Protocol sieht den EtherChannel als eine einzige logische Verbindung, was verhindert, dass redundante Pfade blockiert werden. EtherChannel kann statisch konfiguriert oder dynamisch mit Protokollen wie PAgP und LACP ausgehandelt werden.
Warum EtherChannel? Das Problem einzelner Links
Ein einzelner physischer Link zwischen zwei Switches hat eine feste Bandbreite. Ein Gigabit-Link transportiert exakt ein Gigabit pro Sekunde, mehr nicht. Steigt der Datenverkehr über diese Grenze, kommt es zu Überlastung, Paketverlusten und erhöhten Latenzen. Eine einfache Aufrüstung auf den nächstschnelleren Port ist oft teuer oder physikalisch unmöglich, da die Hardware keine höheren Geschwindigkeiten unterstützt.
Würde man einfach zwei parallele Kabel zwischen denselben Switches einstecken, griffe das Spanning Tree Protocol ein. Es erkennt eine Schleife und blockiert eine der beiden Verbindungen. Die zusätzliche Kapazität bliebe ungenutzt. EtherChannel löst dieses Dilemma, indem es die parallelen Links zu einer logischen Einheit zusammenfasst. STP sieht nur noch den Port-Channel und lässt alle physischen Mitglieder aktiv weiterleiten. Die Bandbreite der Einzelverbindungen summiert sich, und alle Links werden genutzt.
Funktionsweise der Bündelung
Ein EtherChannel fasst bis zu acht physische Ports zu einem Port-Channel-Interface zusammen. Dieses logische Interface verhält sich wie ein normaler Switch-Port, besitzt eine eigene MAC-Adresse und wird in VLAN-Konfigurationen, Trunk-Einstellungen und STP-Berechnungen wie ein einzelner Port behandelt. Der Switch verteilt ausgehende Datenpakete anhand eines Hash-Algorithmus auf die physischen Mitglieder des Kanals.
Der Verteilungsalgorithmus arbeitet deterministisch. Jedes Paket wird anhand seiner Header-Informationen einer Berechnungsvorschrift unterzogen, die ein bestimmtes Mitgliedsport auswählt. Dadurch bleibt die Reihenfolge der Pakete innerhalb eines Gesprächs, eines Flows, erhalten. Alle Pakete, die zu einem bestimmten Flow gehören, nehmen stets denselben physischen Pfad. Dies verhindert Paketumordnung und gewährleistet die Integrität der Datenübertragung.
Lastverteilung und Hashing-Algorithmen
Der Algorithmus zur Lastverteilung nutzt ein XOR-basiertes Hashing, das verschiedene Header-Felder des Ethernet-Frames oder des IP-Pakets auswerten kann. Die Auswahl der Kriterien hängt von der Switch-Hardware und der Konfiguration ab.
- MAC-Adressen: Quelle und Ziel der MAC-Adressen. Gut geeignet für Layer-2-Netze, in denen IP-Informationen nicht verfügbar sind.
- IP-Adressen: Quelle und Ziel der IP-Adressen. Bietet eine gleichmäßigere Verteilung als MAC-basiertes Hashing, da IP-Adressen stärker variieren.
- TCP/UDP-Ports: Quelle und Ziel der Layer-4-Ports. Feinste Granularität, da Anwendungs-Ports die größte Entropie aufweisen. Jede HTTP-Sitzung, jeder DNS-Lookup kann einen anderen physischen Pfad nehmen.
Die effektive Bandbreite eines EtherChannels steht nicht zwangsläufig allen einzelnen Flows zur Verfügung. Ein einzelner Flow wird immer nur über einen der physischen Links übertragen, seine maximale Datenrate bleibt auf die Kapazität dieses einen Ports beschränkt. Die Gesamtkapazität des Kanals erzielt man durch die parallele Übertragung vieler unterschiedlicher Flows über die verschiedenen Mitgliedsports. In der Praxis wird dies durch die schiere Anzahl gleichzeitiger Gespräche in einem Unternehmensnetz fast immer erreicht.
Verwaltung der Mitgliedsports
Alle physischen Mitglieder eines EtherChannels müssen zueinander kompatible Konfigurationen besitzen. Unterschiede in Geschwindigkeit, Duplex-Modus, VLAN-Modus, native VLAN oder erlaubten VLANs verhindern die Bündelung oder führen zu Fehlern. Der Switch prüft diese Parameter und verweigert die Aufnahme eines inkompatiblen Ports in den Kanal. Die Einstellungen des Port-Channel-Interfaces werden automatisch auf alle Mitgliedsports vererbt. Eine manuelle Konfiguration am einzelnen Mitgliedsport ist nicht erforderlich und kann zu Konflikten führen, wenn sie vom Port-Channel abweicht.
Der Administrator definiert eine Kanalgruppe, die eine Nummer zwischen 1 und 64 trägt. Mehrere physische Ports werden dieser Gruppe zugewiesen und bilden gemeinsam den zugehörigen Port-Channel. Ein Switch kann mehrere EtherChannels gleichzeitig betreiben, jeder mit einer eigenen Kanalgruppennummer und einem eigenen logischen Interface.
EtherChannel-Protokolle: LACP und PAgP
EtherChannel kann auf drei Arten gebildet werden: statisch ohne Aushandlungsprotokoll, dynamisch mit dem Cisco-proprietären Port Aggregation Protocol (PAgP) oder dynamisch mit dem standardisierten Link Aggregation Control Protocol (LACP) nach IEEE 802.1AX.
- Statisch (Mode On): Der Port wird fest als EtherChannel-Mitglied konfiguriert. Es findet keine Aushandlung mit dem Partner statt. Dieser Modus funktioniert schnell, bietet aber keinerlei Erkennung von Fehlkonfigurationen. Unterschiedliche VLANs oder native VLANs auf beiden Seiten können zu Schleifen führen.
- PAgP: Proprietäres Protokoll mit den Modi Auto und Desirable. Es erkennt Konfigurationsfehler und validiert die Kanalparameter. PAgP wird in reinen Cisco-Umgebungen verwendet.
- LACP: Offener Standard mit den Modi Passiv und Aktiv. Es erfüllt dieselbe Funktion wie PAgP, arbeitet jedoch herstellerunabhängig und ist Voraussetzung für Multi-Chassis-EtherChannels.
Beide Protokolle und ihre Funktionsweise sind in eigenen Artikeln ausführlich beschrieben. Die Wahl zwischen statisch, PAgP oder LACP hängt von der Umgebung und den Sicherheitsanforderungen ab. LACP ist heute die bevorzugte dynamische Methode, da es plattformübergreifend standardisiert ist.
Abgrenzung zu LACP und PAgP
EtherChannel ist der Oberbegriff für die logische Bündelung und unabhängig vom verwendeten Aushandlungsprotokoll. LACP und PAgP sind die Protokolle, die einen EtherChannel dynamisch aushandeln, überwachen und bei Fehlern anpassen. Ein EtherChannel kann auch ohne diese Protokolle existieren, dann als statischer Kanal. LACP und PAgP setzen EtherChannel voraus, EtherChannel setzt LACP oder PAgP nicht zwingend voraus.
Konfiguration und praktische Umsetzung
Die Konfiguration beginnt mit der Erstellung des logischen Port-Channel-Interfaces. Danach wird das Interface wie ein normaler Switch-Port eingerichtet, etwa als Access-Port in einem VLAN oder als 802.1Q-Trunk mit erlaubten VLANs. Anschließend werden die physischen Ports ausgewählt und mit dem Befehl channel-group dem Port-Channel zugewiesen. Dabei wird gleichzeitig der gewünschte Modus für das Aushandlungsprotokoll festgelegt.
Die Ports werden in den Status "up" gebracht, und die Aushandlung beginnt. Bei erfolgreicher Bündelung erscheint der Port-Channel als logisches Interface mit der kumulierten Bandbreite. Die Befehle show etherchannel summary und show etherchannel port-channel geben Auskunft über Status, Mitglieder und Protokoll.
Fehlerszenarien und typische Probleme
Die häufigste Ursache für nicht funktionierende EtherChannels sind inkonsistente Konfigurationen der Mitgliedsports. Unterschiedliche VLAN-Zugehörigkeiten, verschiedene native VLANs oder abweichende Trunk-Modi führen zu Fehlern. Der Switch markiert den Port als suspendiert oder lässt ihn erst gar nicht der Kanalgruppe beitreten.
Ein weiterer Fehler ist die Kombination von statischer Konfiguration auf der einen und dynamischer Aushandlung auf der anderen Seite. Ein Port im Modus "On" sendet keine Protokollnachrichten und kann mit einem Port im Modus "Auto" oder "Passiv" keinen Kanal bilden. Beide Seiten müssen entweder statisch oder beide dynamisch mit demselben Protokoll arbeiten.
Die Lastverteilung kann ungleichmäßig sein, wenn der gewählte Hash-Algorithmus für die Verkehrsmuster des Netzes ungeeignet ist. Ein MAC-basierter Hash verteilt Verkehr zwischen zwei Routern mit nur einer MAC-Adresse pro Seite stets auf denselben physischen Link. In solchen Fällen sollte der Algorithmus auf IP-Adressen oder Ports umgestellt werden, um eine bessere Streuung zu erzielen.
Zusammenfassung und Best Practices
EtherChannel ist eine wirkungsvolle Methode, um die Bandbreite zwischen Switches zu erhöhen und Ausfallsicherheit zu gewinnen, ohne auf teurere Hardware umsteigen zu müssen. Die Verwendung von LACP als offenem Standard wird für alle neuen Installationen empfohlen. Die physischen Mitglieder sollten auf identische Einstellungen geprüft, die maximal acht Ports pro Kanal sollten vollständig bestückt werden, und der Hash-Algorithmus muss zu den erwarteten Verkehrsflüssen passen. In redundanten Topologien mit mehreren parallelen EtherChannels sorgt STP dafür, dass die logische Struktur schleifenfrei bleibt, während die physische Redundanz vollständig erhalten bleibt und aktiv genutzt wird.