ECMP
Equal-Cost Multi-Path Routing
ECMP verteilt Traffic über mehrere gleichwertige Pfade zum selben Ziel. Statt einen einzigen Weg zu wählen, nutzt der Router alle Pfade mit identischer Metrik gleichzeitig. Das verdoppelt (oder vervielfacht) den effektiven Durchsatz und bietet automatischen Failover bei Pfadausfall.
Entstehung und Beteiligte
Equal-Cost Multipath ist kein einzelnes Produkt, sondern eine Weiterentwicklung von Routing und Hardwareweiterleitung. IETF-Dokumente beschrieben Mehrwege-Routing bereits früh; moderne ASICs verteilen Datenströme anhand von Hashwerten auf gleichwertige Next Hops.
Welches Problem sollte gelöst werden?
Mehrere gleich gute Leitungen sollten parallel genutzt werden, statt eine aktiv zu lassen und andere nur als Reserve vorzuhalten. Das erhöht Kapazität und Redundanz.
Technische Hürden und Lösungen
Paketweise Verteilung kann Reihenfolge zerstören. Deshalb hashen Geräte meist Quell- und Zieladressen sowie Ports pro Flow. Ungleich große Flows erzeugen trotzdem Schieflast. Änderungen der Next Hops können viele bestehende Zuordnungen verschieben.
Standardisierung und Einordnung
Routingverfahren beantworten die Frage, über welchen nächsten Knoten ein Paket sein Ziel erreicht. Ihre Entwicklung ist eng mit dem Wachstum des Internets und großer Unternehmensnetze verbunden. Die schwierigsten Probleme sind Schleifen, langsame Konvergenz, unvollständige Informationen und die Skalierung großer Tabellen. Kein Algorithmus kennt das gesamte reale Netz in Echtzeit; Router arbeiten mit ausgetauschten Zuständen, Regeln und Metriken.
Technik im praktischen Betrieb
Im Betrieb müssen Steuerungsebene und tatsächliche Weiterleitung getrennt geprüft werden. Eine Route kann im Protokoll gelernt, durch eine Richtlinie verworfen oder wegen eines anderen Präfixes nie verwendet werden. Nach Änderungen sind Nachbarschaft, Datenbank, Routingtabelle, Forwarding-Tabelle und Rückweg zu kontrollieren. Schnelle Konvergenz ist nicht automatisch stabil: zu aggressive Timer können kurze Lastspitzen als Leitungsfehler interpretieren. Zusammenfassungen und Filter reduzieren Größe, können aber Detailinformation verbergen.
Warum das Thema heute noch relevant ist
Die Relevanz dieser Verfahren wächst mit der Abhängigkeit von Netzen. Schon eine kleine fehlerhafte Ankündigung kann heute Rechenzentren, Cloudregionen oder Teile des Internets betreffen. Historisch gewachsene Vertrauensmodelle werden deshalb durch Filter, Authentifizierung, RPKI, Telemetrie und Automatisierung ergänzt. Trotzdem bleibt menschliche Kontrolle notwendig: Ein formal gültiger Weg kann geschäftlich oder sicherheitstechnisch falsch sein, und ein schneller Ersatzpfad kann andere Leitungen überlasten.
Daten und Meilensteine
- ECMP verwendet mehrere Routen mit identischer Metrik.
- Hashing hält Pakete eines Datenstroms normalerweise auf demselben Pfad.
- Per-Packet-Load-Balancing kann Paket-Reordering verursachen.
- Resilient Hashing reduziert Neuverteilung bei Pfadänderungen.
Was ist ECMP?
Equal-Cost Multi-Path (ECMP) ist ein Routing-Mechanismus, bei dem mehrere Pfade mit identischer Metrik zum selben Ziel in der Routing-Tabelle eingetragen und gleichzeitig genutzt werden. Statt einen einzigen "besten" Pfad zu wählen, verteilt der Router den Traffic auf alle gleichwertigen Pfade.
Praktisches Beispiel: Drei parallele 10-Gbit/s-Links zwischen zwei Rechenzentren. Mit ECMP ergibt sich ein effektiver Durchsatz von 30 Gbit/s. Bei Ausfall eines Links übernehmen die verbleibenden zwei, ohne manuelles Eingreifen.
Hash-basierte Lastverteilung
ECMP verteilt Flows (nicht einzelne Pakete) auf Pfade, um Paket-Reordering zu vermeiden. Ein Hash wird über Felder des Paket-Headers berechnet:
- 5-Tupel-Hash (Standard): Quell-IP + Ziel-IP + Protokoll + Quell-Port + Ziel-Port
- Layer-3-Hash: Nur IP-Adressen (für nicht-TCP/UDP-Traffic)
- Innerhalb eines TCP-Flows gehen alle Pakete über denselben Pfad (Konsistenz)
- Asymmetric ECMP: Wenn beide Richtungen unterschiedlich viele Pfade haben
- Consistent Hashing: Minimiert Umverteilung bei Pfadänderung (wichtig in großen Fabrics)
ECMP in verschiedenen Kontexten
IP-Routing: OSPF, EIGRP, IS-IS setzen automatisch mehrere gleich-metrische Routen in die RIB. max-paths-Kommando steuert die Anzahl (Standard oft 4, max 64).
BGP-ECMP (Multipath): Benötigt explizite Konfiguration. iBGP-Multipath ist einfacher. eBGP-Multipath erfordert gleichen AS-Path oder Multipath-Relax.
Data Center Fabrics: CLOS-Topologien (Spine-Leaf) sind komplett auf ECMP ausgelegt — alle Paths zwischen Leaf und Spine sind equal-cost. BGP-ECMP oder ISIS-ECMP mit ECMP-Faktoren von 32, 64 oder 128.
LAG (Link Aggregation Group, 802.3ad): Ähnliches Konzept auf Layer 2 — mehrere physische Links zu einem logischen Bundle zusammengefasst.
Limitierungen und Lösungen
Hash-Polarisierung: Wenn alle Flows denselben Hash ergeben (z.B. weil Quell-IPs ähnlich sind), landen alle auf einem Pfad. Lösung: Verschiedene Hash-Seeds auf jedem Hop oder Flowlet Switching.
Elephant Flows: Ein einzelner großer TCP-Flow (Backup, Video) belegt einen ganzen Pfad. Load-Balancing hilft hier nicht — der Flow ist per Hash auf einem Pfad. Lösung: Flowlet Switching, Traffic Shaping.
Asymmetrisches Routing: ECMP auf einem Gerät, aber der Rückweg geht über einen anderen Pfad. Kann Firewall-State-Issues verursachen.