Einleitung
In diesem Dokument wird der Embedded Packet Tracer von XR beschrieben. Es hilft, benutzerdefinierte Paketflüsse für die Service-Validierung und die Fehlerbehebung zu verfolgen.
Voraussetzungen
Anforderungen
Der XR Embedded Packet Tracer ist ab der Cisco IOS® XR-Version 7.1.2 erhältlich und wird von der ASR 9000-Serie unterstützt. Weitere XR-Produktfamilien sind geplant, um Unterstützung für zukünftige Updates zu erhalten.
Verwendete Komponenten
Der XR Embedded Packet Tracer ist unabhängig von bestimmten Protokollen und mit allen Arten von Unicast- und Multicast-Paketen kompatibel.
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.
Hintergrundinformationen.
Das XR Embedded Packet Tracer-Framework hat die Service-Flow-Validierung und die Fehlerbehebung bei Paketweiterleitungsproblemen erheblich vereinfacht.
Wenn die Paketablaufverfolgung auf einer Schnittstelle aktiviert ist, wertet der Netzwerkprozessor (NP) eingehende Pakete aus, um zu ermitteln, ob sie die definierten Kriterien erfüllen. Wenn ein Paket die angegebene Bedingung erfüllt, wird dem internen Header ein Bezeichner hinzugefügt. Diese Kennung erleichtert die Verfolgung des Pakets über alle Komponenten, die am Datenpfad und am Punt-Pfad innerhalb des Routers beteiligt sind.
Die Bedingung bezieht sich auf eine Reihe von Kriterien oder Regeln, die definieren, welche Pakete beim Passieren des Routers verfolgt werden können. Diese Bedingungen helfen dem System, bestimmte Paketflüsse zu identifizieren und zu überwachen, um Fehler zu beheben oder Dienste zu validieren.
Die Bedingungen bestehen aus folgenden Komponenten:
-
Physische Schnittstelle(n):
- Gibt die Netzwerkschnittstellen an, an denen Pakete erwartet werden.
- Beispiel:
packet-trace condition interface Gi0/0/0/1
-
Offset/Wert/Maske Triplets:
-
Definiert Kriterien für die Zuordnung bestimmter Teile eines Paket-Headers (oder einer Nutzlast).
-
Diese Triplets ermöglichen ein Protokoll-unabhängiges Framework, da sie einen beliebigen Teil eines Protokoll-Headers darstellen können.
Beispiel:
-
Versatz: Position innerhalb des Pakets (Byte-Offset)
-
Wert: Erwarteter Wert an dieser Stelle.
-
Maske: Zur Präzision passende Bits.
Einschränkungen und Einschränkungen für XR Embedded Packet Tracer
XR Version 7.1.2:
Die Paketmarkierung wird auf Lightspeed Plus-, Lighstpeed- und Tomahawk-Linecards unterstützt.
Die Paketablaufverfolgung wird von den zuvor erwähnten Linecard-Typen unterstützt.
Sie können maximal drei 4-Oktett-Offset/Wert/Maske-Sätze angeben.
XR Version 7.5.2:
Packet Tracer löst Bündelelemente automatisch auf, wenn die Bedingung festgelegt ist.
können Sie nun Pakete auf dem Punt-Pfad in SPP, NetIO, UDP, TCP verfolgen
Packet Tracer-Workflow
Dieses Diagramm veranschaulicht die Funktionsweise des Packet-Tracer-Workflows.

