In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument wird erläutert, wie Cisco IOS funktioniert. Bei Verwendung von Cisco Express Forwarding implementiert die Software den Layer-3-Lastenausgleich über mehrere parallele Verbindungen.
In diesem Dokument wird von einem Verständnis der beiden Datenstrukturen von Cisco Express Forwarding ausgegangen.
Forwarding Information Base (FIB)
Adjacency-Tabelle
Im Abschnitt "Zugehörige Informationen" dieses Dokuments finden Sie eine Übersicht über die Cisco Express Forwarding-Funktion.
Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.
Die in diesem Dokument enthaltenen Informationen wurden aus Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Sie in einem Live-Netzwerk arbeiten, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen, bevor Sie es verwenden.
Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions.
IP-Switching ist der interne Mechanismus, mit dem Cisco IOS Pakete über einen Router weiterleitet. Zu den verfügbaren Mechanismen gehören Prozesswechsel, schnelles Switching und Cisco Express Forwarding. Je nachdem, welcher der drei Mechanismen zum Umschalten der Mehrzahl der Pakete verwendet wird, wirkt sich dies auf die Gesamtleistung des Systems und den Lastenausgleich aus.
Die IP-Switching-Mechanismen unterstützen zwei allgemeine Modi: pro Paket und pro Ziel. In der folgenden Tabelle sind die Vor- und Nachteile beider Modi aufgeführt.
Pro Ziel | Pro Paket | |
---|---|---|
IP-Switching-Mechanismus | Fast Switching und Cisco Express Forwarding pro Ziel. | Prozess-Switching und Cisco Express Forwarding pro Paket. |
Vorteile | Bei schnellem Switching wird sichergestellt, dass Pakete für ein bestimmtes Ziel den gleichen Pfad verwenden, selbst wenn mehrere Pfade zur Verfügung stehen. Mit Cisco Express Forwarding Switching wird sichergestellt, dass Pakete für ein bestimmtes Quell-Ziel-Hostpaar denselben Pfad verwenden, selbst wenn mehrere Pfade zur Verfügung stehen. Datenverkehr, der für verschiedene Paare bestimmt ist, führt in der Regel zu unterschiedlichen Pfaden. | Die Pfadauslastung mit Lastenausgleich pro Paket ist gut, da der Router mithilfe des Lastenausgleichs pro Paket aufeinander folgende Datenpakete über Pfade senden kann, ohne dass einzelne Hosts oder Benutzersitzungen berücksichtigt werden müssen. Dabei wird mithilfe der Round-Robin-Methode bestimmt, welcher Pfad jedes Paket zum Ziel führt. |
Nachteile | Bei schnellem Switching kann das Ziel-Switching zu einer ungleichen Lastverteilung führen, da Pakete an ein Ziel immer denselben Pfad verwenden. Cisco Express Forwarding Switching kann zu einer ungleichen Verteilung mit einer kleinen Anzahl von Quell-Ziel-Paaren führen. Der Lastenausgleich pro Ziel hängt von der statistischen Verteilung des Datenverkehrs ab. Die Lastverteilung wird effektiver, wenn die Anzahl der Quell-Ziel-Paare zunimmt. | Pakete für ein bestimmtes Quell-Ziel-Host-Paar können unterschiedliche Pfade verwenden, was eine Neuordnung von Paketen zur Folge haben könnte. Dies wird für VoIP- (Voice over IP) und andere Datenflüsse, die eine sequenzielle Bereitstellung erfordern, nicht empfohlen. |
Load Balancing beschreibt die Fähigkeit eines Routers, Pakete über mehr als einen Pfad an eine Ziel-IP-Adresse (auch als IP-Präfix bezeichnet) zu übertragen.
Bei der Diskussion über Lastenausgleich müssen zunächst die folgenden Begriffe definiert werden:
Begriff | Definition |
---|---|
Präfix | Beschreibt ein Ziel-IP-Netzwerk, z. B. 192.16.10.0/24. Cisco IOS fügt der Routing-Tabelle ein Ziel-IP-Präfix hinzu, indem Informationen verwendet werden, die durch den Austausch von Nachrichten mithilfe eines dynamischen Routing-Protokolls oder durch die manuelle Konfiguration statischer Routen gewonnen wurden. |
Pfad | Beschreibt eine gültige Route zum Erreichen eines Zielpräfixes. Cisco IOS weist jedem Pfad Kosten zu. Ein Satz aktiver Pfade zu einem Zielpräfix kann gleich oder ungleiche Kosten haben. |
Sitzung | Beschreibt einen unidirektionalen Kommunikationsfluss zwischen zwei IP-Knoten. Alle Pakete in einer Sitzung verwenden dieselbe Quell- und Ziel-IP-Adresse. |
Weitere Informationen finden Sie unter Wie funktioniert der Lastenausgleich?
Cisco Express Forwarding verwendet die Pfadinformationen in der IP-Routing-Tabelle, um den Datenverkehr über mehrere Verbindungen hinweg auszugleichen. Aus diesem Grund beginnt die Bestätigung des richtigen Lastenausgleichs für die Cisco Express-Weiterleitung mit der Bestätigung des Inhalts der IP-Routing-Tabelle.
In der folgenden Topologie verbinden zwei Router, Router A und Router B, Back-to-Back über drei serielle Schnittstellen mit High-Level Data Link Control (HDLC)-Kapselung.
Router A | Router B |
---|---|
interface Ethernet 0 ip address 192.168.20.1 255.255.255.0 ! interface Serial1 ip address 10.10.10.1 255.255.255.0 ! interface Serial2 ip address 20.20.20.1 255.255.255.0 ! interface Serial3 ip address 30.30.30.1 255.255.255.0 ip ospf cost 100 ! router ospf 1 network 10.10.10.0 0.0.0.255 area 0 network 20.20.20.0 0.0.0.255 area 0 network 30.30.30.0 0.0.0.255 area 0 network 192.168.20.0 0.0.0.255 area 0 |
interface Serial1 ip address 10.10.10.2 255.255.255.0 clockrate 2000000 ! interface Serial2 ip address 20.20.20.2 255.255.255.0 clockrate 148000 ! interface Serial3 ip address 30.30.30.2 255.255.255.0 ip ospf cost 100 clockrate 148000 router ospf 1 network 10.10.10.0 0.0.0.255 area 0 network 20.20.20.0 0.0.0.255 area 0 network 30.30.30.0 0.0.0.255 area 0 maximum-paths 1 |
Sehen wir uns an, wie Router B einen oder mehrere Pfade zum Erreichen des IP-Netzwerks 192.168.20.0 der Ethernet-Schnittstelle von Router A auswählt.
Standardmäßig unterstützt Open Shortest Path First (OSPF) vier Pfade zu einem Ziel mit gleichen Kosten. In diesem Szenario wird Router B mit maximal einem Pfad konfiguriert. Daher wählt Router B nur einen Pfad unter den möglichen gleichen Pfaden aus, basierend auf dem, den er zuerst erhalten hat. Router B beginnt mit der Auswahl von Serial 2 als einziger Pfad zum Netzwerk 192.168.20.0. Verwenden Sie die Befehle show ip cef und show ip route, um den aktuellen Pfadsatz anzuzeigen.
RouterB#show ip cef 192.168.20.0 192.168.20.0/24, version 59, cached adjacency to Serial2 0 packets, 0 bytes via 20.20.20.1, Serial2, 0 dependencies next hop 20.20.20.1, Serial2 valid cached adjacency RouterB#show ip route 192.168.20.0 Routing entry for 192.168.20.0/24 Known via "ospf 1", distance 110, metric 74, type intra area Redistributing via ospf 1 Last update from 20.20.20.1 on Serial2, 00:03:58 ago Routing Descriptor Blocks: * 20.20.20.1, from 204.204.204.1, 00:03:58 ago, via Serial2 Route metric is 74, traffic share count is 1
Verwenden Sie den Befehl maximum-path unter OSPF, um mehr als einen Pfad zur Routing-Tabelle zuzulassen. OSPF ermöglicht nur identischen Kostenausgleich. Um eine ungleiche Lastverteilung zu konfigurieren, konfigurieren Sie Enhanced Interior Gateway Routing Protocol/Interior Gateway Routing Protocol (EIGRP/IGRP) als Interior Gateway Protocol (IGP). Siehe Wie funktioniert der universelle Lastenausgleich (Varianz) in IGRP und EIGRP? für weitere Informationen.
RouterB(config)#router ospf 1 RouterB(config-router)#maximum-paths ? <1-6> Number of paths RouterB(config-router)#maximum-paths 3
Mit dem Befehl show ip route können Sie überprüfen, ob die Routing-Tabelle zwei Pfade zu 192.168.20.0 enthält.
RouterB#show ip route 192.168.20.0 Routing entry for 192.168.20.0/24 Known via "ospf 1", distance 110, metric 74, type intra area Redistributing via ospf 1 Last update from 10.10.10.1 on Serial1, 00:00:11 ago Routing Descriptor Blocks: * 20.20.20.1, from 204.204.204.1, 00:00:11 ago, via Serial2 Route metric is 74, traffic share count is 1 10.10.10.1, from 204.204.204.1, 00:00:11 ago, via Serial1 Route metric is 74, traffic share count is 1 !--- The route metric is 74 for both paths.
Obwohl wir OSPF so konfiguriert haben, dass drei Pfade mit gleichen Kosten unterstützt werden, werden in der Ausgabe von show ip route nur zwei aktive Pfade angezeigt. Wir können den Befehl show ip ospf interface verwenden, um den Grund zu bestimmen. Serial 3 hat höhere Kosten als Serial 1 und Serial 2 und ist daher ungleich.
RouterB#show ip ospf interface s1 Serial1 is up, line protocol is up Internet Address 10.10.10.4/24, Area 0 Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 64 RouterB#show ip ospf interface s2 Serial2 is up, line protocol is up Internet Address 20.20.20.2/24, Area 0 Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 64 RouterB#show ip ospf interface s3 Serial3 is up, line protocol is up Internet Address 30.30.30.2/24, Area 0 Process ID 1, Router ID 100.100.100.1, Network Type POINT_TO_POINT, Cost: 100
Mit dem Befehl show run können Sie überprüfen, ob Serial 3 mit dem Befehl ip ospf cost 100 konfiguriert ist. Verwenden Sie den Befehl no ip ospf cost 100 sub-interface, um die Konfiguration zu entfernen und die Kosten für alle drei seriellen Verbindungen gleich zu machen.
RouterB#show run interface s3 Building configuration... Current configuration: ! interface Serial3 ip address 30.30.30.2 255.255.255.0 no ip directed-broadcast ip ospf cost 100 ip ospf interface-retry 0
Der Befehl show ip route zeigt jetzt drei gleiche Kostenpfade für das Netzwerk 192.168.20.0 an.
RouterB#show ip route 192.168.20.0 Routing entry for 192.168.20.0/24 Known via "ospf 1", distance 110, metric 74, type intra area Redistributing via ospf 1 Last update from 10.10.10.1 on Serial1, 00:00:01 ago Routing Descriptor Blocks: * 20.20.20.1, from 204.204.204.1, 00:00:01 ago, via Serial2 Route metric is 74, traffic share count is 1 30.30.30.1, from 204.204.204.1, 00:00:01 ago, via Serial3 Route metric is 74, traffic share count is 1 10.10.10.1, from 204.204.204.1, 00:00:01 ago, via Serial1 Route metric is 74, traffic share count is
Sehen wir uns nun an, wie der Lastenausgleich von Cisco Express Forwarding die Informationen in der Routing-Tabelle zum Weiterleiten von Paketen verwendet.
Cisco Express Forwarding ermöglicht den Lastenausgleich mithilfe der Lastverteilungstabelle. Wie bei allen anderen Load Balancing-Lösungen auf Cisco Routern wird auch bei ausgehenden Schnittstellen die Lastenausgleichsentscheidung getroffen. Im Gegensatz zu anderen Switching-Methoden verfolgt Cisco Express Forwarding Pfade auf der Grundlage der Quell- und Zieladresse des Pfades. Um dies zu vereinfachen, können Sie sagen, dass der Pfad eine IP-Sitzung ist und jede Sitzung logisch als eindeutiges Quell-Ziel-Adresspaar identifiziert wird.
Um zu verstehen, wie der Lastausgleich abläuft, müssen Sie zuerst sehen, wie sich die Tabellen vergleichen. Die Cisco Express Forwarding-Tabelle zeigt auf 16 Hash-Buckets (Load Share-Tabelle), die für parallele Pfade auf die Adjacency-Tabelle zeigen. Weitere Informationen finden Sie im Abschnitt Cisco Express Forwarding Load Balancing Internal Mechanismen (Interne Lastenausgleichsmechanismen für Cisco Express). Jedes zu schaltende Paket wird in das Quell- und Zieladressenpaar aufgeteilt und anhand der Lastfreigabetabelle überprüft.
Hinweis: Es gibt zwei Haupttypen für Cisco Express Forwarding-Switching, für jedes Ziel und für jedes Paket. Wenn beide Typen auf einem Router verwendet werden, verfügt jeder Typ über eine eigene Lastfreigabetabelle.
Durch den zielbasierten Lastenausgleich kann der Router mehrere Pfade nutzen, um eine Lastverteilung zu erreichen. Der zielbasierte Lastenausgleich ist standardmäßig aktiviert, wenn Sie Cisco Express Forwarding aktivieren. Für die meisten Situationen ist dies die bevorzugte Lastenausgleichsmethode. Da der Lastenausgleich nach Ziel von der statistischen Verteilung des Datenverkehrs abhängt, wird die Lastverteilung effektiver, wenn die Anzahl der Quell-Ziel-Paare zunimmt.
Der Lastenausgleich pro Paket ermöglicht es dem Router, aufeinander folgende Datenpakete über Pfade zu senden, ohne dass dabei einzelne Hosts oder Benutzersitzungen berücksichtigt werden. Sie verwendet die Round-Robin-Methode, um den Pfad zu bestimmen, den jedes Paket zum Ziel nimmt. Der Lastenausgleich pro Paket gewährleistet den Lastenausgleich über mehrere Verbindungen. Die Pfadauslastung mit paketbasiertem Lastenausgleich ist gut, aber Pakete für ein bestimmtes Quell-Ziel-Host-Paar können verschiedene Pfade annehmen, die eine Neuordnung der Pakete verursachen können. Aus diesem Grund ist der Lastenausgleich pro Paket für bestimmte Arten von Datenverkehr, z. B. VoIP, ungeeignet, da diese davon abhängen, ob Pakete nacheinander am Ziel ankommen. Verwenden Sie einen Paketbasierten Lastenausgleich, um sicherzustellen, dass ein Pfad für ein einzelnes Quell-Ziel-Paar nicht überlastet wird.
Mit dem Befehl ip load-sharing können Sie zwischen den Methoden pro Paket und pro Ziel wechseln.
7200-1.3(config)#interface fast 0/0 7200-1.3(config-if)#ip load-sharing ? per-destination Deterministic distribution per-packet Random distribution 7200-1.3(config-if)#ip load-sharing per-packet
Bestätigen Sie Ihre Änderungen mit dem Befehl show cef interface.
7200-1.3#show cef interface fast 0/0 FastEthernet0/0 is up (if_number 3) Corresponding hwidb fast_if_number 3 Corresponding hwidb firstsw->if_number 3 Internet address is 172.16.81.13/24 ICMP redirects are always sent Per packet load-sharing is enabled IP unicast RPF check is disabled Inbound access list is not set Outbound access list is not set IP policy routing is disabled Hardware idb is FastEthernet0/0 Fast switching type 1, interface type 18 IP CEF switching enabled IP Feature Fast switching turbo vector IP Feature CEF switching turbo vector Input fast flags 0x0, Output fast flags 0x0 ifindex 1(1) Slot 0 Slot unit 0 VC -1 Transmit limit accumulator 0x0 (0x0) IP MTU 1500
Lassen Sie uns zunächst den internen Mechanismus für den Lastenausgleich von Cisco Express Forwarding durchbrechen.
Jede Sitzung (siehe Tabelle oben) ist einem aktiven Pfad zugewiesen.
Die Zuordnung von Sitzungen zu Pfaden erfolgt mithilfe einer Hash-Funktion, die die Quell- und Ziel-IP-Adressen übernimmt, sowie, in den letzten Versionen von Cisco IOS, mit einer eindeutigen Hash-ID, die die Zuweisung über den End-to-End-Pfad verteilt.
Aktive Pfade werden intern mehreren von 16 Hash-Buckets zugewiesen. Die Zuordnung von Pfad zu Bucket variiert je nach Art des Lastenausgleichs und der Anzahl der aktiven Pfade.
Das Ergebnis der Hash-Funktion wird verwendet, um einen der aktivierten Buckets und damit den Pfad für die Sitzung auszuwählen.
Für alle vom Router weitergeleiteten Sitzungen führt jeder aktive Pfad die gleiche Anzahl von Sitzungen durch.
Sehen wir uns ein Beispiel für diese internen Cisco Express Forwarding an.
Verwenden Sie den Befehl maximum-path, um die Anzahl der aktiven Pfade für das Zielpräfix auf zwei zu reduzieren.
RouterB(config)#router ospf 1 RouterB(config-router)#maximum-paths 2
Verwenden Sie den Befehl show ip cef {prefix} internal , um die Zuweisung von Pfad zu Bucket anzuzeigen.
RouterB#show ip cef 192.168.20.0 internal 192.168.20.0/24, version 66, per-destination sharing 0 packets, 0 bytes via 20.20.20.1, Serial2, 0 dependencies traffic share 1 next hop 20.20.20.1, Serial2 valid adjacency via 30.30.30.1, Serial3, 0 dependencies traffic share 1 next hop 30.30.30.1, Serial3 valid adjacency 0 packets, 0 bytes switched through the prefix Load distribution: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (refcount 1) !--- The load distribution line summarizes how each path is !--- assigned to the hash buckets. Hash OK Interface Address Packets 1 Y Serial2 point2point 0 2 Y Serial3 point2point 0 3 Y Serial2 point2point 0 4 Y Serial3 point2point 0 5 Y Serial2 point2point 0 6 Y Serial3 point2point 0 7 Y Serial2 point2point 0 8 Y Serial3 point2point 0 9 Y Serial2 point2point 0 10 Y Serial3 point2point 0 11 Y Serial2 point2point 0 12 Y Serial3 point2point 0 13 Y Serial2 point2point 0 14 Y Serial3 point2point 0 15 Y Serial2 point2point 0 16 Y Serial3 point2point
Die 16 Hash-Buckets werden je nach Art des Lastenausgleichs und Anzahl der aktiven Pfade eingerichtet. Der einfache Fall ist für eine gerade Anzahl von Pfaden. Die 16 Eimer sind gleichmäßig mit den aktiven Pfaden gefüllt. Wenn 16 nicht durch die Anzahl der aktiven Pfade dividierbar ist, werden die letzten Puffer, die den Rest darstellen, deaktiviert. Die folgende Tabelle zeigt, wie die Hash-Buckets nach zwei und drei aktiven Pfaden suchen.
Bucket/Pfade | 0 | 1 | 2 | 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
1 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | x |
Im folgenden Beispiel gibt es drei Pfade zum Ziel. Beachten Sie, dass Cisco Express Forwarding die Hash-Bucket 16 entfernt hat und dass die drei seriellen Verbindungen den Hash-Buckets 1 bis 15 gleichmäßig zugewiesen sind.
RouterB#show ip cef 192.168.20.0 interface 192.168.20.0/24, version 64, per-destination sharing 0 packets, 0 bytes via 20.20.20.1, Serial2, 0 dependencies traffic share 1 next hop 20.20.20.1, Serial2 valid adjacency via 30.30.30.1, Serial3, 0 dependencies traffic share 1 next hop 30.30.30.1, Serial3 valid adjacency via 10.10.10.1, Serial1, 0 dependencies traffic share 1 next hop 10.10.10.1, Serial1 valid adjacency 0 packets, 0 bytes switched through the prefix Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1) !--- The active paths are assigned to hash buckets in a !--- round-robin pattern. Hash OK Interface Address Packets 1 Y Serial2 point2point 0 2 Y Serial3 point2point 0 3 Y Serial1 point2point 0 4 Y Serial2 point2point 0 5 Y Serial3 point2point 0 6 Y Serial1 point2point 0 7 Y Serial2 point2point 0 8 Y Serial3 point2point 0 9 Y Serial1 point2point 0 10 Y Serial2 point2point 0 11 Y Serial3 point2point 0 12 Y Serial1 point2point 0 13 Y Serial2 point2point 0 14 Y Serial3 point2point 0 15 Y Serial1 point2point 0 !--- Hash bucket 16 has been removed.
Hinweis: Obwohl sie einen einzelnen Pfad für ein Ziel auswählen, unterscheiden sich die Cisco Express Forwarding-Mechanismen pro Ziel und die schnellen Switching-Mechanismen in der Auswahl dieses Pfades. Cisco Express Forwarding berücksichtigt sowohl die Quell- als auch die Ziel-IP-Adressen, während Fast Switching nur die Ziel-IP-Adresse berücksichtigt.
Führen Sie die folgenden Schritte aus, um den Lastenausgleich für Cisco Express Forwarding auf Ihrem Router zu überprüfen.
Bestätigen Sie, dass Cisco Express Forwarding auf dem Router global aktiviert ist.
S3-4K-2#show ip cef %CEF not running Prefix Next Hop Interface !--- This output shows Cisco Express Forwarding is not enabled. !--- Use ip cef command in global configuration to enable it.
Für die jeweiligen ausgehenden Schnittstellen ist das Switching pro Paket oder pro Ziel aktiviert. Der Standardwert ist "pro Ziel".
RouterA#show cef interface s1 Serial1 is up (if_number 3) Internet address is 10.10.10.1/24 ICMP redirects are always sent Per packet loadbalancing is disabled IP unicast RPF check is disabled Inbound access list is not set Outbound access list is not set Interface is marked as point to point interface Hardware idb is Serial1 Fast switching type 4, interface type 40 IP CEF switching enabled !--- Cisco Express Forwarding is enabled on the interface. IP CEF Fast switching turbo vector Input fast flags 0x0, Output fast flags 0x0 ifindex 5(5) Slot 0 Slot unit 1 VC -1 Transmit limit accumulator 0x0 (0x0) IP MTU 1500
Bestätigen Sie, dass die Routing-Tabelle und die Cisco Express Forwarding-Tabelle alle parallelen Pfade mit dem Befehl show ip route enthalten.
RouterB#show ip route 192.168.20.0 Routing entry for 192.168.20.0/32, 1 known subnets O 192.168.20.1 [110/65] via 20.20.20.1, 00:06:54, Serial1 [110/65] via 10.10.10.1, 00:06:54, Serial2 [110/65] via 30.30.30.1, 00:06:54, Serial3
Aktivieren Sie die FIB für die Cisco Express-Weiterleitung mit dem Befehl show ip cef.
RouterB#show ip cef 192.168.20.0 192.168.20.0/24, version 18, per-destination sharing 0 packets, 0 bytes via 30.30.30.1, Serial3, 0 dependencies traffic share 1 next hop 30.30.30.1, Serial3 valid adjacency via 20.20.20.1, Serial2, 0 dependencies traffic share 1 next hop 20.20.20.1, Serial2 valid adjacency via 10.10.10.1, Serial1, 0 dependencies traffic share 1 next hop 10.10.10.1, Serial1 valid adjacency 0 packets, 0 bytes switched through the prefix tmstats: external 0 packets, 0 bytes internal 0 packets, 0 bytes RouterB#show ip cef 192.168.20.0 internal 192.168.20.0/24, version 18, per-destination sharing 0 packets, 0 bytes via 30.30.30.1, Serial3, 0 dependencies traffic share 1 next hop 30.30.30.1, Serial3 valid adjacency via 20.20.20.1, Serial2, 0 dependencies traffic share 1 next hop 20.20.20.1, Serial2 valid adjacency via 10.10.10.1, Serial1, 0 dependencies traffic share 1 next hop 10.10.10.1, Serial1 valid adjacency 0 packets, 0 bytes switched through the prefix tmstats: external 0 packets, 0 bytes internal 0 packets, 0 bytes Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1) Hash OK Interface Address Packets 1 Y Serial3 point2point 0 2 Y Serial2 point2point 0 3 Y Serial1 point2point 0 4 Y Serial3 point2point 0 5 Y Serial2 point2point 0 6 Y Serial1 point2point 0 7 Y Serial3 point2point 0 8 Y Serial2 point2point 0 9 Y Serial1 point2point 0 10 Y Serial3 point2point 0 11 Y Serial2 point2point 0 12 Y Serial1 point2point 0 13 Y Serial3 point2point 0 14 Y Serial2 point2point 0 15 Y Serial1 point2point 0
Hinweis: Die oben gezeigte Lastverteilungstabelle zeigt die Lastverteilung 0 1 2 0 1 2 . . . und die Datenverkehrsfreigabe für jede Route 1 beträgt. Dies bedeutet, dass die Kosten pro Ziel für die Lastverteilung auf drei gleiche Kostenrouten aufgeteilt werden.
Überprüfen Sie die Adjacencies von Cisco Express Forwarding.
RouterB#show adjacency detail Protocol Interface Address IP Serial1 point2point(11) 0 packets, 0 bytes 0F000800 CEF expires: 00:02:31 refresh: 00:00:31 IP Serial2 point2point(11) 0 packets, 0 bytes 0F000800 CEF expires: 00:02:31 refresh: 00:00:31 IP Serial3 point2point(11) 0 packets, 0 bytes 0F000800 CEF expires: 00:02:31 refresh: 00:00:31
Bestätigen Sie, dass der erwartete Lastverteilungsmechanismus für Cisco Express Forwarding auf allen ausgehenden Schnittstellen konfiguriert ist.
RouterB#show ip cef 192.168.20.0 192.168.20.0/24, version 89, per-destination sharing 0 packets, 0 bytes via 10.10.10.1, Serial1, 0 dependencies traffic share 1 next hop 10.10.10.1, Serial1 valid adjacency [output omitted]
Mithilfe von Hash Bucket Accounting können Statistiken erfasst werden, um die Cisco Express Forwarding-Muster in Ihrem Netzwerk besser zu verstehen. Sie können z. B. Informationen wie die Anzahl der an ein Ziel gesendeten Pakete und Bytes oder die Anzahl der über ein Ziel gesendeten Pakete sammeln. Verwenden Sie den folgenden Befehl:
router(config)# ip cef accounting load-balance-hash
Überprüfen Sie den Paketfluss, indem Sie die Werte im Feld Packet einhalten.
RouterB#show ip cef 192.168.20.0 internal [...] Load distribution: 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 (refcount 1) Hash OK Interface Address Packets 1 Y Serial point2point 0 2 Y Serial2 point2point 0 3 Y Serial1 point2point 0 4 Y Serial3 point2point 0 5 Y Serial2 point2point 35 6 Y Serial1 point2point 0 7 Y Serial3 point2point 0 8 Y Serial2 point2point 60 9 Y Serial1 point2point 0 10 Y Serial3 point2point 0 11 Y Serial2 point2point 0 12 Y Serial1 point2point 0 13 Y Serial3 point2point 0 14 Y Serial2 point2point 30 15 Y Serial1 point2point 0
125 Pakete durchliefen Serial 2. Wenn Sie ping verwenden, um Datenverkehr zu generieren, stellen Sie sicher, dass Ping-Pakete den Cisco Express Forwarding-Switched-Router übertragen müssen. Anders ausgedrückt: Ping-Pakete müssen von einer Cisco Express Forwarding-Switched-Schnittstelle, von einer Cisco Express Forwarding-Switched-Schnittstelle, von einer anderen Cisco Express Forwarding-Switched-Schnittstelle gesendet werden.
Hinweis: Die Lastverteilung pro Ziel wird effektiver, wenn die Anzahl der Quell-Ziel-Paare zunimmt.
Zeichnen Sie beim Senden von Datenverkehr an das Präfix mehrere Ausgaben des Befehls show interface auf. Analysieren Sie die Werte "txload" und "rxload". (Einige Schnittstellen zeigen einen einzelnen "Load"-Wert an, der sowohl Senden als auch Empfangen berücksichtigt.) Obwohl der Lastenausgleich pro Paket eine gleichmäßige Verteilung der Paketanzahl ermöglicht, können parallele Verbindungen je nach Paketgröße eine leicht ungleichmäßige Rate aufweisen.
Serial1/0:0 is up, line protocol is up reliability 255/255, txload 10/255, rxload 3/255 Serial1/1:0 is up, line protocol is up reliability 255/255, txload 18/255, rxload 3/255
Mit Cisco Express Forwarding für den Lastenausgleich nach Ziel können Sie mithilfe des folgenden Befehls bestimmen, welchem Pfad eine Sitzung zugewiesen wird. Fügen Sie das Schlüsselwort internal hinzu, um anzuzeigen, welches Hash-Bucket verwendet wird.
show ip cef exact-route {source-ip-address} {dest-ip-address} [internal] RouterB# show ip cef exact-route 50.50.50.2 192.168.20.1 internal 50.50.50.2 -> 192.168.20.1 : Serial9/0 (next hop 20.20.20.1) Bucket 4 from 15, total 3 paths RouterB# show ip cef exact-route 5.5.5.1 192.168.20.1 internal 5.5.5.1 ->192.168.20.1 : Serial9/0 (next hop 20.20.20.1) Bucket 7 from 15, total 3 paths RouterB# show ip cef exact-route 6.6.6.1 192.168.20.1 internal 6.6.6.1 -> 192.168.20.1 : Serial9/0 (next hop 20.20.20.1) Bucket 7 from 15, total 3 paths RouterB# show ip cef exact-route 8.8.8.1 192.168.20.1 internal 8.8.8.1 -> 192.168.20.1 : Serial9/0 (next hop 20.20.20.1) Bucket 13 from 15, total 3 paths
Wenn die Ausgabe ungleichmäßig erscheint, sollten Sie Folgendes berücksichtigen:
Die Anzahl der eindeutigen Quell- und Zieladressenpaare oder Sitzungen, die die parallelen Verbindungen durchlaufen.
Anzahl und Größe der Pakete in jeder Sitzung Verfügt eine Sitzung über eine große Anzahl von Paketen? Der Lastenausgleich pro Ziel hängt von der statistischen Verteilung des Datenverkehrs ab und wird mit zunehmender Anzahl der Quell-Ziel-Paare effektiver.
Wenn eine Routing-Tabelle die Anzahl der aktiven Pfade für ein Ziel ändert, aktualisiert Cisco Express Forwarding die Load Balancing-Strukturen, die in der Ausgabe des internen Befehls show ip cef {prefix} sichtbar sind. Cisco Express Forwarding vergleicht dann neu eingehende Pakete mit einer Adjacency und dem zugehörigen Hash-Bucket. Die ausgewählte Eimer kann mit der zuvor verwendeten identisch sein.
In den folgenden Schritten wird beschrieben, wie Informationen zum Lastenausgleich von Cisco Express Forwarding nach einer Änderung der Anzahl der aktiven Pfade zu einem Zielpräfix aktualisiert werden.
Angenommen, ein Zielpräfix ist über zwei Pfade erreichbar. Pfad 1 ist inaktiv, Pfad 2 ist aktiv und leitet den gesamten Datenverkehr weiter.
Wenn Pfad 1 wieder verfügbar ist, werden IP-Routing-Rekonvergenzprozesse ausgelöst.
Cisco Express Forwarding gleicht die Last jetzt über beide Pfade hinweg aus und schützt nicht vorhandene Datenflüsse über Pfad 2. Dies würde Pfad 1 ungenutzt lassen. Mit anderen Worten: Cisco Express Forwarding ist nicht der Ansicht, dass Pakete für eine Sitzung über einen gültigen Pfad weitergeleitet werden können, und es kann ein neuer Pfad für einen Datenstrom ausgewählt werden, je nachdem, welcher Hash-Bucket er ausgewählt wird.
Nach einer Änderung der Routing-Tabelle löscht Cisco Express Forwarding die Load Balancing-Strukturen, die den Hash-Buckets aktive Pfade zuweisen, und erstellt sie neu. Beim Neuerstellen gehen möglicherweise einige Pakete verloren, und der interne Befehl show ip cef {prefix} weist auf Informationen zur Lastverteilung hin, die gelöscht werden sollen.
router#show ip cef 10.10.128.0 int 10.10.128.0/28, version 63, per-destination sharing 0 packets, 0 bytes via 10.8.0.31, 0 dependencies, recursive next hop 10.8.2.49, POS0/0/0 valid adjacency Load sharing information due for deletion
Durch die über die Cisco Bug-ID CSCdm87127 implementierten Änderungen wird der Paketverlust bei einer Änderung der Anzahl der aktiven Pfade für die Standard-Route 0.0.0.0 minimiert. Insbesondere weist Cisco Express Forwarding jetzt einen FIB-Eintrag mit Speicherplatz für die maximal möglichen aktiven Pfade für diese Route zu.
Der Lastenausgleich für Cisco Express Forwarding ist auf vier Pfaden nicht gleich. Weitere Informationen finden Sie unter CSCdm87756 (nur registrierte Kunden).
In Cisco IOS-Versionen vor 12.0(16)S kann die Eingabe des Befehls show ip cef für die exakte Weiterleitung dazu führen, dass der Route Processor (RP) in einem Internet-Router der Cisco Serie 12000 oder einem Router der Cisco 7500/RSP-Serie neu geladen wird. Diese Situation tritt ein, wenn das Zielpräfix rekursiv ist und der Router die Lastverteilung zum nächsten Hop durchführt. Weitere Informationen finden Sie unter CSCdt80914 (nur registrierte Kunden) , das dieses Problem behebt.
Bei Plattformen der Serie 6500 wird CEF-Lastenausgleich pro Paket nicht unterstützt. Dies liegt an der Hardware-Einschränkung, und es ist derzeit nur ein Lastenausgleich pro Ziel möglich. Daher ist die einzige Option die Lastverteilung über verteiltes Multilink Point-to-Point Protocol (dMLPPP) oder Layer 4.
Der Lastenausgleich für Cisco Express Forwarding pro Paket wurde ursprünglich auf Plattformen unterstützt, die softwarebasierte Weiterleitung verwenden. Zu diesen Plattformen gehören die Serien 2600, 3600 und 7200. Der Paketbasierte Lastenausgleich wird jetzt mithilfe von Parallel Express Forwarding (PXF) auf der 7200-Serie mit einer NSE-1- und 1000-Serie in der Hardware unterstützt. Bei der Catalyst 6000-Serie gelten die ip load-sharing per Packet, ip cef accounting per Präfix und ip cef accounting unrekursive Befehle auf MSFC2 nur für Datenverkehr, der in der MSFC2 in der Software Cisco Express Forwarding-Switched enthalten ist. Die Befehle wirken sich nicht auf Datenverkehr aus, der auf dem PFC2-Router (Hardware Layer 3) oder auf Switching-Modulen mit DFC-Ausstattung geschaltet ist. Weitere Informationen finden Sie unter Konfigurieren von IP-Unicast-Layer-3-Switching auf der Supervisor Engine 2.
Hinweis: Ein Cisco 7300-Router mit einer NSE-100-Prozessorkarte unterstützt keinen CEF-Lastenausgleich pro Paket in PXF. Die PXF unterstützt nur den Lastenausgleich pro Ziel. Sie scheinen jedoch Unterstützung zu haben, da die Konfigurationsbefehle in der CLI des Routers verfügbar waren. Dies wird korrigiert und in der Cisco Bug-ID CSCdx63389 aufgezeichnet.
Bei der Serie 12000 ist der Load Balancing-Modus pro Paket für alle Layer-3-Forwarding-Engines mit Ausnahme der Engines 3 und 4 verfügbar. Jede Linecard trifft unabhängige Weiterleitungsentscheidungen. Um die genaue Route für jeden IP-Datenfluss anzuzeigen, verwenden Sie den Befehl exec slot X show ip hardware-cef strict-route src dst auf Linecards, die hardwarebasierte Cisco Express Forwarding-Tabellen verwenden.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
10-Aug-2005 |
Erstveröffentlichung |