Netzwerk & WAN
LACP / Link Aggregation
Link Aggregation (IEEE 802.1AX) bündelt mehrere Ethernet-Links zu einem logischen Bündel; LACP handelt dieses zwischen den Geräten automatisch aus.
- Bandbreite bündeln
- Failover ohne STP
- IEEE 802.1AX
- Lastverteilung per Hash
- Server, Switch, Storage
Link Aggregation fasst mehrere physische Ethernet-Verbindungen zu einem logischen Bündel zusammen. Aus zwei oder vier Leitungen wird nach außen ein einziger Link, der mehr aggregierten Durchsatz bietet und beim Ausfall einzelner Mitglieder weiterarbeitet. Das Steuerprotokoll dahinter ist LACP (Link Aggregation Control Protocol), das die Bündelung zwischen beiden Seiten aushandelt und überwacht.
Dieser Artikel erklärt, wie LACP ein Bündel aufbaut, wie die Lastverteilung per Hash funktioniert und warum ein einzelner Datenstrom dadurch nie schneller wird als ein Mitglied, welche Timer und Modi es gibt, wie Linux-Bonding das umsetzt und wo MLAG die Grenze des Standards verschiebt.
1. Bündel, EtherChannel, Bond: ein Konzept, viele Namen
Die Technik heißt je nach Hersteller anders, meint aber dasselbe. Normativ spricht IEEE 802.1AX von einer Link Aggregation Group (LAG). Cisco nennt sie EtherChannel oder Port-Channel, Linux nennt sie Bond, Aruba und HPE sprechen von Trunk (nicht zu verwechseln mit dem VLAN-Trunk), Windows von NIC Teaming. Das Aushandlungsprotokoll heißt überall LACP.
Standardisiert wurde Link Aggregation 2000 als IEEE 802.3ad und 2008 in den eigenständigen Standard IEEE 802.1AX überführt. Aktuell gilt 802.1AX-2020, ergänzt 2025 um YANG-Datenmodelle (802.1AXdz).
2. Wie LACP ein Bündel aufbaut
LACP gehört zu den Slow Protocols: gemeinsamer EtherType 0x8809, Ziel-Multicast 01:80:c2:00:00:02, LACP-Subtype 0x01, mit bewusst niedriger Senderate (daher „Slow“). In den LACPDUs tauschen beide Seiten je einen Actor- und einen Partner-Block mit System-Priorität, System-MAC, Key, Port-Priorität, Portnummer und einem Status-Byte aus.
Aus System-Priorität und System-MAC bildet sich die System-ID; die Seite mit der niedrigeren System-ID steuert die Aggregation. Das Status-Byte signalisiert über einzelne Bits unter anderem Activity (aktiv/passiv), Timeout (fast/slow), Synchronization, Collecting und Distributing. Ein gesundes Mitglied zeigt Synchronization, Collecting und Distributing gesetzt.
3. Aktiv, passiv oder statisch
Für den Aufbau gibt es drei Betriebsarten, deren Zusammenspiel entscheidet, ob überhaupt ein Bündel entsteht:
- active der Port sendet von sich aus LACPDUs. Mindestens eine Seite muss aktiv sein.
- passive der Port antwortet nur auf LACPDUs. Zwei passive Seiten bilden kein Bündel.
- static / on keine Aushandlung, die Ports werden hart gebündelt. Fällt eine Seite stillschweigend aus dem Bündel, bemerkt es die Gegenseite nicht, was zu Blackholing oder Schleifen führen kann. Nur einsetzen, wenn die Gegenstelle kein LACP kann.
LACP ist dem statischen Bündel vorzuziehen, weil es Fehlkonfiguration und einseitige Ausfälle aktiv erkennt, statt blind weiterzuleiten.
4. Timer: fast oder slow
Die Sendrate der LACPDUs bestimmt, wie schnell ein ausgefallenes Mitglied erkannt wird. Der Empfänger richtet sich nach dem vom Sender angekündigten Timeout:
| Modus | Sendeintervall | Timeout (3 ausbleibende PDUs) |
|---|---|---|
| slow (Standard) | 30 Sekunden | 90 Sekunden |
| fast | 1 Sekunde | 3 Sekunden |
Wann fast
Für Hypervisor-Hosts, Storage und hochverfügbare Anbindungen lohnt der fast-Modus, weil ein totes Mitglied dann in Sekunden statt eineinhalb Minuten erkannt wird. Für noch schnellere Erkennung auf Member-Ebene gibt es micro-BFD (RFC 7130).
5. Lastverteilung: ein Hash, kein Paket-Splitting
LACP selbst verteilt keine Last, das übernimmt die Implementierung in Switch-ASIC oder Bonding-Treiber. Das Prinzip ist überall gleich: Über ausgewählte Frame-Felder wird ein Hash gebildet, modulo der Anzahl aktiver Mitglieder ergibt sich der Ausgangsport. Die Zuordnung gilt pro Flow, alle Pakete einer Verbindung nehmen denselben Link. Ein Paket-für-Paket-Splitting gibt es nicht, weil sonst die Reihenfolge bräche.
Welche Felder in den Hash eingehen, steuert die Policy: Layer 2 nutzt nur MAC-Adressen, Layer 2+3 zusätzlich die IP-Adressen, Layer 3+4 zusätzlich die TCP/UDP-Ports. Je mehr Felder, desto gleichmäßiger die Verteilung über viele Flows.
Zwei gebündelte 10-Gbit/s-Links ergeben 20 Gbit/s nur über viele parallele Verbindungen. Ein einzelner Datenstrom bleibt auf 10 Gbit/s begrenzt, weil er genau einem Mitglied zugeordnet ist.
6. Hash-Polarisierung
Verwenden mehrere hintereinanderliegende Geräte dieselbe Hash-Funktion, landen Flows auf jeder Stufe wieder auf demselben Mitglied. Einzelne Links bleiben leer, andere laufen über. In MLAG-Umgebungen ist das Risiko höher, weil beide Peers konsistent hashen müssen. Abhilfe schaffen eine andere Hash-Ebene (etwa Layer 3+4 statt Layer 2), unterschiedliche Policies an verschiedenen Stufen oder Randomisierung in moderneren ASICs.
7. Link Aggregation unter Linux
Der Linux-Bonding-Treiber kennt mehrere Modi; Modus 802.3ad (mode 4) implementiert LACP. Wichtig sind die Hash-Policy (xmit_hash_policy), die LACP-Rate und die Mindestzahl aktiver Mitglieder. Alle Mitglieder müssen gleiche Geschwindigkeit und Duplex haben, als Link-Monitor ist nur der MII-Monitor zulässig.
Bond mit LACP (systemd-networkd)
# /etc/systemd/network/10-bond0.netdev
[NetDev]
Name=bond0
Kind=bond
[Bond]
Mode=802.3ad
TransmitHashPolicy=layer3+4 # gute Verteilung bei vielen Flows
LACPTransmitRate=fast # 1s statt 30s
MIIMonitorSec=100ms
MinLinks=1 Hash-Falle am Gateway
Bei der Standard-Policy layer2 trägt aller Verkehr zum selben Router dieselbe Ziel-MAC und landet auf einem einzigen Mitglied. Für geroutete Last gehört deshalb layer2+3 oder layer3+4 gewählt.
8. Über zwei Switches: MLAG
Ein Standard-LAG nach 802.1AX endet immer auf einem einzigen Gerät. Soll ein Server gegen den Ausfall eines ganzen Switches abgesichert sein, muss das Bündel auf zwei physische Switches verteilt werden. Das leistet MLAG (Multi-Chassis LAG), bei Cisco vPC genannt. Aus Sicht des Servers bleibt es ein normales LACP-Bündel; die Koordination zwischen den beiden Switches läuft über einen herstellerspezifischen Peer-Link. MLAG ist kein IEEE-Standard und damit nicht herstellerübergreifend.
9. Stärken und Grenzen
| Stärken | Grenzen |
|---|---|
| Mehr aggregierter Durchsatz über viele Flows | Ein einzelner Flow bleibt auf ein Mitglied begrenzt |
| Transparenter Failover ohne eigene Schleifenauflösung | Lastverteilung ist deterministisch, nicht adaptiv |
| Herstellerneutral standardisiert (IEEE 802.1AX) | MLAG für Switch-Redundanz ist proprietär |
| LACP erkennt Fehlkonfiguration und einseitige Ausfälle | Hash-Polarisierung in mehrstufigen Topologien |
| Breite Unterstützung (Linux-Bonding, NIC Teaming, lagg) | Mitglieder brauchen gleiche Geschwindigkeit, Duplex und MTU |
Häufige Fragen zu LACP / Link Aggregation
Nur in der Summe über viele gleichzeitige Verbindungen. Die Lastverteilung ordnet jeden Flow per Hash genau einem Mitglied zu, ein Paket-Splitting gibt es nicht. Eine einzelne Verbindung kann deshalb höchstens die Kapazität eines Mitglieds nutzen, also 10 Gbit/s.
LACP ist vorzuziehen. Es handelt das Bündel aktiv aus, erkennt Fehlkonfiguration auf der Gegenseite und merkt, wenn ein Mitglied ausfällt. Ein statisches Bündel leitet auch dann weiter, wenn die Gegenseite den Link verloren hat, was zu Blackholing oder Schleifen führen kann.
Auch der Autor ist nur ein Mensch, dem Fehler unterlaufen können. Wenn in diesem Beitrag etwas nicht stimmt oder unklar ist, freuen wir uns über einen kurzen Hinweis über das Kontaktformular unten, wir prüfen und korrigieren das.
Der nächste Schritt
LACP / Link Aggregation im eigenen Haus richtig einsetzen?
Wir klären, ob und wie der Baustein zu Ihrer Infrastruktur passt, und sagen offen, wann sich der Aufwand lohnt und wann nicht.