Introduzione
Questo documento descrive una guida completa su come identificare e risolvere in modo efficace le perdite di pacchetti nelle piattaforme Cisco NCS55XX.
Prerequisiti
Requisiti
Nessun requisito specifico previsto per questo documento.
Componenti usati
Questo documento è valido per tutte le piattaforme NCS 5500 che utilizzano architetture ASIC Jericho1 o Jericho2.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
Perdite di pacchetti
Per perdita di pacchetti si intende la situazione in cui i pacchetti di dati che attraversano la rete vengono eliminati intenzionalmente o involontariamente dal dispositivo, impedendo loro di raggiungere la destinazione prevista.
Destinazione finale
Per eseguire il debug di qualsiasi tipo di perdita di pacchetti, è necessario effettuare le seguenti operazioni:
1. Scoprire quale router della topologia sta scartando i pacchetti.
2. Cercare input contatore di pacchetti o contatore di rilascio incrementato sull'interfaccia.
Esempio show interface <>
Nota: I comandi sono stati eseguiti su un NCS 5500 all'interno di un ambiente lab controllato a scopo di test e convalida.
RP/0/RP0/CPU0:NCS-5500#show interfaces TenGigE0/0/0/14
TenGigE0/0/0/14 is up, line protocol is up
Interface state transitions: 3
Hardware is TenGigE, address is fce4.f6ad.b038 (bia fce4.f6ad.b038)
loopback not set,
Last link flapped 2w2d
ARP type ARPA, ARP timeout 04:00:00
Last input 00:00:00, output 00:00:17
Last clearing of "show interface" counters never
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
49129 packets input, 4286647 bytes, 153 total input drops << drops
0 drops for unrecognized upper-level protocol
Received 0 broadcast packets, 49129 multicast packets
0 runts, 0 giants, 0 throttles, 0 parity
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
47637 packets output, 6144913 bytes, 0 total output drops
Output 4 broadcast packets, 47633 multicast packets
845 output errors, 0 underruns, 0 applique, 0 resets <<<< errors
0 output buffer failures, 0 output buffers swapped out
3 carrier transitions
RP/0/RP0/CPU0:NCS-5500#
Suggerimento: Per le interfacce e le sottointerfacce del bundle, accertarsi di eseguire questo comando sull'interfaccia del bundle, sulle sottointerfacce e sulle interfacce fisiche corrispondenti.
3. Una volta confermato che un contatore di perdita o di errore è in aumento, il passaggio successivo consiste nell'identificare l'unità di elaborazione di rete (NPU) associata all'interfaccia interessata.
Esempio: show controllers npu voq-usage interface all instance all location <>
RP/0/RP0/CPU0:NCS-5500#show controllers npu voq-usage interface all instance all location 0/0/cpu0
-------------------------------------------------------------------
Node ID: 0/0/CPU0
Intf Intf NPU NPU PP Sys VOQ Flow VOQ Port
name handle # core Port Port base base port speed
(hex) type
----------------------------------------------------------------------
Hu0/0/0/5 8 0 0 1 1 1272 8360 local 100G
Hu0/1/0/2 2000088 0 1 17 857 1528 7464 remote 100G
Te0/0/0/14 1088 2 1 17 297 1728 6568 local 10G << NPU2, PP Port:17
4. Acquisire i pacchetti sulla NPU che ospita l'interfaccia. Individuare la porta PP nell'output, verificando che corrisponda alla porta PP identificata nel passaggio 1.
Esempio: show controllers fia diagshell "diag last" location
RP/0/RP0/CPU0:NCS-5500#show controllers fia diagshell 2 "diag last" location 0/0/CPU0
Node ID: 0/0/CPU0
R/S/I: 0/0/2
Core 0:
Last packet information: is_valid=0 tm_port=253
pp_port=240 src_syst_port=253 port_header_type=tm packet_size=0
Packet start, offset in bytes:
00: 4e415000 00134e41 50000001 8100e602 876f00fd 0606c00e 00000000 000180c2
20: 00000efc e4f6adb0 3888cc02 0704fce4 f6adb487 04100554 656e4769 6745302f
40: 302f302f 31340602 00780a0a 4e43532d 35353038 2d410c10 20372e39 2e322c20
60: 4e43532d 35353030 08000e04 00100010 100c0501 0a130101 02000000 d8001018
Core 1:
Last packet information: is_valid=1 tm_port=17
pp_port=17 src_syst_port=297 port_header_type=eth packet_size=83 << pp_port: 17
Packet start, offset in bytes:
00: 0180c200 000e40a6 b79e2552 88cc0207 0440a6b7 9e255204 070340a6 b79e2552
20: 06020079 fe190080 c2098000 00000064 00000000 00000002 00000000 000000fe
40: 060080c2 0b8800fe 080080c2 0c006189 06000000 00000000 00000000 00000000
60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
RP/0/RP0/CPU0:NCS-5500#
Suggerimento: È possibile decodificare i dati esadecimali utilizzando uno strumento Packet Decoder per analizzare e interpretare in modo approfondito il traffico di rete.
5. Controllare lo stato della NPU: identificare il numero della NPU associato all'interfaccia in uscita o in entrata, quindi eseguire questo comando per esaminare i contatori del percorso dati
Esempio: show controllers fia diagshell "diag counter g c" location

