Equal-Cost Multi-Path (ECMP): Lastverteilung auf Cisco Routern

Equal-Cost Multi-Path (ECMP) ermöglicht es Cisco Routern, mehrere gleichwertige Pfade zum selben Ziel parallel zu nutzen. Das erhöht Ausfallsicherheit und kann Last verteilen, ohne dass du komplexe Policy-Mechanismen brauchst. Damit ECMP in der Praxis sauber funktioniert, musst du verstehen, wann ein Pfad als „gleichwertig“ gilt, wie Cisco die Last verteilt (Hashing) und wie du ECMP zuverlässig verifizierst.

Was ist ECMP und wann wird es aktiv?

ECMP bedeutet: Für ein Zielpräfix existieren mehrere Routen mit gleicher Präfixlänge und gleichem „Kostenwert“ (innerhalb eines Protokolls) oder gleicher Bewertung (bei statischen Routen über AD/Metric-Kontext). Der Router installiert mehrere Next-Hops in die Routing- und Forwarding-Information.

  • Gleiche Präfixlänge (Longest Prefix Match bleibt der erste Filter)
  • Gleiche Route-Bewertung (z. B. gleiche OSPF-Kosten oder gleichwertige statische Routen)
  • Mehrere Next-Hops werden in der Tabelle sichtbar („via …“ mehrfach)

Merker: Gleiches Präfix, gleiche Kosten

ECMP = gleiches Präfix  &  gleiche Kosten

ECMP vs. Failover: wichtiger Unterschied

ECMP ist Lastverteilung, kein reines Backup. Wenn du nur Failover willst, brauchst du unterschiedliche Administrative Distances (Floating Static Routes) oder Tracking. Bei ECMP sind mehrere Pfade gleichzeitig aktiv.

  • ECMP: mehrere Pfade parallel aktiv
  • Failover: nur ein Pfad aktiv, Backup wartet im Hintergrund
  • Bei Default Routes kann ECMP unbeabsichtigt entstehen (gleiche AD)

Default-Route-ECMP vermeiden (wenn unerwünscht)

Router# show running-config | include ^ip route 0.0.0.0
Router# show ip route 0.0.0.0

Wie Cisco Last verteilt: Hashing statt Round-Robin

In den meisten Cisco-Implementierungen erfolgt die Verteilung per Hash (z. B. über Quell-/Ziel-IP, Ports). Das bedeutet: Einzelne Flows bleiben in der Regel auf einem Pfad (gut für TCP), aber die Verteilung ist nicht „Packet-by-Packet“ gleichmäßig.

  • Flow-basiert: ein Flow bleibt meist auf einem Pfad
  • Viele Flows: Verteilung wird statistisch gleichmäßiger
  • Ein einzelner großer Flow nutzt typischerweise nur einen Pfad

Warum das wichtig ist

  • TCP profitiert von stabilen Pfaden (weniger Reordering)
  • Bei wenigen Flows kann ein Link „voll“, der andere „leer“ wirken
  • Lasttests sollten mit mehreren parallelen Flows erfolgen

Praxisbeispiel: Zwei gleichwertige Pfade zu einem Zielnetz

Angenommen, dein Router erreicht 10.10.0.0/16 über zwei Next-Hops mit gleichen Kosten. In der Routing-Tabelle erscheinen dann zwei „via“-Einträge. Das ist ein typischer ECMP-Indikator.

Beispielausgabe in show ip route

Router# show ip route 10.10.0.0
O    10.10.0.0/16 [110/20] via 10.0.0.2, GigabitEthernet0/1
     10.10.0.0/16 [110/20] via 10.0.0.6, GigabitEthernet0/2

Forwarding-Check mit CEF

CEF zeigt dir, ob mehrere Next-Hops tatsächlich in der Forwarding-Information stehen.

Router# show ip cef 10.10.0.10
Router# show ip cef 10.10.0.0/16

ECMP mit statischen Routen: bewusst oder versehentlich

Auch statische Routen können ECMP bilden, wenn du mehrere gleichwertige statische Routen zum gleichen Präfix setzt. Das ist nützlich für Lastverteilung, aber gefährlich, wenn du eigentlich nur Backup wolltest.

Zwei statische Routen mit gleicher AD (ECMP)

Router# configure terminal
Router(config)# ip route 10.10.0.0 255.255.0.0 10.0.0.2
Router(config)# ip route 10.10.0.0 255.255.0.0 10.0.0.6
Router(config)# end

Wenn du nur Failover willst: AD unterscheiden

Router# configure terminal
Router(config)# no ip route 10.10.0.0 255.255.0.0 10.0.0.6
Router(config)# ip route 10.10.0.0 255.255.0.0 10.0.0.6 10
Router(config)# end

Maximalzahl ECMP-Pfade: wie viele werden genutzt?

Je nach Plattform und Protokoll gibt es eine Obergrenze, wie viele gleichwertige Pfade installiert werden. In der Praxis limitierst du ECMP bewusst, um Komplexität zu reduzieren oder Ressourcen zu schonen.

Pfadlimit bei dynamischem Routing (Beispielprinzip)

