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 beschrieben, wie Sie Eingabefehler an der Schnittstelle von XR-Routern beheben.
Es gibt keine spezifischen Anforderungen für dieses Dokument.
Dieser Artikel behandelt Router der Serie ASR 9000, Router der Serie CRS und Router der Serie GSR 12000.
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.
Input-Drops in Cisco IOS XR haben eine ganz andere Bedeutung als Input-Drops in Cisco IOS. Es kann Sie verwirren, wenn es Cisco IOS auf Cisco IOS XR migriert und seine Eingabefehler in der Show-Schnittstelle zu sehen beginnt.
In Cisco IOS ist die Eingabe aufgrund der vollen Schnittstellen-Eingabewarteschlange verloren gegangen. Dies bedeutet, dass zu viele Pakete für das Prozess-Switching an die CPU gesendet wurden und diese nicht schnell genug verarbeiten konnte. Die Eingabewarteschlange wird aufgebaut, bis sie voll ist und einige Verwerfungen auftreten.
In Cisco IOS XR gibt es keine strikte Definition für einen Input Drop. Es liegt also im Grunde an den Entwicklern einer Komponente, zu entscheiden, ob sie den Eingangs-Zähler erhöhen wollen, wenn sie sich entscheiden, ein Paket zu verwerfen. Das Entscheidende hierbei ist, dass der Router irgendwann im Code beschließt, das Paket zu verwerfen, was bedeutet, dass es wahrscheinlich ist, dass der Router dieses Paket nicht weiterleiten sollte, und der Router hat bewusst entschieden, es zu verwerfen. Daher ist dies nicht mit Überlastung verbunden, wie dies bei Cisco IOS der Fall ist. Es handelt sich jedoch eher um ein Paket, das vom Router empfangen wurde und nicht weitergeleitet werden sollte. Daher hat der Router entschieden, es fallen zu lassen, und es ist sehr wahrscheinlich kein Grund, alarmiert zu werden. Obwohl Sie nicht sagen können, ob es etwas ist, um sich Sorgen zu machen oder nicht, bis Sie vollständig verstanden haben, die Art von Paketen, die inkrementieren die Eingabe Drop-Zähler, und das ist nicht so einfach.
Beispiele:
Wenn die Eingabefehler gemeldet werden, besteht das Problem darin, herauszufinden, ob es sich um legitime Einbrüche wie in Beispiel 1 oder die Folge eines Problems wie in Beispiel 2 handelt.
In diesem Dokument werden die Gründe für die inkrementierten Eingabeverfügungen aufgelistet und es wird geprüft, ob dies der Grund ist:
Runts, Frame Check Sequence (FCS), Abbrüche, FIFO-Überläufe (First Input First Output), Giganten Packet Over SDH/SONET (POS)-Drops.
RP/0/RP0/CPU0:equinox#show controllers poS 0/2/0/0 framer statistics POS Driver Internal Cooked Stats Values for port 0 =================================================== Rx Statistics Tx Statistics ------------- ------------- Total Bytes: 71346296 Total Bytes: 67718333 Good Bytes: 71346296 Good Bytes: 67718333 Good Packets: 105385 Good Packets: 67281 Aborts: 0 Aborts: 0 FCS Errors: 0 Min-len errors: 0 Runts: 0 Max-len errors: 0 FIFO Overflows: 0 FIFO Underruns: 0 Giants: 0 Drops: 0 RP/0/RP0/CPU0:equinox#
Überprüfen Sie für eine Ethernet-Schnittstelle Folgendes:
Controller anzeigen GigabitEthernet 0/0/0/18-Statistiken
Prüfen Sie, ob es einen Zähler in den Controller-Statistiken gibt, der mit der gleichen Rate inkrementiert wie der Eingabe-Zähler in der Show-Schnittstelle. Einige dieser Fehlerindikatoren müssen sich auch in der Anzeigeschnittstelle befinden.
Pakete mit einer Ziel-MAC-Adresse, nicht der der Schnittstelle, oder mit einem Virtual Local Area Network (VLAN), dem keine Subschnittstelle entspricht. Diese können auftreten, wenn in einer L2-Domäne unbekannte Unicast-MAC-Adressen überflutet werden, sodass der mit dieser L2-Domäne verbundene XR-Router Frames mit einer Ziel-MAC-Adresse empfängt, die keiner seiner Controller ist. Es ist auch möglich, wenn ein Cisco IOS-Router Ethernet-Keepalives über seine spezielle Schnittstelle sendet, sodass diese Keepalives die Eingangs-Drops auf dem XR-Router inkrementieren, da sie nicht über die Ziel-MAC-Adresse des XR-Routers verfügen. Wenn die Schnittstelle mit einem anderen Gerät verbunden ist, auf dem mehr dot1q-VLANs/Subschnittstellen wie auf dem XR-Router konfiguriert sind, empfängt der XR-Router Frames mit einem unbekannten dot1q-Tag.
Auf einem festen CRS-PLIM (Physical Layer Interface Modules) finden Sie solche Drops in:
RP/0/RP0/CPU0:pixies-uk#sh contr plim asic statistics interface tenGigE 0/1/0/3 location 0/1/CPU0 Wed Aug 22 16:07:47.854 CEST Node: 0/1/CPU0 TenGigE0/1/0/3 Drop ------------------------------------------------------------------------------- RxFiFO Drop : 0 PAR Tail Drop : 0 PAR Err Drop : 0 Invalid MAC Drop : 86 TxFIFO Drop : 0 Invalid VLAN Drop : 11
Oder im Tenigge- oder Giga-Controller-Status:
RP/0/RP0/CPU0:pixies-uk#sh contr ten 0/1/0/3 stats Wed Aug 22 16:22:42.059 CEST Statistics for interface TenGigE0/1/0/3 (cached values): Ingress: Input drop overrun = 0 Input drop abort = 0 Input drop invalid VLAN = 11 Input drop invalid DMAC = 0 Input drop invalid encap = 0 Input drop other = 86
Hinweis: Cisco Bug-ID CSCub74803 vorhanden. Der andere Input-Drop wird anstatt des ungültigen Input-Drop-DMACs inkrementiert, zumindest auf dem 8-Port tenigge fixed PLIM des CRS.
Bei Shared Port Adapters (SPAs) (CRS, XR 12000) würden die Pakete mit ungültiger MAC von der SPA l2-tcam verworfen, sodass Sie diese Verwerfungen in den Show Controllern TenGigE a/b/c/d alle finden:
Input drop other = 107 l2-tcam Invalid DA Drops: 107
Auf einem ASR 9000 werden die Zähler für ungültige DMAC-Eingaben und für ungültige Eingaben nicht inkrementiert. Die Erkennung dieser Tropfen auf dem ASR 9000 besteht also darin, den NP zu finden, der die Schnittstelle mit den Eingangs-Tropfen handhabt:
RP/0/RSP0/CPU0:obama#sh int gig 0/0/0/30 | i "input drops" Wed Aug 22 16:55:52.374 CEST 1155 packets input, 156256 bytes, 1000 total input drops RP/0/RSP0/CPU0:obama#sh contr np ports all location 0/0/CPU0 Wed Aug 22 16:56:01.385 CEST Node: 0/0/CPU0: ---------------------------------------------------------------- NP Bridge Fia Ports -- ------ --- --------------------------------------------------- 0 0 0 GigabitEthernet0/0/0/30 - GigabitEthernet0/0/0/39 1 0 0 GigabitEthernet0/0/0/20 - GigabitEthernet0/0/0/29 2 1 0 GigabitEthernet0/0/0/10 - GigabitEthernet0/0/0/19 3 1 0 GigabitEthernet0/0/0/0 - GigabitEthernet0/0/0/9 RP/0/RSP0/CPU0:obama#
Sie können sehen, dass die Schnittstelle gig 0/0/0/30 vom NP 0 auf 0/0/CPU0 verarbeitet wird.
Lassen Sie uns die NP-Zähler von NP0 auf 0/0/CPU0 überprüfen:
RP/0/RSP0/CPU0:obama#sh contr np counters np0 location 0/0/CPU0 Wed Aug 22 16:56:19.883 CEST Node: 0/0/CPU0: ---------------------------------------------------------------- Show global stats counters for NP0, revision v3 Read 26 non-zero NP counters: Offset Counter FrameValue Rate (pps) ------------------------------------------------------------------------------- 22 PARSE_ENET_RECEIVE_CNT 1465 0 23 PARSE_FABRIC_RECEIVE_CNT 2793 0 24 PARSE_LOOPBACK_RECEIVE_CNT 2800 0 28 MODIFY_FABRIC_TRANSMIT_CNT 80 0 29 MODIFY_ENET_TRANSMIT_CNT 1792 0 32 RESOLVE_INGRESS_DROP_CNT 1000 0 35 MODIFY_EGRESS_DROP_CNT 1400 0 36 MODIFY_MCAST_FLD_LOOPBACK_CNT 1400 0 38 PARSE_INGRESS_PUNT_CNT 465 0 39 PARSE_EGRESS_PUNT_CNT 155 0 45 MODIFY_RPF_FAIL_DROP_CNT 1400 0 53 PARSE_LC_INJECT_TO_FAB_CNT 80 0 54 PARSE_LC_INJECT_TO_PORT_CNT 864 0 57 PARSE_FAB_INJECT_UNKN_CNT 155 0 67 RESOLVE_INGRESS_L3_PUNT_CNT 465 0 69 RESOLVE_INGRESS_L2_PUNT_CNT 464 0 70 RESOLVE_EGRESS_L3_PUNT_CNT 1400 0 93 CDP 464 0 95 ARP 1 0 109 DIAGS 154 0 221 PUNT_STATISTICS 9142 1 223 PUNT_DIAGS_RSP_ACT 155 0 225 PUNT_DIAGS_RSP_STBY 155 0 227 NETIO_RP_TO_LC_CPU_PUNT 155 0 373 L3_NOT_MYMAC 1000 0 565 INJECT_EGR_PARSE_PRRT_PIT 928 0 RP/0/RSP0/CPU0:obama#
L3_NOT_MYMAC im NP-Zähler bedeutet also, dass der Router einen Frame an einer Layer-3-Schnittstelle mit einer Ziel-MAC-Adresse empfangen hat, die keine der Schnittstellen ist. Der Router verwirft es wie erwartet, und dies wird als Eingabe-Verwerfung in der Show-Schnittstelle gemeldet.
Auf dem ASR 9000 wird bei Paketen, die mit einem dot1q-VLAN empfangen werden, das nicht auf einer Subschnittstelle des ASR 9000 konfiguriert ist, der Zähler für den unbekannten Eingangsverlust 802.1Q in den Statistiken show controllers gigabitEthernet 0/0/0/30 nicht inkrementiert. Die Vorgehensweise ist dieselbe wie oben für die unbekannte DMAC: Identifizieren Sie, welcher NP die Schnittstellen behandelt, und überprüfen Sie dann diesen NP-Zähler. Sie sehen, dass der NP-Zähler UIDB_TCAM_MISS_AGG_DROP in diesem Fall inkrementiert.
Diese lässt sich leicht erkennen, da es einen Zähler für diese Drops gibt, der eine Zeile unter den Input-Drops in der Show-Schnittstelle liegt:
RP/0/RSP0/CPU0:obama#sh int gig 0/0/0/18 Wed Aug 22 17:14:35.232 CEST GigabitEthernet0/0/0/18 is up, line protocol is up 5 minute input rate 4000 bits/sec, 0 packets/sec 5 minute output rate 5000 bits/sec, 0 packets/sec 7375 packets input, 6565506 bytes, 1481 total input drops 1481 drops for unrecognized upper-level protocol
Hier können Sie sehen, dass alle Eingabefehler auf ein unbekanntes Protokoll der oberen Ebene zurückzuführen sind.
Dies bedeutet, dass Pakete mit einem Ethernet-Protokoll empfangen wurden, das für den Router nicht von Interesse ist. Das bedeutet, dass eine Funktion auf dem Nachbarn (oder auf einem Host, der mit der Layer-2-Domäne verbunden ist, die mit dieser Schnittstelle verbunden ist) konfiguriert ist, sodass Frames mit einem Protokoll gesendet werden, das auf dem XR-Router nicht konfiguriert ist.
Beispiele: BPDUs, Intermediate System to Intermediate System (ISIS), Connection Less Network Protocol (CLNP), IPv6, UDLD, Cisco Discovery Protocol (CDP), VLAN Trunking Protocol (VTP), Dynamic Trunking Protocol (DTP), Link Layer Discovery Protocol (LLDP) usw....
Wenn diese Funktionen nicht für die XR-Schnittstelle konfiguriert sind, werden sie wie erwartet von der XR-Box verworfen. Um herauszufinden, welche Art von Frames diesen Zähler inkrementiert, müssen Sie vergleichen, welche Funktionen auf dem XR-Router aktiviert sind, mit den Funktionen, die auf dem Nachbarn aktiviert sind (es kann ein Router oder ein Switch sein), oder die Funktionen, die auf allen Geräten aktiviert sind, die mit den Layer-2-Domänen verbunden sind, die mit dieser Schnittstelle verbunden sind (viel weniger einfach). Wenn der XR-Router mit einem Switch verbunden ist, können Sie an diesem Switch eine Spanning der Pakete testen, die er an den XR-Router an der Schnittstelle mit Eingangsverlusten sendet.
ASR9000/XR : Drops wegen unerkanntem Protokollfehler der oberen Ebene
Zähler für Datenverlust im Netzwerkprozess (Network Process, NP) des ASR 9000 werden als Eingabe-Datenverlust gemeldet, wenn sie auf ein an einer Schnittstelle empfangenes und verworfenes Paket angewendet werden. Dies tritt nicht bei Verwerfen der Packet Switch Engine (PSE) auf dem CRS und dem XR 12000 auf. Sie werden nicht als Input-Drops gezählt.
Wenn Sie also Eingabe-Drops auf einem ASR 9000 haben und diese nicht mit einem dieser Gründe übereinstimmen, würden Sie die np-Ports aller Controller 0/<x>/CPU0 anzeigen, um den NP zu finden, der die Schnittstelle mit Eingabe-Drops behandelt, und dann seine NP-Zähler mit show contr np counters np<y> location 0/<x>/CPU0 überprüfen 1.
Sie können die Ausgabe über die Pipeline so weiterleiten, dass nur DROP-Zähler mit einem Befehl wie sh contr np counters np<y> location 0/<x>/CPU0 beibehalten werden. | i DROP, aber dies kann gefährlich sein, da ein Zähler für Tropfen manchmal kein DROP in seinem Namen hat. Sie haben ein gutes Beispiel für L3_NOT_MYMAC gesehen. Also vielleicht Pfeife für DROP|DISCARD|NOT|EXCD.
Sie können die Schnittstellenzähler und die NP-Zähler mit clear controller np counters np<y> location 0/<x>/CPU0 ungefähr zur gleichen Zeit löschen, um herauszufinden, welcher NP-Zähler mit der gleichen Rate inkrementiert wie die Eingabe fällt.
Sie erhalten beispielsweise IPV4_PLU_DROP_PKT in den NP-Zählern, was bedeutet, dass der CEF/PLU-Eintrag besagt, dass das Paket verworfen werden muss. Sie verfügen nicht über eine Standardroute und haben nicht erreichbare Pakete deaktiviert, sodass Pakete, die nicht einer spezifischeren Route entsprechen, bei denen das Erreichen des Standard-CEF-Handlers ein Drop-Eintrag ist.
Wenn Sie einen Zähler im NP finden, der erklären kann, dass die Eingabe fällt, während sie mit der gleichen Rate inkrementiert werden, aber der Zähler für den NP-Fall ist nicht sehr selbsterklärend, können Sie auf dieser Seite navigieren, um zu versuchen, zu verstehen, was der Zähler bedeutet:
ASR9000/XR: Fehlerbehebung bei Paketverlusten und Erkennung von NP-Verlustzählern
Hinweis: Xanders Seite auf Support-Foren enthält die Gründe für das Verwerfen der ersten Generation von Linecards (Trident), und es gibt neue Zählernamen für die neue Generation von Linecards (Typhoon). Basierend auf dem Namen, müssen Sie in der Lage sein, einen ähnlichen Zählernamen wie auf Trident zu finden.
Sie können eine show netio idb <int> erfassen und erhalten die Zähler für den Schnittstelleneingang und den Netio-Knoten-Abbruch:
RP/0/RP0/CPU0:ipc-lsp690-r-ca-01#show netio idb gigabitEthernet 0/2/0/1
GigabitEthernet0/2/0/1 (handle: 0x01280040, nodeid:0x21) netio idb:
---------------------------------
name: GigabitEthernet0_2_0_1
interface handle: 0x01280040
interface global index: 3
physical media type: 30
dchain ptr: <0x482e0700>
echain ptr: <0x482e1024>
fchain ptr: <0x482e13ec>
driver cookie: <0x4829fc6c>
driver func: <0x4829f040>
number of subinterfaces: 4096
subblock array size: 7
DSNCNF: 0x00000000
interface stats info:
IN unknown proto pkts: 0
IN unknown proto bytes: 0
IN multicast pkts: 0
OUT multicast pkts: 0
IN broadcast pkts: 0
OUT broadcast pkts: 0
IN drop pkts: 0 <=========== cleared when added to input drop counter !!!
OUT drop pkts: 0
IN errors pkts: 0
OUT errors pkts: 0
Chains
--------------------
Base decap chain:
ether <30> <0xfd018cd8, 0x482c736c> < 0, 0>
Protocol chains:
---------------
<Protocol number> (name) Stats
Type Chain_node <caps num> <function, context> <drop pkts, drop bytes>
<snip>
<13> (mpls) Stats IN: 204 pkts, 23256 bytes; OUT: 0 pkts, 0 bytes
Encap:
mpls <25> <0xfcc7ddbc, 0x00000000> < 0, 0>
ether <30> <0xfd0189b4, 0x482c736c> < 0, 0>
l2_adj_rewrite <86> <0xfcaa997c, 0x4831a2e8> < 0, 0>
pcn_output <54> <0xfd0561f0, 0x48319f04> < 0, 0>
q_fq <43> <0xfd05f4b8, 0x48320fec> < 0, 0>
txm_nopull <60> <0xfcadba38, 0x4824c0fc> < 0, 0>
Decap:
pcn_input <55> <0xfd0561f0, 0x4830ba8c> < 0, 0>
q_fq_input <96> <0xfd05f330, 0x48312c7c> < 0, 0>
mpls <25> <0xfcc7b2b8, 0x00000000> < 152, 17328>
Fixup:
l2_adj_rewrite <86> <0xfcaa945c, 0x00000000> < 0, 0>
pcn_output <54> <0xfd0561f0, 0x48319f04> < 0, 0>
q_fq <43> <0xfd05f4b8, 0x48320fec> < 0, 0>
txm_nopull <60> <0xfcadba38, 0x4824c0fc> < 0, 0>
Die Drops im MPLS-Knoten (Multi-Protocol Label Switching) können z. B. darauf zurückzuführen sein, dass die MPLS-Lebensdauer (Time To Live, TTL) abgelaufen ist (im Falle einer Schleife oder wenn der Kunde eine Traceroute durchführt), oder dass eine Fragmentierung erforderlich ist und beispielsweise ein DF-Bit (Do Not Fragment) festgelegt ist. Sie können debug mpls packet drop und debug mpls error mit dem Speicherort der Schnittstelle ausführen, um herauszufinden, welche Art von Paket diesen Zähler inkrementiert.
Multicast-Pakete mit Zeitlimit. Wenn Sie netio IN Drop Pkts sehen, aber keinen Netio Node unten mit einigen Drops, die die IN Drop Pkts erklären könnten, dann kann dies mcast punted Packets sein, und Sie können deb mfib netio Drop aktivieren, um herauszufinden, welche Art von Paketen
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
2.0 |
12-Jul-2023 |
Aktualisierter Titel, Einführung, Branding-Anforderungen, maschinelle Übersetzung, Stilanforderungen, Grammatik und Formatierung. |
1.0 |
04-Jan-2019 |
Erstveröffentlichung |