Inhalt

Einführung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

Verwenden des NetDSR-Tools

Optionen

Fehlerbehebung

Einführung

Dieses Dokument beschreibt ein verfügbares Tool, NetDR, auf Cisco Catalyst Switches der Serie 6500, die die Supervisor Engines 720 oder 32 ausführen, mit dem Sie Pakete auf dem internen In-Band-Pfad zur Route Processor CPU (RP) oder Switch Processor CPU (SP) erfassen können.

Voraussetzungen

Anforderungen

Für dieses Dokument bestehen keine speziellen Anforderungen.

Verwendete Komponenten

Die Informationen in diesem Dokument basieren auf den Cisco Catalyst Switches der Serie 6500, auf denen die Supervisor Engine 720 ausgeführt wird.

Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.

Hintergrundinformationen

Die RP-CPU wird in der Regel zur Verarbeitung von Layer-3-Steuerungsdatenverkehr (L3) sowie von L3-Datenverkehr verwendet, der nicht hardwarebasiert geschaltet werden kann. Beispiele für L3-Kontrolldatenverkehr sind Open Shortest Path First (OSPF), Enhanced Interior Gateway Routing Protocol (EIGRP), Border Gateway Protocol (BGP) und Protocol Independent Multicast (PIM)-Pakete. Beispiele für L3-Datenverkehr, der nicht hardwarevermittelt werden kann, sind Pakete mit festgelegten IP-Optionen, Pakete mit TTL-Werten (Time To Live) von 1 und Pakete, die fragmentiert werden müssen.

Die SP-CPU wird in der Regel zur Verarbeitung des Layer-2-Steuerungsdatenverkehrs (L2) verwendet. Beispiele hierfür sind Spanning Tree Protocol (STP)-, Cisco Discovery Protocol (CDP)- und VLAN Trunking Protocol (VTP)-Pakete.

Das NetDr-Tool wird verwendet, um Übertragungs- (Tx-) und Empfangspakete (Rx-)Pakete auf dem internen In-Band-CPU-Software-Switching-Pfad zu erfassen. Dieses Tool kann nicht verwendet werden, um Datenverkehr zu erfassen, der hardwaregestützt ist.

NetDSR ist bei der Fehlerbehebung in Szenarien mit hoher CPU-Auslastung hilfreich. Führen Sie den Befehl show process cpu oder show process cpu history aus, um zu überprüfen, wie beschäftigt die RP-CPU ist. Führen Sie den Befehl remote command switch show process cpu oder remote command switch aus, um zu überprüfen, wie beschäftigt die SP-CPU ist.

NetDSR ist nur zur Fehlerbehebung bei der Interrupt-gesteuerten, hohen CPU-Auslastung nützlich. Die Interrupt-gesteuerte CPU-Auslastung ist das Ergebnis der Verarbeitung eingehender Pakete, die an die CPU gesendet werden.

Cat6500#show process cpu

CPU utilization for five seconds: 90%/81%; one minute: 89%; five minutes: 80%

Im vorherigen Beispiel:

- 90 % ergibt die gesamte CPU-Auslastung.

- 81 % ist die CPU-Auslastung aufgrund von Interrupts, d. h. Datenverkehr, der von der CPU verarbeitet wird.

- 9 % (90-81) der CPU-Auslastung sind auf Cisco IOS zurückzuführen? Softwareprozessen.

Verwenden des NetDSR-Tools

In diesem Abschnitt wird beschrieben, wie Sie das NetDr-Tool verwenden.

Hinweis: NetDSR ist sicher für den Einsatz in Umgebungen mit hoher CPU-Auslastung bei neueren Cisco IOS-Softwareversionen, z. B. Version 12.2(33)SXH und höher. Bei einigen alten Softwareversionen verbraucht Netdr möglicherweise mehr CPU und ist möglicherweise nicht sicher, auf einem Switch mit hoher CPU-Auslastung ausgeführt zu werden. Wenn auf dem Switch eine ältere Softwareversion ausgeführt wird, wird empfohlen, diese Funktion unter der Aufsicht des Cisco Technical Assistance Center (TAC) zu verwenden.

Um Pakete auf dem inband-CPU-Pfad des RP zu erfassen, verwenden Sie folgende Syntax:

Cat6500#debug netdr capture ?

acl                     (11) Capture packets matching an acl

and-filter               (3) Apply filters in an and function: all must match

continuous               (1) Capture packets continuously: cyclic overwrite

destination-ip-address  (10) Capture all packets matching ip dst address

dstindex                 (7) Capture all packets matching destination index

ethertype                (8) Capture all packets matching ethertype

interface                (4) Capture packets related to this interface

or-filter                (3) Apply filters in an or function: only one must match

rx                       (2) Capture incoming packets only

source-ip-address        (9) Capture all packets matching ip src address

srcindex                 (6) Capture all packets matching source index

tx                       (2) Capture outgoing packets only

vlan                     (5) Capture packets matching this vlan number

Hinweis: Es stehen mehrere Optionen zur Verfügung, und die Zahlen in Klammern rechts neben jeder Option geben die Reihenfolge an, in der die Optionen angegeben werden müssen.