Nota: Controllare attentamente se i contatori evidenziati sono in aumento.
6. Esaminare le statistiche di ciascuna fase di elaborazione dell'unità di elaborazione della rete:
Esempio: show controller npu stats counters-all instance loc
RP/0/RP0/CPU0:NCS-5500#show controllers npu stats counters-all instance 2 location 0/0/CPU0
FIA Statistics Rack: 0, Slot: 1, Asic instance: 0
Per Block Statistics:
Ingress:
NBI RX:
RX_TOTAL_BYTE_COUNTER = 987134
RX_TOTAL_PKT_COUNTER = 7117
IRE:
CPU_PACKET_COUNTER = 0
NIF_PACKET_COUNTER = 7117
OAMP_PACKET_COUNTER = 16976
OLP_PACKET_COUNTER = 0
RCY_PACKET_COUNTER = 23081
IRE_FDT_INTRFACE_CNT = 0
IDR:
MMU_IDR_PACKET_COUNTER = 3037
IDR_OCB_PACKET_COUNTER = 0
IQM:
ENQUEUE_PKT_CNT = 52073
DEQUEUE_PKT_CNT = 52073
DELETED_PKT_CNT = 0
ENQ_DISCARDED_PACKET_COUNTER = 0
IPT:
EGQ_PKT_CNT = 35207
ENQ_PKT_CNT = 52073
FDT_PKT_CNT = 16976
CFG_EVENT_CNT = 49036
CFG_BYTE_CNT = 5313772
FDT:
IPT_DESC_CELL_COUNTER = 16976
IRE_DESC_CELL_COUNTER = 0
TRANSMITTED_DATA_CELLS_COUNTER = 16976
Egress:
FDR:
P1_CELL_IN_CNT = 17538
P2_CELL_IN_CNT = 0
P3_CELL_IN_CNT = 0
CELL_IN_CNT_TOTAL = 17538
FDA:
CELLS_IN_CNT_P1 = 17538
CELLS_IN_CNT_P2 = 0
CELLS_IN_CNT_P3 = 0
CELLS_IN_TDM_CNT = 0
CELLS_IN_MESHMC_CNT = 0
CELLS_IN_IPT_CNT = 35317
CELLS_OUT_CNT_P1 = 17538
CELLS_OUT_CNT_P2 = 0
CELLS_OUT_CNT_P3 = 0
CELLS_OUT_TDM_CNT = 0
CELLS_OUT_MESHMC_CNT = 0
CELLS_OUT_IPT_CNT = 35317
EGQ_DROP_CNT = 0
EGQ_MESHMC_DROP_CNT = 0
EGQ:
FQP_PACKET_COUNTER = 52635
PQP_UNICAST_PKT_CNT = 52635
PQP_DSCRD_UC_PKT_CNT = 0
PQP_UC_BYTES_CNT = 5750183
PQP_MC_PKT_CNT = 0
PQP_DSCRD_MC_PKT_CNT = 0
PQP_MC_BYTES_CNT = 0
EHP_UNICAST_PKT_CNT = 52635
EHP_MC_HIGH_PKT_CNT = 0
EHP_MC_LOW_PKT_CNT = 0
DELETED_PKT_CNT = 0
EHP_MC_HIGH_DSCRD_CNT = 0
EHP_MC_LOW_DSCRD_CNT = 0
ERPP_LAG_PRUNING_DSCRD_CNT = 0
ERPP_PMF_DISCARDS_CNT = 0
ERPP_VLAN_MBR_DSCRD_CNT = 0
EPNI:
EPE_BYTES_COUNTER = 5459532
EPE_PKT_COUNTER = 52635
EPE_DSCRD_PKT_CNT = 0
NBI TX:
TX_TOTAL_BYTE_COUNTER = 2315363
TX_TOTAL_PKT_COUNTER = 15053
RP/0/RP0/CPU0:NCS-5500#
7. Fare riferimento alle statistiche di trap per determinare se un pacchetto è stato scartato o reindirizzato alla CPU.
Esempio: show controllers npu stats traps-all instance loc
RP/0/RP0/CPU0:NCS-5500#show controllers npu stats traps-all instance 2 location 0/0/CPU0
Trap Type NPU Trap TrapStats Policer Packet Packet
ID ID ID Accepted Dropped
============================================================================================================================
RxTrapMimDiscardMacsaDrop (IRB) 2 1 0x1 32045 0 0
RxTrapMimDiscardMacsaSnoop(dot1x) 2 3 0x3 32020 0 53 <<< Drop
RxTrapMimSaMove(CFM_DOWM_MEP_DMM) 2 6 0x6 32039 0 0
RP/0/RP0/CPU0:NCS-5500#
8. Per i pacchetti non contrassegnati come scartati nei contatori di trap, esaminare i contatori dell'SPP per verificare la presenza di eventuali cadute.
Esempio:show spp node-counters loc
RP/0/RP0/CPU0:NCS-5500#show spp node-counters location 0/0/CPU0
socket/rx
ether raw pkts: 4098990
-------------------------------
socket/tx
ce pkts: 923918
-------------------------------
fretta/classify
forwarded NPU packet to NetIO: 3536836
forwarded CPU packet to NetIO: 102051
forwarded NPU packet to SPIO: 360025
dropped in classify node: 1638 <<<
lnx l2 drop in classify node: 1637
port-mapper drop: 1
-------------------------------
client/inject
pkts injected into spp: 923728
NetIO->NPU injected into spp: 461604
NetIO->CPU injected into spp: 102132
LACP: 128529
LLDP: 231463
-------------------------------
cfm_off_tx_node
Hostname updated: 1
-------------------------------
pkt_classrx
Other punt traffic to XR: 3998476
LPTS: ICMPv4 to XR: 119
LPTS: ARP request: 127
Total Pkts to XR: 3998912
Total Pkts punted to RP Lnx: 190
LPTS: ARP reply: 190
Total Pkts to both dests: 190
-------------------------------
client/punt
punted to client: 3998861
no client found - send to defa: 51
-------------------------------
RP/0/RP0/CPU0:NCS-5500#
9. Se non si osservano trap in aumento, esaminare le statistiche VOQ (Virtual Output Queue).
Esempio:
show controllers npu voq-usage interface instance loc
show controllers npu stats voq base instance location
RP/0/RP0/CPU0:NCS-5500#show controllers npu voq-usage interface tenGigE 0/0/0/14 instance 2 location 0/0/CPU0
-----------------------------------------------------------------
Node ID: 0/0/CPU0
Intf Intf NPU NPU PP Sys VOQ Flow VOQ Port
name handle # core Port Port base base port speed
(hex) type
----------------------------------------------------------------------
Te0/0/0/14 1088 2 1 17 297 1728 6568 local 10G
RP/0/RP0/CPU0:NCS-5500#
RP/0/RP0/CPU0:NCS-5500#show controllers npu stats voq base 1728 instance 2 loc 0/0/cpu0
Fri Jun 13 01:45:30.348 UTC
Location = 0/0/CPU0
Asic Instance = 2
VOQ Base = 1728
ReceivedPkts ReceivedBytes DroppedPkts DroppedBytes
-------------------------------------------------------------------
Core-0:
TC_0 = 0 0 0 0
TC_1 = 0 0 0 0
TC_2 = 0 0 0 0
TC_3 = 0 0 0 0
TC_4 = 0 0 0 0
TC_5 = 0 0 0 0
TC_6 = 0 0 0 0
TC_7 = 47929 7570783 0 0
RP/0/RP0/CPU0:NCS-5500#
Informazioni necessarie per aprire una richiesta con TAC
Suggerimento: Eseguire i comandi citati più volte a intervalli regolari per monitorare e identificare in modo attivo se i contatori, ad esempio errori, cadute o sovraccarichi, sono in aumento.
Raccogliere tutti i comandi menzionati in questo documento, insieme ai seguenti comandi aggiuntivi per una risoluzione completa dei problemi:
mostra tutte le interruzioni della posizione
Attenzione: For certain versions of Jericho1, the command used is show drops-all ongoing location
show tech -support
mostra posizione in entrata pacchetti acquisiti
Informazioni correlate
NCS 550: Durata di un pacchetto (in transito, punzonatura/inserimento, percorso ping)
Supporto tecnico Cisco e download