# Etherchannel

Etherchannel und Fast Etherchannel sind registrierte Handelsmarken von Cisco und leiten sich von Ethernet und Channel (englisch Kanal) ab. Etherchannel ist das Kunstwort für eine Erfindung der Firma Kalpana (heute Cisco) und bezeichnet ein Verfahren zur Bündelung mehrerer physikalischer Ethernet-Schnittstellen zu einem logischen Kanal, bei Fast Etherchannel werden mehrere Fast-Ethernet-Schnittstellen gebündelt. Etherchannel hat sich teilweise als alltäglicher Ausdruck für die Ethernet-Kanal-Bündelung etabliert und wird umgangssprachlich nicht nur für Cisco-Produkte benutzt (Gattungsbegriff ähnlich wie bei Tempo und Papiertaschentüchern). Die Technik diente ursprünglich ausschließlich der Erhöhung des Datendurchsatzes zwischen zwei Ethernet-Switches (ebenfalls von Kalpana erfunden). Schon bald nach der Einführung von Etherchannel gab es aber auch Implementierungen zur Anbindung von Servern und anderen Systemen.

## 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.
* Teaming, im Windows-Umfeld.
* Etherchannel, bei Cisco.
* Link Aggregation, bei IEEE
* Port Aggregation, bei Hewlett-Packard.
* Shortest Path Bridging, IEEE 802.1aq
* Trunking, bei Sun Microsystems (siehe IP network multipathing), aber auch bei anderen Herstellern.

## Funktionsweise

Allgemein werden mehrere physische Ethernet-Schnittstellen zur Verbindung zweier Geräte zusammengeschaltet. Das bedeutet, dass zwei gebündelte Schnittstellen die doppelte Datenmenge transportieren können, vier Schnittstellen folglich die vierfache Datenmenge. 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ündelungsverfahren, 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 der Schnittstellenbündelung 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ündelungsverfahren

* Round Robin: Alle zur Verfügung stehenden Leitungen abwechselnd der Reihe nach benutzt.
* DA-Trunking: Die elementare Schnittstelle wird anhand des Modulo der MAC-Adresse des Ziels gewählt.
* SA-Trunking: Die elementare Schnittstelle wird anhand des Modulo der MAC-Adresse der Quelle gewählt.
* SA-DA-Trunking: Die elementare Schnittstelle wird anhand des Modulo der MAC-Adressen des Ziels und der Quelle gewählt.
* Adaptives Trunking: Erst bei 100 % Auslastung der ersten elementaren Schnittstelle wird eine weitere Schnittstelle zugeschaltet.
* Dynamisches Trunking: Mit Hilfe des proprietären PAgP oder des IEEE-konformen LACP lassen sich dynamische Etherchannels definieren.

## Grundlegende Implementierung

Die grundlegende Implementierung einer Kanalbündelung zwischen zwei Ethernet-Switches kommt mit erstaunlich geringen Änderungen (im Vergleich zu einem normalen Switch) aus. Grundsätzlich muss das Management Interface Funktionen zur Definition des Trunks enthalten. Weiterhin ist die Art und Weise, wie ein Switch seine Source Address Table (SAT, die 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: Die notwendigen Funktionen und Befehle sind in den Menüstrukturen enthalten.
* Adressenlernphase: Empfängt ein Switch auf einem Trunk-Port eine unbekannte Quell-MAC-Adresse, so wird diese nicht automatisch der SAT dieses Ports zugeordnet, sondern der Switch versucht, allen Mitgliedern des Etherchannels die gleiche Netzlast zuzuordnen. Daher werden neue Quell-MAC-Adressen gleichmäßig auf allen zum gleichen Etherchannel gehörenden Ports verteilt. Folglich erhält der Port, der momentan die wenigsten Einträge in seiner SAT führt, die neue Adresse.
* Broadcasts und unbekannte Adressen: Diese werden bei einem Trunk nicht über alle Ports geschickt, sondern pro Etherchannel nur über eine Leitung. Im Allgemeinen wird der Port mit der niedrigsten Port Nummer gewählt.
Es sind keine weiteren Maßnahmen nötig, um eine einfache Implementierung zu realisieren. Die Implementierung der Transportmechanismen (cut through, store and forward usw.) benötigen keine Änderung. Dennoch, diese 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 das, dass sie keine Vorteile hat – nur das Netz als Ganzes 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 leistungsstarke Server anbinden können. Alle diese Fakten haben dazu geführt, dass viele Hersteller verschiedene, aber auch weiter entwickelte Implementierungen anbieten, jedoch sind diese in der Regel nicht zueinander kompatibel.