Um Pakete auf dem SP-In-Band-CPU-Pfad zu erfassen, müssen Sie alle Befehle von der SP-Konsole aus ausführen.

Cat6500#remote login switch

Trying Switch ...

Entering CONSOLE for Switch

Type "^C^C^C" to end this session

Cat6500-sp#debug netdr capture ?

Hinweis: Geben Sie exit ein, um zur regulären RP-CPU-Eingabeaufforderung zurückzukehren.

Nach der Paketerfassung werden die Pakete mit dem Befehl show netdr capture angezeigt.

Optionen

Hier einige der verfügbaren Optionen für NetDr:

- Wenn Sie die Continuous-Option verwenden, verfügt der Switch über Pakete im In-Band-CPU-Pfad, die den gesamten Erfassungspuffer (4096 Pakete) füllen und den Puffer als First-In-First-Out (FIFO) überschreiben.

- Die tx- und rx-Optionen erfassen Pakete, die von der CPU stammen, bzw. an die CPU übertragen werden.

- Die Schnittstellenoption wird verwendet, um Pakete von oder zu der angegebenen Schnittstelle zu erfassen. Die Schnittstelle ist entweder eine Switch Virtual Interface (SVI)- oder eine L3-Schnittstelle auf dem Switch.

- Die VLAN-Option wird verwendet, um alle Pakete im angegebenen VLAN zu erfassen. Das angegebene VLAN kann eines der internen VLANs sein, die einer L3-Schnittstelle zugeordnet sind. Der Befehl show vlan internal use wird verwendet, um die interne VLAN-L3-Schnittstellenzuordnung anzuzeigen.

- LTL (lokale Ziellogik) ist eine interne Softwaredarstellung einer Schnittstelle. Die src_indx-Optionen (Quellindex) und dst_indx (Zielindex) werden verwendet, um alle Pakete zu erfassen, die mit den Quell-LTL- bzw. den Ziel-LTL-Indizes übereinstimmen. Beachten Sie, dass die Schnittstellenoption nur die Erfassung von Paketen an oder von einer L3-Schnittstelle (SVI oder physisch) zulässt. Die Verwendung der src_indx- oder dst_indx-Optionen ermöglicht die Erfassung von Tx- oder Rx-Paketen auf einer L2-Schnittstelle. Die Optionen src_indx und dst_indx arbeiten mit L2- oder L3-Schnittstellenindizes.

Fehlerbehebung

Hinweis: NetDSR ist sicher für den Einsatz in Umgebungen mit hoher CPU-Auslastung bei neueren Cisco IOS-Softwareversionen, z. B. Version 12.2(33)SXH und höher. Bei einigen alten Softwareversionen verbraucht Netdr möglicherweise mehr CPU und ist bei einem Switch, der bereits eine hohe CPU-Auslastung erkennt, möglicherweise nicht sicher. Wenn auf dem Switch eine ältere Softwareversion ausgeführt wird, wird empfohlen, diese Funktion unter der Aufsicht des Cisco TAC zu verwenden.

Gehen Sie wie folgt vor, um eine Fehlerbehebung mit NetDr durchzuführen:

1. Starten Sie eine Netzwerkerfassung für Datenverkehr, der in der RP-CPU eingeht:
Cat6500#debug netdr capture rx

2. Anzeigen der erfassten Pakete:
Cat6500#show netdr capture

A total of 4096 packets have been captured

The capture buffer wrapped 0 times

Total capture capacity: 4096 packets

------- dump of incoming inband packet -------

interface NULL, routine mistral_process_rx_packet_inlin, timestamp 06:35:39.498

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)

bpdu 0, index_dir 1, flood 0, dont_lrn 1, dest_indx 0x387(903)

05000018 03F16000 01020000 40000000 00117F00 00157F00 00100000 03870000

mistral hdr: req_token 0x0(0), src_index 0x102(258), rx_offset 0x76(118)

requeue 0, obl_pkt 0, vlan 0x3F1(1009)

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800

protocol ip: version 0x04, hlen 0x05, tos 0x00, totlen 46, identifier 8207

df 0, mf 0, fo 0, ttl 32, >src 127.0.0.16, dst 127.0.0.21

udp src 68, dst 67 len 26 checksum 0xB8BC

3. Überprüfen Sie die Pakete, um die Top-Talker und Trends zu identifizieren. Sie können die Option "| include" verwenden, um nach Feldern wie der Quell-MAC (srcmac)-Adresse, der Ziel-MAC (destmac)-Adresse, der Quell- und Ziel-IP-Adresse (src & dst) und dem Quellindex (src_indx) zu suchen.

Cat6500#show netdr capture | include srcmac

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 86DD

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 86DD

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 86DD

Cat6500#show netdr capture | inc src_indx

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x54(84)

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x54(84)

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x54(84)

4. Dekodieren Sie src_indx und dest_indx, um die Quell- und Zielschnittstellen des Pakets zu ermitteln.

Cat6500#remote command switch test mcast ltl-info index 102

index 0x102 contain ports 5/3

! This is the physical interface sourcing the packet going to the CPU.

Cat6500#remote command switch test mcast ltl-info index 387

index 0x387 contain ports 5/R

!5/R refers to RP CPU on the supervisor engine in slot 5