Konfigurieren
Zurücksetzen der Zähler und Bedingungen von Packet Tracer
Befehl zum Zurücksetzen der Zähler der Paketverfolgung; Die Zähler der Paketverfolgung können bei Bedarf zurückgesetzt werden:
clear packet-trace counters all
Befehl zum Entfernen aller Bedingungen der Paketverfolgung verwenden Sie den folgenden Befehl:
clear packet-trace conditions all
Vorsicht: Paketverfolgungsbedingungen können nur gelöscht werden, wenn die Paketablaufverfolgung inaktiv ist.
Starten/Beenden der Paketverfolgung
Der Anfang und das Ende der Paketverfolgung müssen manuell angegeben werden:
RP/0/RP0/CPU0:Device# packet-trace start
RP/0/RP0/CPU0:Device# packet-trace stop
Bedingungen von Packet Tracer
Die Bedingungen umfassen:
-
Physische Schnittstelle(n): Geben Sie die physische Schnittstelle(n) an, an der/denen Pakete erwartet werden.
-
Offset/Wert/Maske Triplets. Helfen Sie dabei, den Fluss des Interesses zu definieren.
Packet Tracer-Bedingungen - Schnittstellen
RP/0/RP0/CPU0:Device#packet-trace condition interface GigE0/0/0/0
RP/0/RP0/CPU0:Device#packet-trace condition interface GigE0/0/0/1
Tipp: Beim Tracing auf Subschnittstellen muss die Offset/Value/Mask-Spezifikation die dot1q- oder QinQ-Kapselung berücksichtigen.
Packet Tracer-Bedingungen - Offset/Wert/Maske
Die Web-App "XR Packet Tracer Condition Generator" bietet ein Tool zum Erstellen von Packet Tracer-Bedingungen.
Den Quellcode und die Installationsrichtlinien finden Sie auf GitHub unter dem Namen: XR Embedded Packet Tracer - Condition Generator .
Mit dieser Anwendung können Sie den Protokollstapel für den gewünschten Paketfluss visuell erstellen, die relevanten Ebenen für die Definition von Bedingungen auswählen und die Werte (mit optionalen Masken) eingeben, die den spezifischen Fluss beschreiben, den Sie verfolgen möchten.
Auf der Landing Page der Web App wird eine Liste der Protokoll-Header angezeigt, die für die Konfiguration unterstützt werden.
Stellen Sie sicher, dass Sie alle erforderlichen Header vor dem Header einschließen, mit dem Sie den Datenverkehr abgleichen möchten, da die Offset-Berechnung von der Reihenfolge der Header abhängt.
Tipp: Denken Sie daran, den PW-Kontrollwort-Header anzugeben, wenn er verwendet wird.
Konfigurationsbeispiel:
Hier ist ein Beispiel einer Topologie. Unser Ziel ist es, zu überprüfen, ob Pakete ordnungsgemäß über das XRV1-Gerät empfangen und übertragen werden:

1.- Richten Sie die Paket-Trace-Bedingung für die spezifischen Schnittstellen ein, die überwacht werden sollen.
RP/0/RP0/CPU0:xrv-1#packet-trace condition interface Bundle-Ether1
RP/0/RP0/CPU0:xrv-1#packet-trace condition interface Bundle-Ether2
2.- Generieren Sie den Versatz/Wert/Maske, wählen Sie die Kontrollkästchen neben den Headern, die Sie zuordnen möchten. Sie können bei Bedarf mehrere Header auswählen. Für jeden ausgewählten Header wird rechts ein entsprechender Frame angezeigt. Geben Sie den gewünschten Wert und die gewünschte Maske in den Frame ein, und klicken Sie dann auf die Schaltfläche Submit (Senden), um die Konfiguration abzuschließen.

