La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come risolvere i problemi di perdita dei pacchetti dell'interfaccia sui router Cisco IOS® XE.
Conoscenze base di flusso di pacchetti e Cisco IOS XE.
Questo documento è basato sulle piattaforme di router Cisco IOS XE, come i router ISR 4000 e ASR1000.
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.
Sui router Cisco IOS XE, le perdite di pacchetti possono verificarsi su diversi componenti, tra cui:
Interfacce Shared Port Adapter (SPA).
Quantum Flow Processor (QFP): Processore di dataplane che contiene i DPI (Packet Processor Engine).
Queste cadute possono essere osservate in entrata o in uscita sulle interfacce. Quando si analizza il QFP, l'attenzione principale è sulle perdite di output.
Per le perdite di pacchetti che influiscono sul control plane sui dispositivi Cisco IOS XE, fare riferimento alle perdite di pacchetti come descritto nella guida: Risoluzione dei problemi relativi al superamento di una soglia da parte del Policer.
Le interfacce possono sperimentare perdite di input nelle code di input. Questo contatore può essere visualizzato con il comando show interfaces nel campo input queue (coda di input), nella sezione drop counter (contatore perdite):
---- show interfaces ----
GigabitEthernet0/0/0 is up, line protocol is up
Input queue: 0/375/71966/0 (size/max/drops/flushes); Total output drops: 47009277
Il contatore di perdita di input sulle interfacce è visibile anche nel comando show interface summary, nella colonna IQD, che rappresenta i pacchetti eliminati dalla coda di input.
---- show interface summary ----
Interface IHQ IQD OHQ OQD RXBS RXPS TXBS TXPS TRTL
-----------------------------------------------------------------------------------------------------------------
* Te0/0/0 0 0 0 0 29544000 2830 1957000 1446 0
* Te0/0/1 0 0 0 0 23476000 2555 16655000 3346 0
* GigabitEthernet0/0/0 0 71966 0 47019440 18852000 5321 59947000 6064 0
Le perdite di input sulle interfacce si verificano in genere quando le code di input si sovraccaricano e non possono essere elaborate in tempo. Di conseguenza, i pacchetti possono essere scartati in modo selettivo in base all'algoritmo di coda in uso.
Le possibili cause delle cadute di input includono:
È possibile provare ad aumentare le dimensioni della coda di input utilizzando il comando hold-queue al livello dell'interfaccia:
Router(config-if)#hold-queue ?
<0-240000> Queue length
Nota: Il comando Hold-queue non può essere eseguito su alcune piattaforme. Verificare le specifiche della piattaforma o inviare una richiesta a TAC.
Nota: i meccanismi di controllo del flusso possono essere usati anche per inviare i frame di pausa dal dispositivo ricevente al dispositivo mittente. Esaminare ulteriori informazioni sul controllo del flusso nella guida alla configurazione dei componenti hardware e interfaccia per la piattaforma specifica.
I cali di output sul manifesto delle interfacce si verificano nelle code di output e possono essere visualizzati con il comando show interfaces:
---- show int gi 1/0/46 ----
GigabitEthernet1/0/46 is up, line protocol is up (connected)
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 154786
Il contatore Totale perdite output indica la saturazione nelle code di output dell'interfaccia interessata. Questa condizione può essere esacerbata da meccanismi come QoS (Quality of Service), che possono eliminare selettivamente i pacchetti per gestire la congestione.
Poiché QoS modifica la priorità del traffico, un altro passaggio per la risoluzione dei problemi consiste nel verificare se l'interfaccia utilizza una strategia di coda non predefinita tramite una mappa dei criteri configurata nella direzione di output utilizzando l'output del comando service-policy.
interface GigabitEthernet0/1
service-policy output PRIORITIZE-VOICE
Per verificare se le perdite di output sono dovute al meccanismo di qualità del servizio implementato, utilizzare il comando show policy-map interface <nome-interfaccia> out. Questa condizione viene illustrata nell'esempio:
---- show policy-map interface gi0/0/0 output ----
GigabitEthernet0/0/0
Service-policy output: PRIORITIZE-VOICE
queue stats for all priority classes:
Queueing
queue limit 512 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
Class-map: VOICE (match-any)
0 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: dscp ef (46)
Priority: Strict, b/w exceed drops: 0
Class-map: class-default (match-any)
0 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any
queue limit 4166 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
Router#
Con questo comando vengono visualizzate le interruzioni dovute al meccanismo QoS tra le classi configurate.
Nota: Se l'output sull'interfaccia è correlato alle riduzioni visualizzate nella mappa dei criteri, la riduzione è generalmente prevista a causa della qualità del servizio configurata. Se necessario, richiedere il supporto di TAC per approfondire la qualità del servizio utilizzato e fare riferimento alle guide corrispondenti per questa funzionalità.
Per ulteriori informazioni sul funzionamento di QoS e sulle modalità di implementazione, consultare la guida alla configurazione di Quality of Service (QoS), Cisco IOS XE 17.x.
Per visualizzare la strategia di accodamento, usare il comando show interfaces e controllare il valore della strategia di accodamento. Per impostazione predefinita, la strategia di elaborazione dei pacchetti in uscita è FIFO (First-In, First-Out).
---- show interfaces gigabitEthernet 0/0/0 ----
Queueing strategy: Class-based queueing
Se all'interfaccia non è associata una mappa dei criteri nella direzione di output per la qualità del servizio, è possibile che l'output venga interrotto per altre cause.
Di seguito vengono riportati alcuni dei motivi per cui l'output viene interrotto su un'interfaccia che non dispone della qualità del servizio:
Per ulteriori informazioni sulla risoluzione di questo problema, consultare la sezione Le perdite di QFP (Quantum Flow processor) in questo documento.
Per verificare i motivi delle interruzioni QFP, usare il comando show platform hardware qfp active statistics drop, come mostrato di seguito:
---- show platform hardware qfp active statistics drop ----
Last clearing of QFP drops statistics : never
-------------------------------------------------------------------------
Global Drop Stats Packets Octets
-------------------------------------------------------------------------
BFDoffload 23944858 1904416850
IpTtlExceeded 184211 28644972
IpsecIkeIndicate 175 26744
IpsecInput 686112 171458640
IpsecInvalidSa 1 80
Ipv4Martian 4 392
Ipv4NoAdj 19776 6587643
Ipv4NoRoute 75 10950
Ipv6NoRoute 27068 1515808
ReassDrop 3489529 450382594
ReassNoFragInfo 4561070 6387610348
ReassOverlap 3 198
ReassTimeout 7408271 2631950860
TailDrop 193769387 157113756882
Questo comando mostra i diversi motivi per cui QFP viene scartato e i contatori dei pacchetti associati per ciascuna categoria.
Nota: La maggior parte dei motivi di eliminazione delle categorie QFP sono autoesplicativi in base al nome. La categoria del motivo guida il flusso di risoluzione dei problemi. Per le categorie di perdita di pacchetti non comuni, se necessario, inviare una richiesta Cisco TAC.
Uno dei tipi di rilascio più frequentemente osservati è il contatore TailDrop, che in genere aumenta per i seguenti motivi:
Tipo di registro generato:
%BW_LICENSE-4-THROUGHPUT_MAX_LEVEL: F0/0: cpp_ha_top_level_server: La velocità di trasmissione media ha raggiunto la larghezza di banda concessa in licenza di <mbps> Mbps durante i periodi di campionamento <sample-number> nelle ultime <period> ore. Il periodo di campionamento è di <sampling-period> secondi
Comandi di verifica:
Sovrautilizzazione (Limitazione Della Piattaforma)
Per capire se il traffico interessato è stato scaricato e ottenere una vista più dettagliata sulla gestione dei pacchetti da parte di QFP, è possibile usare la funzione di traccia dei pacchetti. Fare riferimento alla sezione Risoluzione dei problemi con la funzione Cisco IOS-XE Datapath Packet Trace.
Tipo di registro generato:
%IOSXE_QFP-2-LOAD_EXCEED: Slot 0, QFP:0, Load <percentuale carico>% supera la soglia di impostazione.
Nota: Per ulteriori informazioni, fare riferimento ai valori di throughput e di scalabilità della piattaforma nei fogli dati. La velocità di trasmissione varia in base al numero e all'utilizzo delle funzionalità nella configurazione del dispositivo. Varia anche a seconda dei bit aggregati al secondo (bps) iniettati nel QFP.
È possibile usare il comando show platform hardware qfp active datapath usage summary per verificare l'utilizzo QFP negli ultimi 5 secondi, 1 minuto, 5 minuti o 60 minuti.
---- show platform hardware qfp active datapath utilization summary ----
CPP 0: 5 secs 1 min 5 min 60 min
Input: Total (pps) 1 2 2 2
(bps) 320 1032 1032 1032
Output: Total (pps) 0 1 1 1
(bps) 0 8560 8560 8576
Processing: Load (pct) 0 0 0 0
Crypto/IO
Crypto: Load (pct) 0 0 0 0
RX: Load (pct) 0 0 0 0
TX: Load (pct) 2 2 2 2
Idle (pct) 97 97 97 97
Per ulteriori verifiche delle cadute in QFP, utilizzare show drops { bqs | crypto| firewall| interface| ip-all| nat| punt| qfp| qos|history}, fare riferimento alla guida alla guida alla configurazione software delle piattaforme Cisco Catalyst serie 8500 e 8500L Edge.
Sono visualizzati contatori diversi tramite il comando show interfaces [interface]. La spiegazione del significato di ciascuno di questi contatori è disponibile nel documento Risoluzione dei problemi Ethernet.
è possibile abilitare la vista del grafico dei bit di cronologia al secondo nella CLI in entrata e in uscita da un'interfaccia usando i bps di cronologia dei comandi a livello di interfaccia. Questa configurazione genera un grafico di bps cronologici sull'interfaccia.
Router(config)#interface gigabitEthernet 0/0/0
Router(config-if)#history bps
È inoltre possibile attivare le interruzioni di output bps della cronologia e la cronologia di altri contatori.
Per visualizzare i risultati dei contatori della cronologia nel tempo, utilizzare il comando show interfaces <interface> history:
---- show interfaces gigabitEthernet 0/0/0 history ? ----
60min Display 60 minute histograms only
60sec Display 60 second histograms only
72hour Display 72 hour histograms only
all Display all three histogram intervals
both Display both input and output histograms
input Display input histograms only
output Display output histograms only
| Output modifiers
#show int gi1 history 60sec
90100 *
82100 *
74100 ******
66100 ***********
58100 ***********
50100 ****************
42100 *********************
34100 *******************************
26100 ************************************
18100 ***************************************************
10100 **********************************************************
0....5....1....1....2....2....3....3....4....4....5....5....6
0 5 0 5 0 5 0 5 0 5 0
GigabitEthernet1 output rate(mbits/sec) (last 60 seconds)
Questi comandi vengono utilizzati per cancellare varie statistiche dei contatori:
Per verificare se il numero di cali di output ha un impatto, oltre a usare il comando history bps output-drops a livello di interfaccia per comprendere i cali nel tempo, è possibile usare altri valori del contatore per ottenere la percentuale complessiva di cali di output dall'ultima cancellazione dei contatori.
Se i contatori non sono stati azzerati dall'ultimo avvio, usare il comando show version per verificare il tempo di attività del sistema o usare il comando show interfaces per verificare se è stata cancellata l'ultima volta in cui è stato cancellato il valore dei contatori dell'interfaccia.
Dopo aver determinato la data dell'ultima cancellazione dei contatori o dopo aver identificato il tempo di attività del dispositivo, calcolare la percentuale di perdite di output che si sono verificate durante tale periodo.
A tale scopo, è possibile moltiplicare il valore totale delle perdite di output per 100 e quindi dividere il risultato tra i valori del contatore di output dei pacchetti del comando show interfaces<interface>. Il risultato di questa operazione dà un'idea della percentuale di perdite di output per l'interfaccia durante l'intervallo di tempo specificato.
Nota: Tenere presente che i contatori di show interfaces e show platform hardware qfp active statistics drop sono cronologici e cumulativi dall'ultima volta che sono stati cancellati. I contatori vengono cancellati se viene eseguito un ricaricamento.
Per ulteriori informazioni, fare riferimento all'output di questo esempio:
---- show version ----
Hostname uptime is 51 weeks, 1 day, 14 hours, 17 minutes
---- show interface GigabitEthernet0/0/1 ----
GigabitEthernet0/0/1 is up, line protocol is up
Last clearing of "show interface" counters never
Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 1351
219128599 packets output, 84085726336 bytes, 0 underruns
L'output di esempio indica che i contatori delle interfacce non sono mai stati azzerati, il che significa che nelle ultime 51 settimane di attività del dispositivo, la percentuale di output totale è pari a ( 1351 x 100 ) / 219128599 = 0,0006%.
L'interpretazione di questa percentuale può essere che le riduzioni totali dell'output su questa interfaccia non sono significative e poiché questo contatore è storico, cumulativo, e dato il tempo di attività prolungato, questo significa che le riduzioni non hanno alcun impatto.
Intervallo di caricamento è un parametro di configurazione a partire dal livello di interfaccia che indica la durata del tempo per cui i dati vengono utilizzati per calcolare le statistiche di caricamento.
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface gigabitEthernet 0/0/0
Router(config-if)#load-interval ?
<30-600> Load interval delay in seconds
Il risultato del parametro load-interval viene riflesso con il comando show interfaces sotto i valori della velocità di input e output:
---- show interfaces gigabitEthernet 0/0/0 ----
GigabitEthernet0/0/0 is administratively down, line protocol is down
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
Questa operazione è importante al momento della verifica della frequenza dei bit al secondo quando si esegue il comando show interfaces.
I valori di velocità di input e output sono utili per comprendere i bit al secondo in entrata e in uscita da un'interfaccia.
Usare il comando show interface summary per una panoramica completa dei valori di velocità di input e output su tutte le interfacce e ottenere la velocità di output aggregata dalle interfacce fisiche, che è utile per comprendere l'output totale dei bit aggregati al secondo in un determinato momento. Fare riferimento ai contatori RXBS e TXBS da questo output di esempio:
---- show interfaces summary ----
*: interface is up
IHQ: pkts in input hold queue IQD: pkts dropped from input queue
OHQ: pkts in output hold queue OQD: pkts dropped from output queue
RXBS: rx rate (bits/sec) RXPS: rx rate (pkts/sec)
TXBS: tx rate (bits/sec) TXPS: tx rate (pkts/sec)
TRTL: throttle count
Interface IHQ IQD OHQ OQD RXBS RXPS TXBS TXPS TRTL
-----------------------------------------------------------------------------------------------------------------
* GigabitEthernet0/0/0 1 0 0 0 9000 19 0 0 0
GigabitEthernet0/0/1 0 0 0 0 0 0 0 0 0
GigabitEthernet0/0/2 0 0 0 0 0 0 0 0 0
* GigabitEthernet0/0/3 0 0 0 0 9000 19 0 0 0
Per risolvere il problema, rimuovere temporaneamente il criterio QoS dall'interfaccia interessata. Utilizzare il comando no service-policy output <policy-name> a livello di configurazione dell'interfaccia.
Nota: Se è necessaria l'assistenza TAC, è importante isolare il caso e stabilire se le riduzioni sono dovute o meno alla qualità del servizio, in modo da indirizzarlo all'esperto appropriato nelle prime fasi.
Nota: Le cadute possono essere dovute anche alla funzionalità ipsec. Le interruzioni Ipsec vengono generalmente aggregate nell'interfaccia fisica utilizzata come origine del tunnel. Se le gocce sono presenti solo quando viene utilizzato il tunnel, è importante indicare a TAC se è necessaria assistenza. Questo consente di indirizzare il caso al team corrispondente nelle fasi iniziali
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
08-Aug-2025
|
Versione iniziale |