Einleitung
In diesem Dokument wird die Funktionsweise von Lastenausgleich in der Router-Software und -Plattform beschrieben.
Voraussetzungen
Anforderungen
Es gibt keine spezifischen Anforderungen für dieses Dokument.
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Konventionen
Weitere Informationen zu Dokumentkonventionen finden Sie in den technischen Tipps von Cisco zu Konventionen.
Hintergrundinformationen
Der Lastenausgleich ist eine Standardfunktion der Cisco IOS® Router-Software und für alle Router-Plattformen verfügbar.
Sie ist Bestandteil des Weiterleitungsprozesses im Router und wird automatisch aktiviert, wenn die Routing-Tabelle über mehrere Pfade zu einem Ziel verfügt.
Es basiert auf Standardroutingprotokollen, z. B.
- Routing Information Protocol (RIP)
- RIPv2
- EIGRP (Enhanced Interior Gateway Routing Protocol)
- Open Shortest Path First (OSPF)
- Interior Gateway Routing Protocol (IGRP)
oder von statisch konfigurierten Routen und Paketweiterleitungsmechanismen abgeleitet werden. Router können beim Weiterleiten von Paketen mehrere Pfade zu einem Ziel verwenden.
Lastenausgleich
Wenn ein Router mehrere Routen zu einem bestimmten Netzwerk über mehrere Routing-Prozesse (oder Routing-Protokolle wie RIP, RIPv2, IGRP, EIGRP und OSPF) erlernt, installiert er die Route mit der geringsten administrativen Distanz in der Routing-Tabelle.
Weitere Informationen finden Sie unter Routenauswahl in Cisco Routern.
In manchen Fällen muss der Router eine Route aus einer Vielzahl gelernter Routen über denselben Routing-Prozess mit derselben administrativen Distanz auswählen. In diesem Fall wählt der Router den Pfad mit den niedrigsten Kosten (oder einer Metrik) zum Ziel aus.
Jeder Routing-Prozess berechnet seine Kosten unterschiedlich, und manchmal müssen die Kosten manipuliert werden, um einen Lastenausgleich zu erreichen.
Wenn der Router mehrere Pfade mit der gleichen administrativen Distanz und den gleichen Kosten zu einem Ziel empfängt und installiert, kann es zu einem Lastenausgleich kommen.
Die Anzahl der verwendeten Pfade wird durch die Anzahl der Einträge begrenzt, die das Routing-Protokoll in die Routing-Tabelle einfügt.
In Cisco IOS sind für die meisten IP-Routing-Protokolle vier Einträge standardmäßig enthalten, mit Ausnahme des Border Gateway Protocol (BGP), wobei ein Eintrag der Standardwert ist.
Es sind maximal sechs verschiedene Pfade konfiguriert.
Die IGRP- und EIGRP-Routing-Prozesse unterstützen auch den Lastenausgleich bei ungleichen Kosten. Sie können den Befehl variance zusammen mit IGRP und EIGRP verwenden, um einen ungleichen Kosten-Lastenausgleich zu erreichen.
Führen Sie den Befehl maximum-paths aus, um die Anzahl der Routen zu bestimmen, die auf Basis des für das Protokoll konfigurierten Werts installiert werden können.
Wenn Sie für die Routing-Tabelle einen Eintrag festlegen, wird der Lastenausgleich deaktiviert.
Weitere Informationen finden Sie unter Wie funktioniert der ungleiche Kostenpfad-Lastenausgleich (Varianz) in IGRP und EIGRP? für weitere Informationen über Varianz.
Normalerweise können Sie den Befehl show ip route verwenden, um Routen zu gleichen Kosten zu finden. Das nächste Beispiel ist die Ausgabe des Befehls show ip route an ein bestimmtes Subnetz mit mehreren Routen.
Beachten Sie, dass es zwei Routing-Beschreibungsblöcke gibt. Jeder Block stellt eine Route dar. Neben einem der Blockeinträge befindet sich ein Sternchen (*). Dies entspricht der aktiven Route, die für neuen Datenverkehr verwendet wird.
Der Begriff "neuer Datenverkehr" bezieht sich je nach konfiguriertem Switching-Typ auf ein einzelnes Paket oder einen gesamten Datenfluss zu einem Ziel.
-
Für Prozess-Switching - Der Lastenausgleich erfolgt paketweise, und das Sternchen (*) verweist auf die Schnittstelle, über die das nächste Paket gesendet wird.
-
Für schnelles Switching - Der Lastenausgleich erfolgt nach Ziel, und das Sternchen (*) verweist auf die Schnittstelle, über die der nächste zielbasierte Fluss gesendet wird.
Die Position des Sternchens (*) dreht sich bei jedem Empfang eines Pakets/Datenflusses weiterhin um die gleichen Kostenpfade.
M2515-B#show ip route 10.0.0.0
Routing entry for 10.0.0.0/8
Known via "rip", distance 120, metric 1
Redistributing via rip
Advertised by rip (self originated)
Last update from 192.168.75.7 on Serial1, 00:00:00 ago
Routing Descriptor Blocks:
* 192.168.57.7, from 192.168.57.7, 00:00:18 ago, via Serial0
Route metric is 1, traffic share count is 1
192.168.75.7, from 192.168.75.7, 00:00:00 ago, via Serial1
Route metric is 1, traffic share count is 1
Lastenausgleich nach Ziel und Paket
Sie können den Lastenausgleich auf "pro Ziel" oder "pro Paket" einstellen.
Lastenausgleich nach Ziel bedeutet, dass der Router die Pakete basierend auf der Zieladresse verteilt.
Wenn zwei Pfade zu demselben Netzwerk vorhanden sind, werden alle Pakete für destination1 in diesem Netzwerk über den ersten Pfad, alle Pakete für destination2 in diesem Netzwerk über den zweiten Pfad usw. geleitet.
Auf diese Weise wird die Paketreihenfolge mit potenziell ungleicher Nutzung der Links beibehalten. Empfängt ein Host den Großteil des Datenverkehrs, nutzen alle Pakete eine Verbindung, sodass die Bandbreite der anderen Verbindungen ungenutzt bleibt.
Eine größere Anzahl von Zieladressen führt zu gleichmäßigeren Verbindungen. Um gleichmäßigere Verbindungen zu erzielen, verwenden Sie die Cisco IOS-Software, um einen route-cache-Eintrag für jede Zieladresse zu erstellen, anstatt für jedes Zielnetzwerk, wie es der Fall ist, wenn nur ein Pfad existiert.
Daher kann der Datenverkehr für verschiedene Hosts im gleichen Zielnetzwerk unterschiedliche Pfade verwenden. Der Nachteil dieses Ansatzes besteht darin, dass für Core-Backbone-Router, die Datenverkehr für Tausende von Ziel-Hosts übertragen, die Speicher- und Verarbeitungsanforderungen zur Verwaltung des Caches zu einer Herausforderung werden.
Paketbasierter Lastenausgleich bedeutet, dass der Router ein Paket für Ziel1 über den ersten Pfad, das zweite Paket für (dasselbe) Ziel1 über den zweiten Pfad usw. sendet.
Paketbasierter Lastenausgleich garantiert eine gleichmäßige Last über alle Verbindungen hinweg. Es besteht jedoch die Möglichkeit, dass die Pakete am Ziel aus der Reihe nach ankommen, da innerhalb des Netzwerks eine differenzielle Verzögerung auftreten kann.
Mit Ausnahme der Version 11.1CC deaktiviert der Cisco IOS-Software die Weiterleitungsbeschleunigung durch einen Routen-Cache, da die Informationen zum Routen-Cache die ausgehende Schnittstelle enthalten.
Für den Lastenausgleich pro Paket bestimmt der Weiterleitungsprozess die ausgehende Schnittstelle für jedes Paket, wenn er die Routing-Tabelle durchsucht und die am wenigsten verwendete Schnittstelle auswählt.
Dies stellt eine gleichmäßige Auslastung der Verbindungen sicher, ist jedoch prozessorintensiv und wirkt sich auf die gesamte Weiterleitungsleistung aus. Diese Form des paketbasierten Lastenausgleichs ist für Schnittstellen mit höheren Geschwindigkeiten nicht gut geeignet.
Der Per-Destination- oder Per-Packet-Lastenausgleich hängt vom Switching-Schema ab, das für IP-Pakete verwendet wird. Auf den meisten Cisco Routern ist Fast Switching standardmäßig unter Schnittstellen aktiviert.
Hierbei handelt es sich um ein Lastencaching-Schema, das einen Lastenausgleich nach Ziel durchführt.
Um den Lastenausgleich für jedes Paket festzulegen, aktivieren Sie das Prozess-Switching (oder deaktivieren Sie das Fast Switching), und verwenden Sie die folgenden Befehle:
Router#configure terminal
Router(config)#interface Ethernet 0
Router(config-if)#no ip route-cache
Router(config-if)#^Z
Die Router-CPU prüft nun jedes einzelne Paket und verteilt die Last auf die Anzahl der Routen in der Routing-Tabelle für das Ziel. Dadurch kann ein Low-End-Router zum Absturz gebracht werden, da die CPU die gesamte Verarbeitung übernehmen muss.
Um Fast Switching erneut zu aktivieren, verwenden Sie die folgenden Befehle:
Router#configure terminal
Router(config)#interface Ethernet 0
Router(config-if)#ip route-cache
Router(config-if)#^Z
Neuere Switching-Schemata wie Cisco Express Forwarding (CEF) ermöglichen einen schnelleren Lastenausgleich pro Paket und pro Ziel.
Es bedeutet jedoch, dass Sie über die zusätzlichen Ressourcen verfügen, um CEF-Einträge und Adjacency zu verwalten.
Wenn Sie mit CEF zusammenarbeiten, könnten Sie fragen: Wer verwendet Load Balancing, CEF oder das Routing-Protokoll?
Die Funktionsweise von CEF ist, dass CEF das Switching des Pakets auf der Grundlage der Routing-Tabelle durchführt, die von den Routing-Protokollen wie EIGRP aufgefüllt wird. Kurz gesagt führt CEF den Lastenausgleich durch, sobald die Routing-Protokolltabelle berechnet wurde.
Weitere Informationen zum CEF-Lastenausgleich finden Sie unter Troubleshooting Load Balancing Over Parallel Links Using Cisco Express Forwarding and Load Balancing with CEF.
In den folgenden Dokumenten finden Sie weitere Informationen dazu, wie die verschiedenen Protokolle einen optimalen Pfad auswählen, ihre Kosten für bestimmte Ziele berechnen und wie sie bei Anwendung einen Lastenausgleich durchführen.
Zugehörige Informationen