Inhalt

Einleitung

Warum verwendet 6PE zwei MPLS-Labels auf Datenebene?

Zugehörige Informationen

Einleitung

In diesem Dokument wird erläutert, warum der Cisco IOS© IPv6 Provider Edge Router (6PE) zwei Multiprotocol Label Switching (MPLS)-Labels auf Datenebene verwendet.

Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).

F. Warum verwendet 6PE zwei MPLS-Labels auf Datenebene?

6PE verwendet zwei Labels:Antwort:

- Das oberste Label ist das Transport-Label, dem Hop-by-Hop über das Label Distribution Protocol (LDP) oder MPLS Traffic Engineering (TE) zugewiesen wird.

- Das untere Label ist das vom Border Gateway Protocol (BGP) zugewiesene und vom internen BGP (iBGP) zwischen den Provider Edge (PE)-Routern angekündigte Label.

Als der 6PE veröffentlicht wurde, war eine Hauptanforderung, dass keiner der MPLS-Core-Router (die P-Router) IPv6-fähig sein musste. Aus diesem Grund waren zwei Labels auf Datenebene erforderlich. Es gibt zwei Gründe, warum die 6PE beide Labels benötigt.

PHP-Funktionalität

Wenn nur das Transportlabel verwendet würde und wenn Penultimate Hop Popping (PHP) verwendet würde, müsste der Penultimate Hop Router (der P-Router) IPv6 verstehen.

Bei PHP müsste dieser vorletzte Hop-Router das MPLS-Label entfernen und das Paket als IPv6-Paket weiterleiten. Dieser P-Router muss wissen, dass das Paket IPv6 ist, da der P-Router den richtigen Layer-2-Kapselungstyp für IPv6 verwenden muss. (Der Kapselungstyp ist bei IPv6 und IPv4 unterschiedlich. für Ethernet beispielsweise 0x86DD für IPv6 und 0x0800 für IPv4.) Wenn der vorletzte Hop-Router nicht IPv6-fähig ist, würde er wahrscheinlich den Layer-2-Kapselungstyp für IPv4 für das IPv6-Paket verwenden. Der Egress-PE-Router glaubt dann, dass das Paket IPv4 ist.

Sowohl im IPv4- als auch im IPv6-Header wird Time-to-Live (TTL) verarbeitet. In IPv6 wird das Feld als Hop Limit bezeichnet. Die Felder IPv4 und IPv6 befinden sich an verschiedenen Stellen im Header. Außerdem muss die Header-Prüfsumme im IPv4-Header geändert werden. In IPv6 gibt es kein Header-Prüfsummenfeld. Wenn der vorletzte Hop-Router nicht IPv6-fähig ist, würde dies zu einem fehlerhaften IPv6-Paket führen, da der Router erwartet, das TTL-Feld und das Header-Prüfsummenfeld im Header zu finden.

Aufgrund dieser Unterschiede muss der vorletzte Hop-Router wissen, dass es sich um ein IPv6-Paket handelt. Woher weiß dieser Router, dass es sich bei dem Paket um ein IPv6-Paket handelt, da er der IPv6 Forwarding Equivalence Class (FEC) kein Label zugewiesen hat und im MPLS-Header kein Kapselungsfeld vorhanden ist? Es könnte nach dem ersten Nibble nach dem Label-Stack suchen und ermitteln, dass das Paket IPv6 ist, wenn der Wert 6 ist. Dies impliziert jedoch, dass der vorletzte Hop-Router IPv6-fähig sein muss.

Dieses Szenario könnte funktionieren, wenn das explizite Null-Label verwendet wird (daher kein PHP). Die Entscheidung war jedoch, PHP zu verlangen.

Lastenausgleich

Dieser Prozess wird für den typischen Lastenausgleich auf einem P-Router verwendet. Der P-Router geht zum Ende des Label-Stacks und ermittelt, ob es sich um ein IPv4-Paket handelt, indem er den ersten Nibble nach dem Label-Stack betrachtet.

- Wenn der Nibble-Wert 4 beträgt, ist die MPLS-Nutzlast ein IPv4-Paket, und der P-Router gleicht die Last durch Hashing der Quell- und Ziel-IPv4-Adressen aus.

- Wenn der P-Router IPv6-fähig ist und der Wert des Nibble-Werts 6 beträgt, gleicht der P-Router die Last aus, indem er die Quell- und Ziel-IPv6-Adressen hasht.

- Wenn der P-Router nicht IPv6-fähig ist und der Wert des Nibble-Werts nicht 4 beträgt (bei einem IPv6-Paket kann es sich um 6 handeln), stellt der P-Router fest, dass es sich nicht um ein IPv4-Paket handelt, und trifft die Entscheidung für den Lastenausgleich auf Grundlage des unteren Labels.

Im Szenario mit 6 PE stellen Sie sich vor, dass zwei Ausgangs-PE-Router ein IPv6-Präfix im BGP dem Eingangs-PE-Router melden. Dieses IPv6-Präfix würde im BGP mit zwei unterschiedlichen Labels angekündigt. In der Datenebene wäre das untere Label also eines der beiden Labels. Dies würde es einem P-Router ermöglichen, den Lastenausgleich auf Basis des unteren Labels für jeden Fluss durchzuführen.

Wenn 6PE nur das Transport-Label zum Transport der 6PE-Pakete durch den MPLS-Core verwendet, können die P-Router diese Pakete nicht auf Flow-Basis ausgleichen, es sei denn, die P-Router sind IPv6-fähig. Wären die P-Router IPv6-fähig, könnten sie die Quell- und Ziel-IPv6-Adressen verwenden, um eine Lastverteilungsentscheidung zu treffen.

Zugehörige Informationen

- Technischer Support und Dokumentation für Cisco Systeme