Bei OSPF/EIGRP kann man die Anzahl der parallel genutzten Pfade typischerweise begrenzen.

Router# configure terminal
Router(config)# router ospf 1
Router(config-router)# maximum-paths 2
Router(config-router)# end

Verifikation der installierten Pfade

Router# show ip route 10.10.0.0
Router# show ip cef 10.10.0.0/16

Asymmetrische Pfade und Stateful Firewalls: häufige Nebenwirkung

ECMP kann dazu führen, dass Hin- und Rückweg unterschiedliche Pfade nehmen. Das ist routing-technisch okay, kann aber bei stateful Firewalls, NAT oder bestimmten VPN-Designs Sessions brechen.

  • Stateful Firewall erwartet oft symmetrischen Traffic
  • NAT kann inkonsistent werden, wenn Rückweg anders läuft
  • VPNs/Overlays können unterschiedliche Performance pro Pfad haben

Symptome erkennen

Router# traceroute 10.10.0.10
Router# show ip nat translations
Router# show logging

ECMP sauber verifizieren: Routing, CEF und Counters

Damit du nicht nur „zwei Einträge“ siehst, sondern echte Nutzung bestätigst, kombinierst du Tabelle, CEF und Interface-Zähler. Lasttests sollten mehrere parallele Verbindungen erzeugen.

Schritt 1: Routing-Tabelle prüfen

Router# show ip route 10.10.0.0
Router# show ip route | include 10.10.0.0

Schritt 2: CEF-Nexthops prüfen

Router# show ip cef 10.10.0.10
Router# show ip cef exact-route 192.168.10.10 10.10.0.10

Schritt 3: Interface-Counters beobachten

Router# show interfaces gigabitEthernet0/1 | include packets|bytes
Router# show interfaces gigabitEthernet0/2 | include packets|bytes

Häufige Fehlerbilder bei ECMP

Wenn ECMP „nicht funktioniert“, ist oft nur ein Pfad wirklich gleichwertig oder ein Next-Hop ist nicht sauber erreichbar. Prüfe Kosten, Erreichbarkeit und ob CEF aktiv ist.

  • Kosten/Metriken sind nicht gleich (OSPF cost, EIGRP metric, BGP best-path)
  • Nur ein Pfad hat die beste AD (statische Route vs. dynamisch)
  • Next-Hop auf einem Pfad ist nicht erreichbar (ARP/Link/VLAN)
  • Du testest mit nur einem Flow (dann wirkt es „nicht verteilt“)

Quick-Checks

Router# show ip route 10.10.0.0
Router# show ip cef 10.10.0.0/16
Router# show arp | include 10.0.0.2|10.0.0.6
Router# ping 10.0.0.2
Router# ping 10.0.0.6

Best Practices für ECMP in produktiven Netzen

ECMP ist robust, wenn du es bewusst designst. Achte auf Symmetrie, prüfe Statefulness im Pfad und dokumentiere, wo Lastverteilung erwartet wird.

  • ECMP bewusst einplanen (nicht „zufällig“ durch gleiche Default Routes)
  • Stateful Devices berücksichtigen (Firewall/NAT/VPN)
  • Pfadkosten konsistent halten, sonst instabile Pfadwechsel
  • Lasttests mit mehreren parallelen Flows durchführen
  • Monitoring pro Uplink/Interface (Counters, Drops, Errors)

Konfiguration speichern

Wenn die Tests erfolgreich sind, speichere die Konfiguration, damit ECMP-Einstellungen (z. B. maximum-paths) dauerhaft erhalten bleiben.

Router# copy running-config startup-config

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab (CCNA)

Hallo! Ich bin ein CCNA-Network Engineer und unterstütze Sie bei Cisco Router- und Switch-Konfigurationen – inklusive eines vollständigen Cisco Packet-Tracer-Labs (.pkt). Ideal für Lern-/Übungsszenarien, Validierung oder eine saubere Demo-Topologie.

Was ich (je nach Paket) umsetze

  • Switching: VLANs, Trunking (802.1Q), Port-Zuweisung, STP-Basics (PortFast/BPDU Guard wo sinnvoll)

  • Routing: Default/Static Routing oder OSPF, Inter-VLAN Routing (Router-on-a-Stick)

  • Services: DHCP (Pools/Scopes), NAT/PAT für Internet-Simulation

  • Optional Security: Basic ACLs und SSH-Hardening

  • Test & Verifikation: Ping/Traceroute + wichtige Show-Commands (mit erwarteten Ergebnissen)

Sie erhalten

  • Packet Tracer .pkt Datei

  • ✅ Saubere Konfigurations-Notizen pro Gerät

  • ✅ Verifikations-Checkliste + erwartete Outputs

  • ✅ Kurze Dokumentation (wie die Topologie funktioniert)

Bitte schreiben Sie mir vor der Bestellung, damit wir Scope, Packet-Tracer-Version, Geräteanzahl und Deadline klären.

Konfiguriere Cisco Router & Switches | Cisco Packet-Tracer-Labs. Finden Sie mich auf Fiverr.

Related Articles