3.- Nachdem der Offset/Wert/Maske in die Zwischenablage kopiert wurde, verwenden Sie ihn, um die Bedingungen zu definieren:
RP/0/RP0/CPU0:xrv-1#packet-trace condition 1 Offset 30 Value 0xc0a80a Mask 0xffffff
RP/0/RP0/CPU0:xrv-1#packet-trace condition 5 Offset 34 Value 0xc0a80c Mask 0xffffff
4.- Überprüfen Sie den Paketverfolgungsstatus:
RP/0/RP0/CPU0:xrv-1#show packet-trace status
------------------------------------------------------------
Packet Trace Master Process:
Buffered Conditions:
Interface Bundle-Ether1
Member GigE0/0/0/0
Interface Bundle-Ether2
Member GigE0/0/0/1
1 Offset 30 Value 0xc0a80a Mask 0xffffff
5 Offset 34 Value 0xc0a80c Mask 0xffffff
Status: Inactive
RP/0/RP0/CPU0:xrv-1#
RP/0/RP0/CPU0:xrv-1#show packet-trace status detail
------------------------------------------------------------
Location: 0/0/CPU0
Available Counting Modules: 4
#1 SPP
Last errors:
#2 npu_server_lsp
Last errors:
#3 NETIO
Last errors:
#4 UDP
Last errors:
Available Marking Modules: 1
#1 npu_server_lsp
Interfaces: 0
Conditions: 0
Last errors:
------------------------------------------------------------
Packet Trace Master Process:
Buffered Conditions:
Interface Bundle-Ether1
Member GigE0/0/0/0
Interface Bundle-Ether2
Member GigE0/0/0/1
1 Offset 30 Value 0xc0a80a Mask 0xffffff
5 Offset 34 Value 0xc0a80c Mask 0xffffff
Status: Inactive
------------------------------------------------------------
Location: 0/RP0/CPU0
Available Counting Modules: 3
#1 SPP
Last errors:
#2 NETIO
Last errors:
#3 UDP
Last errors:
Available Marking Modules: 0
RP/0/RP0/CPU0:xrv-1#
5.- Starten Sie den Paket-Tracer:
RP/0/RP0/CPU0:xrv-1# packet-trace start
RP/0/RP0/CPU0:xrv-1#
RP/0/RP0/CPU0:xrv-1# show packet-trace status
------------------------------------------------------------
Packet Trace Master Process:
Buffered Conditions:
Interface Bundle-Ether1
Member GigE0/0/0/0
Interface Bundle-Ether2
Member GigE0/0/0/1
1 Offset 30 Value 0xc0a80a Mask 0xffffff
5 Offset 34 Value 0xc0a80c Mask 0xffffff
Status: Active
RP/0/RP0/CPU0:xrv-1#
6. - Warten wir einige Minuten, um den Datenverkehr zu erfassen:
7.- Überprüfen Sie die Ergebnisse:
RP/0/RP0/CPU0:xrv-1#show packet-trace result
T: D - Drop counter; P - Pass counter
Location | Source | Counter | T | Last-Attribute | Count
------------ ------------ ------------------------- - ---------------------------------------- ---------------
0/0/CPU0 NP0 PACKET_MARKED P GigE0_0_0_0 6812
0/0/CPU0 NP0 PACKET_TO_FABRIC P 6812
0/0/CPU0 NP0 PACKET_TO_PUNT P 6543
0/0/CPU0 NP0 PACKET_FROM_FABRIC P 6812
0/0/CPU0 NP0 PACKET_TO_INTERFACE P GigE0_0_0_1 6812
RP/0/RP0/CPU0:xrv-1#
8.- Sie können alle im Paket-Tracer-Framework registrierten Zähler zusammen mit ihren Beschreibungen überprüfen, indem Sie den Befehl show packet-trace description verwenden:
RP/0/RP0/CPU0:xrv-1#show packet-trace descriptions
NP0 PACKET_MARKED M Marked from ingress interface
NP0 PACKET_FROM_INJECT P Injected from linecard CPU
NP0 PACKET_FROM_FAB_INJECT P Injected from fabric
NP0 PACKET_ING_DROP D Dropped on ingress
NP0 PACKET_TO_FABRIC P Sent to router fabric
NP0 PACKET_TO_PUNT P Punted to linecard for CPU handling
NP0 PACKET_FROM_FABRIC P From router fabric
NP0 PACKET_EGR_DROP D Dropped on egress
NP0 PACKET_TO_INTERFACE P Packet sent to network interface
RP/0/RP0/CPU0:xrv-1#
9.- Stoppen Sie die Paketverfolgung:
RP/0/RP0/CPU0:xrv-1#packet-trace stop
Zugehörige Informationen
Integrierter XR Packet Tracer
Technischer Support und Downloads von Cisco
Linecard-Typen der ASR Serie 9000