Sommario

Introduzione

Requisiti

Componenti usati

Premesse

Cadute di input

L'output diminuisce sulle interfacce

L'output cala senza Quality of Service

Cadute QFP (Quantum Flow Processor)

Gocce coda

Suggerimenti aggiuntivi per la risoluzione dei problemi di perdita di pacchetti

Contatori sulle interfacce

Grafico Cronologia bit al secondo basato su CLI

clear counters

Percentuale di rilasci nel tempo

Intervallo di caricamento

Rimuovere temporaneamente il criterio QoS

Articoli e documentazione correlati

Introduzione

In questo documento viene descritto come risolvere i problemi di perdita dei pacchetti dell'interfaccia sui router Cisco IOS® XE.

Requisiti

Conoscenze base di flusso di pacchetti e Cisco IOS XE.

Componenti usati

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.

Premesse

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.

Cadute di input

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:

- Il dispositivo di invio sta trasmettendo pacchetti a una velocità superiore a quella che il dispositivo di ricezione è in grado di elaborare, con conseguente esaurimento della coda di input

- Burst o microburst nei modelli di traffico

- Limitazioni della piattaforma

È 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.

L'output diminuisce sulle interfacce

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

L'output cala senza Quality of Service

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:

- Interfacce in ingresso che formano i canali delle porte e sovrascrivendo l'interfaccia a output singolo

- Contropressione QFP (Quantum Flow Processor)

- Limiti di velocità effettiva delle licenze

- Limiti della piattaforma

Per ulteriori informazioni sulla risoluzione di questo problema, consultare la sezione Le perdite di QFP (Quantum Flow processor) in questo documento.

Cadute QFP (Quantum Flow Processor)

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.

Gocce coda

Uno dei tipi di rilascio più frequentemente osservati è il contatore TailDrop, che in genere aumenta per i seguenti motivi:

- Limitazione della velocità effettiva delle licenze.

- Cadute QoS

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:

- show platform hardware qfp active infrastructure bqs queue output default interface <interfaccia>

- mostra qfp hardware plat bqs infrastruttura attiva coda output predefinito tutto

- mostra la funzionalità attiva qfp hardware della piattaforma sovrascrittura lic-bw

- mostra livello di throughput hardware della piattaforma

- mostra crittografia throughput hardware della piattaforma

- 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.

Suggerimenti aggiuntivi per la risoluzione dei problemi di perdita di pacchetti

Contatori sulle interfacce

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.

Grafico Cronologia bit al secondo basato su CLI

è 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)

clear counters

Questi comandi vengono utilizzati per cancellare varie statistiche dei contatori:

- clear counters: Cancella i dati del contatore a livello di interfaccia.

- show platform hardware qfp active statistics drop clear: Reimposta i contatori di rilascio sul QFP (Quantum Flow Processor).

Percentuale di rilasci nel tempo

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

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

Rimuovere temporaneamente il criterio QoS

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.

- Se le riduzioni persistono senza i criteri QoS, il problema non è correlato a QoS.

- Se le interruzioni vengono interrotte dopo la rimozione del criterio QoS, è probabile che la causa sia il criterio.

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

Articoli e documentazione correlati

- Risoluzione dei problemi di perdita di pacchetti su ASR serie 1000 Service Router