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).
Questo documento descrive come risolvere i problemi di output su interfacce ad alta velocità su piattaforme Catalyst serie 9000 con ASIC UADP.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Nota: per i comandi che vengono usati per abilitare queste funzionalità su altre piattaforme Cisco, consultare la guida alla configurazione appropriata.
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.
Le riduzioni dell'output sulle interfacce ad alta velocità sono un problema che può verificarsi in qualsiasi ambiente di rete, in particolare quando si tratta di interfacce che supportano velocità di trasferimento dei dati pari o superiori a 10 Gbps. Le perdite di output si verificano quando i pacchetti vengono scartati dall'interfaccia prima di poter essere trasmessi sulla rete.
L'interpretazione dell'utilizzo dell'interfaccia viene spesso fraintesa quando si verificano cali di output con bassi livelli di utilizzo:
Tuttavia, nella maggior parte dei casi, le perdite di output sono causate dal traffico di microburst che ha esaurito i buffer della porta:
Il traffico di rete è spesso misurato dall'utilizzo medio di un collegamento (misurato in 30 secondi - 5 minuti a seconda della configurazione). Sebbene questa media mostri un flusso stabile e relativamente uniforme, se osservata a una scala di millisecondi l'utilizzo dell'interfaccia è spesso molto frammentato.
Figura 1. Mostra una rappresentazione visiva della causa sottostante delle perdite di output sull'interfaccia ad alta velocità.
I termini "velocità/larghezza di banda" dell'interfaccia possono in qualche modo dare un nome improprio:
La differenza di "velocità" è la capacità di interfoliazione/numero di corsie/numero di impulsi per intervallo di tempo, meccanismo di codifica e così via, rispetto al mezzo (luce/elettroni) che va più veloce.
Suggerimento: utilizzare il comando load-interval <30-600> in modalità di configurazione interfaccia per modificare il ritardo dell'intervallo di caricamento in secondi. (l'intervallo di caricamento rappresenta la frequenza con cui lo switch esegue il polling dei contatori dell'interfaccia).
La risoluzione dei problemi di output su interfacce ad alta velocità può essere un processo complesso, ma di seguito sono riportati alcuni passaggi generali che possono aiutare a identificare e risolvere il problema:
Identificare l'interfaccia interessata:
Identifica interfacce in entrata e in uscita:
Verifica allocazione buffer:
Verificare i microburti con Wireshark:
Considerare l'aggiornamento dell'hardware:
Per identificare l'interfaccia interessata che presenta perdite di output, utilizzare il comando show interfaces.
Per ridurre l'elenco delle interfacce e identificare rapidamente l'interfaccia interessata, usare il comando show interfaces | include is up|Il comando Totale output drops per filtrare le interfacce verso il basso o admin down e visualizzare solo quelle attive e quelle con drop.
Cat9k(config)#show interfaces | in is up|Total output drops
HundredGigE1/0/1 is up, line protocol is up (connected)
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 54845
HundredGigE1/0/10 is up, line protocol is up (connected)
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 1540231
--snip--
Suggerimento: utilizzare il comando show interfaces e filtrare l'output con i criteri appropriati per identificare rapidamente e facilmente l'interfaccia interessata. Adottare le misure necessarie per risolvere il problema.
Per impostazione predefinita, sugli switch Catalyst serie 9000 i pacchetti in uscita vengono mostrati in byte anziché in pacchetti. È importante determinare se la quantità di riduzioni di output rilevate ha avuto un impatto reale o è stata semplicemente causata da un traffico temporaneo in modalità bursty.
Per calcolare la percentuale dei byte di output totali trasmessi su un'interfaccia e scartati:
Questa opzione fornisce la percentuale di byte di output scartati sull'interfaccia e consente di determinare se si è verificato un problema di congestione o di allocazione del buffer da risolvere o se le perdite di output sono state causate da traffico microbus temporaneo.
Per raccogliere le informazioni, usare il comando show interface <interface>.
Cat9k#show interfaces twentyFiveGigE 1/0/41 TwentyFiveGigE1/0/41 is up, line protocol is up (connected) Hardware is Twenty Five Gigabit Ethernet, address is dc77.4c8a.4289 (bia dc77.4c8a.4289) MTU 1500 bytes, BW 25000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 3/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 10Gb/s, link type is auto, media type is SFP-10GBase-AOC1M input flow-control is on, output flow-control is off ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:06, output 00:00:10, output hang never Last clearing of "show interface" counters 6w1d Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 299040207 Queueing strategy: Class-based queueing Output queue: 0/40 (size/max) 30 second input rate 767000 bits/sec, 155 packets/sec 30 second output rate 14603000 bits/sec, 1819 packets/sec 931864194 packets input, 572335285416 bytes, 0 no buffer Received 933005 broadcasts (933005 multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 0 multicast, 0 pause input 0 input packets with dribble condition detected 1067891106 packets output, 5930422327799 bytes, 0 underruns
--snip--
Totale riduzioni di output: 299040207
Byte di output totali: 5930422327799
Percentuale di riduzioni di output = 299040207/5930422327799 x 100 = 0,005%
In questo esempio, le perdite di output totali rappresentano lo 0,005% della quantità totale di byte trasmessi su questa interfaccia nelle ultime sei settimane (ultima cancellazione dei contatori: 6w1d).
Per allocare meglio i soft buffer e gestire il traffico sugli switch Catalyst serie 9000, è possibile selezionare le interfacce in entrata e in uscita in ASIC diversi.
Un buffer soft, noto anche come buffer dinamico o buffer condiviso, si riferisce a una parte di memoria allocata dinamicamente per memorizzare temporaneamente i pacchetti in periodi di congestione o carico di traffico elevato.
Suggerimento: per informazioni dettagliate sull'allocazione dei buffer negli switch Catalyst serie 9000, consultare il documento Comprensione dell'allocazione dei buffer negli switch Catalyst serie 9000.
Basandosi sull'architettura di un modello specifico di switch Catalyst 9000, è importante notare che spesso questi switch incorporano più ASIC responsabili di diverse funzioni.
Per verificare l'interfaccia per i mapping ASIC, eseguire il comando show platform software fed <switch|active> ifm mapping
In questo esempio viene illustrata l'interfaccia per i mapping ASIC. Intervallo di interfacce Da TenGigabit Ethernet1/0/1 a TenGigabit Ethernet1/0/24 mappato all'ASIC 1, mentre il resto è mappato all'ASIC 0:
Cat9k#show platform software fed switch active ifm mappings Interface IF_ID Inst Asic Core Port SubPort Mac Cntx LPN GPN Type Active TenGigabitEthernet1/0/1 0x9 3 1 1 0 0 11 0 1 1 NIF Y TenGigabitEthernet1/0/2 0xa 3 1 1 1 0 10 1 2 2 NIF Y TenGigabitEthernet1/0/3 0xb 3 1 1 2 0 9 2 3 3 NIF Y TenGigabitEthernet1/0/4 0xc 3 1 1 3 0 8 3 4 4 NIF Y TenGigabitEthernet1/0/5 0xd 3 1 1 4 0 7 4 5 5 NIF Y TenGigabitEthernet1/0/6 0xe 3 1 1 5 0 6 5 6 6 NIF Y TenGigabitEthernet1/0/7 0xf 3 1 1 6 0 5 6 7 7 NIF Y TenGigabitEthernet1/0/8 0x10 3 1 1 7 0 4 7 8 8 NIF Y TenGigabitEthernet1/0/9 0x11 3 1 1 8 0 3 8 9 9 NIF Y TenGigabitEthernet1/0/10 0x12 3 1 1 9 0 2 9 10 10 NIF Y TenGigabitEthernet1/0/11 0x13 3 1 1 10 0 1 10 11 11 NIF Y TenGigabitEthernet1/0/12 0x14 3 1 1 11 0 0 11 12 12 NIF Y TenGigabitEthernet1/0/13 0x15 2 1 0 12 0 11 0 13 13 NIF Y TenGigabitEthernet1/0/14 0x16 2 1 0 13 0 10 1 14 14 NIF Y TenGigabitEthernet1/0/15 0x17 2 1 0 14 0 9 2 15 15 NIF Y TenGigabitEthernet1/0/16 0x18 2 1 0 15 0 8 3 16 16 NIF Y TenGigabitEthernet1/0/17 0x19 2 1 0 16 0 7 4 17 17 NIF Y TenGigabitEthernet1/0/18 0x1a 2 1 0 17 0 6 5 18 18 NIF Y TenGigabitEthernet1/0/19 0x1b 2 1 0 18 0 5 6 19 19 NIF Y TenGigabitEthernet1/0/20 0x1c 2 1 0 19 0 4 7 20 20 NIF Y TenGigabitEthernet1/0/21 0x1d 2 1 0 20 0 3 8 21 21 NIF Y TenGigabitEthernet1/0/22 0x1e 2 1 0 21 0 2 9 22 22 NIF Y TenGigabitEthernet1/0/23 0x1f 2 1 0 22 0 1 10 23 23 NIF Y TenGigabitEthernet1/0/24 0x20 2 1 0 23 0 0 11 24 24 NIF Y TenGigabitEthernet1/0/25 0x21 1 0 1 24 0 11 0 25 25 NIF Y TenGigabitEthernet1/0/26 0x22 1 0 1 25 0 10 1 26 26 NIF Y TenGigabitEthernet1/0/27 0x23 1 0 1 26 0 9 2 27 27 NIF Y TenGigabitEthernet1/0/28 0x24 1 0 1 27 0 8 3 28 28 NIF Y TenGigabitEthernet1/0/29 0x25 1 0 1 28 0 7 4 29 29 NIF Y TenGigabitEthernet1/0/30 0x26 1 0 1 29 0 6 5 30 30 NIF Y TenGigabitEthernet1/0/31 0x27 1 0 1 30 0 5 6 31 31 NIF Y TenGigabitEthernet1/0/32 0x28 1 0 1 31 0 4 7 32 32 NIF Y TenGigabitEthernet1/0/33 0x29 1 0 1 32 0 3 8 33 33 NIF Y TenGigabitEthernet1/0/34 0x2a 1 0 1 33 0 2 9 34 34 NIF Y TenGigabitEthernet1/0/35 0x2b 1 0 1 34 0 1 10 35 35 NIF Y TenGigabitEthernet1/0/36 0x2c 1 0 1 35 0 0 11 36 36 NIF Y TenGigabitEthernet1/0/37 0x2d 0 0 0 36 0 11 11 37 37 NIF Y TenGigabitEthernet1/0/38 0x2e 0 0 0 37 0 10 10 38 38 NIF Y TenGigabitEthernet1/0/39 0x2f 0 0 0 38 0 9 9 39 39 NIF Y TenGigabitEthernet1/0/40 0x30 0 0 0 39 0 8 8 40 40 NIF Y TenGigabitEthernet1/1/1 0x31 0 0 0 40 0 0 19 41 41 NIF N TenGigabitEthernet1/1/2 0x32 0 0 0 41 0 0 18 42 42 NIF N TenGigabitEthernet1/1/3 0x33 0 0 0 42 0 0 17 43 43 NIF N TenGigabitEthernet1/1/4 0x34 0 0 0 43 0 0 16 44 44 NIF N TenGigabitEthernet1/1/5 0x35 0 0 0 44 0 0 15 45 45 NIF N TenGigabitEthernet1/1/6 0x36 0 0 0 45 0 0 14 46 46 NIF N TenGigabitEthernet1/1/7 0x37 0 0 0 46 0 0 13 47 47 NIF N TenGigabitEthernet1/1/8 0x38 0 0 0 47 0 0 12 48 48 NIF N FortyGigabitEthernet1/1/1 0x39 0 0 0 48 0 4 4 49 49 NIF N FortyGigabitEthernet1/1/2 0x3a 0 0 0 49 0 0 0 50 50 NIF N
L'allocazione dei buffer è un fattore importante per evitare la perdita di output, in quanto i buffer vengono utilizzati per archiviare temporaneamente il traffico che non può essere inoltrato a causa di congestione o altre variabili. Se non sono disponibili buffer sufficienti, il traffico viene interrotto e le prestazioni della rete risultano inadeguate e potrebbero verificarsi interruzioni. Questa verifica consente di verificare che lo switch disponga di spazio di buffer sufficiente per gestire carichi di traffico elevati.
Il comando show platform hardware feed switch active qos queue stats interface <interfaccia> consente di visualizzare le statistiche per coda su un'interfaccia, incluse le informazioni sul numero di byte accodati nei buffer e sul numero di byte scartati a causa della mancanza di buffer disponibili.
In questo esempio:
Cat9k#show platform hardware fed active qos queue stats interface twentyFiveGigE 1/0/41 ---------------------------------------------------------------------------------------------- AQM Global counters GlobalHardLimit: 16257 | GlobalHardBufCount: 0 GlobalSoftLimit: 39039 | GlobalSoftBufCount: 0 ---------------------------------------------------------------------------------------------- High Watermark Soft Buffers: Port Monitor Disabled ---------------------------------------------------------------------------------------------- Asic:0 Core:0 DATA Port:8 Hardware Enqueue Counters ---------------------------------------------------------------------------------------------- Q Buffers Enqueue-TH0 Enqueue-TH1 Enqueue-TH2 Qpolicer (Count) (Bytes) (Bytes) (Bytes) (Bytes) -- ------- -------------------- -------------------- -------------------- -------------------- 0 0 0 40588200 9368282 0 1 0 0 23584521 789524 0 2 0 0 0 110307150901 0 3 0 0 0 487852543 0 4 0 0 0 5483512 0 5 0 0 0 0 0 6 0 0 0 0 0 7 0 0 0 0 Asic:0 Core:0 DATA Port:8 Hardware Drop Counters -------------------------------------------------------------------------------------------------------------------------------- Q Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop QpolicerDrop (Bytes) (Bytes) (Bytes) (Bytes) (Bytes) (Bytes) -- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 24010607 <-- (drops on Q2) 0 0 0 3 0 0 0 0 0 0 4 0 0 0 0 0 0 5 0 0 0 0 0 0 6 0 0 0 0 0 0 7 0 0 0 0 0 0
Per aumentare il valore dei soft buffer utilizzati da un'interfaccia, utilizzare il comando qos queue-softmax-multiplier in modalità di configurazione globale:
Questa configurazione si applica a tutte le interfacce:
Utilizzare il comando qos queue-softmax-moltiplicator<100 4800>in modalità di configurazione globale per modificare l'allocazione del soft buffer. Se si configura questo parametro sul valore massimo disponibile, lo switch ha la probabilità più alta di eliminare o ridurre le perdite di output. Si tratta di una procedura consigliata per evitare le cadute quando possibile.
Cat9k(config)#qos queue-softmax-multiplier ?
<100-4800> multiplier(%)
Per identificare l'allocazione di soft buffer su Catalyst serie 9000, usare il comando show platform hardware fed active qos queue config interface<interface>.
Nell'esempio viene mostrato come allocare i soft buffer predefiniti su un'interfaccia negoziata a una velocità di 10 Gbps su un Catalyst 9500.
Cat9k#show platform hardware fed active qos queue config interface twentyFiveGigE 1/0/41 Asic:0 Core:0 DATA Port:8 GPN:141 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 64 - 71 DrainFast:Disabled PortSoftStart:5 - 4320 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 6 480 8 1920 16 960 0 0 3 5760 En <-- 1920 is the total soft buffers allocated to queue 0 on interface twentyFiveGigE 1/0/41 1 1 5 0 11 2880 16 1440 8 720 3 5760 En <-- 2880 is the total soft buffers allocated to queue 1 on interface twentyFiveGigE 1/0/41 2 1 5 0 6 0 0 0 0 0 3 5760 En 3 1 5 0 6 0 0 0 0 0 3 5760 En 4 1 5 0 6 0 0 0 0 0 3 5760 En 5 1 5 0 6 0 0 0 0 0 3 5760 En 6 1 5 0 6 0 0 0 0 0 3 5760 En 7 1 5 0 6 0 0 0 0 0 3 5760 En Priority Shaped/shared weight shaping_step sharpedWeight -------- ------------- ------ ------------ ------------- 0 0 Shared 50 0 0 1 0 Shared 75 0 0 2 0 Shared 10000 0 0 3 0 Shared 10000 0 0 4 0 Shared 10000 0 0 5 0 Shared 10000 0 0 6 0 Shared 10000 0 0 7 0 Shared 10000 0 0 Port Port Port Port Priority Shaped/shared weight shaping_step -------- ------------- ------ ------------ 2 Shaped 1023 1023 QPolicer Refresh Credit Max Credit Interval Idx ----------- -------------- ---------- ------------ 0 Disabled 0 0 0 1 Disabled 0 0 0 2 Disabled 0 0 0 3 Disabled 0 0 0 4 Disabled 0 0 0 5 Disabled 0 0 0 6 Disabled 0 0 0 7 Disabled 0 0 0 Weight0 Max_Th0 Min_Th0 Weigth1 Max_Th1 Min_Th1 Weight2 Max_Th2 Min_Th2 ------- ------- ------- ------- ------- ------- ------- ------- ------ 0 0 1912 0 0 2137 0 0 2400 0 <-- Thresholds values in queue 0 on interface twentyFiveGigE 1/0/41 1 0 2295 0 0 2565 0 0 2880 0 <-- Thresholds values in queue 1 on interface twentyFiveGigE 1/0/41 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0
Nell'esempio vengono mostrati i soft buffer allocati su un'interfaccia negoziata a una velocità di 10 Gbps su un Catalyst 9500 con moltiplicatore 4800 configurato.
Cat9k#show platform hardware fed active qos queue config interface twentyFiveGigE 1/0/41 Asic:0 Core:0 DATA Port:8 GPN:141 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 64 - 71 DrainFast:Disabled PortSoftStart:4 - 42000 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 6 480 10 42000 1 1312 0 0 4 42000 En <-- 42000 is the total soft buffers allocated to queue 0 on interface twentyFiveGigE 1/0/41 1 1 5 0 10 42000 1 1312 1 1312 4 42000 En <-- 42000 is the total soft buffers allocated to queue 1 on interface twentyFiveGigE 1/0/41 2 1 5 0 6 0 0 0 0 0 4 42000 En 3 1 5 0 6 0 0 0 0 0 4 42000 En 4 1 5 0 6 0 0 0 0 0 4 42000 En 5 1 5 0 6 0 0 0 0 0 4 42000 En 6 1 5 0 6 0 0 0 0 0 4 42000 En 7 1 5 0 6 0 0 0 0 0 4 42000 En Priority Shaped/shared weight shaping_step sharpedWeight -------- ------------- ------ ------------ ------------- 0 0 Shared 50 0 0 1 0 Shared 75 0 0 2 0 Shared 10000 0 0 3 0 Shared 10000 0 0 4 0 Shared 10000 0 0 5 0 Shared 10000 0 0 6 0 Shared 10000 0 0 7 0 Shared 10000 0 0 Port Port Port Port Priority Shaped/shared weight shaping_step -------- ------------- ------ ------------ 2 Shaped 1023 1023 QPolicer Refresh Credit Max Credit Interval Idx ----------- -------------- ---------- ------------ 0 Disabled 0 0 0 1 Disabled 0 0 0 2 Disabled 0 0 0 3 Disabled 0 0 0 4 Disabled 0 0 0 5 Disabled 0 0 0 6 Disabled 0 0 0 7 Disabled 0 0 0 Weight0 Max_Th0 Min_Th0 Weigth1 Max_Th1 Min_Th1 Weight2 Max_Th2 Min_Th2 ------- ------- ------- ------- ------- ------- ------- ------- ------ 0 0 33851 0 0 37833 0 0 42480 0 <-- Thresholds values in queue 0 on interface twentyFiveGigE 1/0/41 1 0 33468 0 0 37406 0 0 42000 0 <-- Thresholds values in queue 1 on interface twentyFiveGigE 1/0/41 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0
Nota: l'allocazione dei soft buffer varia. È possibile che l'allocazione non corrisponda all'output indicato sopra. L'output dell'allocazione varia a seconda della piattaforma specifica utilizzata, dei criteri QoS applicati e della velocità operativa negoziata dell'interfaccia in questione.
La modifica del buffer per coda può essere utilizzata per scenari in cui non è possibile utilizzare il moltiplicatore SoftMax o in scenari in cui si tenta di ottimizzare i buffer per adattarli a un profilo di traffico.
Nell'interfaccia di esempio, l'output di ventiCinqueGigE 1/0/1 è diminuito. Come mostrato nell'output del comando, la mappa dei criteri in uscita applicata a questa interfaccia.
Il comando show platform hardware feed switch active qos queue stats interface<interface> consente di visualizzare le statistiche per coda su un'interfaccia, incluse le informazioni sul numero di byte accodati nei buffer e sul numero di byte scartati a causa della mancanza di buffer disponibili.
Cat9k#show platform hardware fed active qos queue stats interface twentyFiveGigE 1/0/1 ---------------------------------------------------------------------------------------------- AQM Global counters GlobalHardLimit: 16257 | GlobalHardBufCount: 0 GlobalSoftLimit: 39039 | GlobalSoftBufCount: 0 ---------------------------------------------------------------------------------------------- High Watermark Soft Buffers: Port Monitor Disabled ---------------------------------------------------------------------------------------------- Asic:0 Core:0 DATA Port:8 Hardware Enqueue Counters ---------------------------------------------------------------------------------------------- Q Buffers Enqueue-TH0 Enqueue-TH1 Enqueue-TH2 Qpolicer (Count) (Bytes) (Bytes) (Bytes) (Bytes) -- ------- -------------------- -------------------- -------------------- -------------------- 0 0 0 0 82 0 1 0 0 0 7517 0 2 0 0 0 110307150901 0 3 0 0 0 7174010710 0 4 0 0 0 0 0 5 0 0 0 0 0 6 0 0 0 0 0 7 0 0 0 0 Asic:0 Core:0 DATA Port:8 Hardware Drop Counters -------------------------------------------------------------------------------------------------------------------------------- Q Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop QpolicerDrop (Bytes) (Bytes) (Bytes) (Bytes) (Bytes) (Bytes) -- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 24010607 0 0 0 3 0 0 20071103 0 0 0 4 0 0 0 0 0 0 5 0 0 0 0 0 0 6 0 0 0 0 0 0 7 0 0 0 0 0 0
Per ridurre le perdite di output su questa interfaccia, in base ai contatori di accodamento, da Q0 a Q1 hanno una frequenza di accodamento molto bassa, e quindi non possono richiedere un numero di buffer pari a Q2 e Q3. L'azione consigliata consiste nell'allocare più buffer alla coda 2 e alla coda 3, poiché queste code hanno una quantità maggiore di traffico accodato rispetto a qualsiasi altra coda.
Nota: se questo comando è configurato su ciascuna classe del criterio, la sua somma deve essere 100. Tuttavia, se è configurata una sola classe, il sistema sottrae uniformemente i buffer dalle altre code.
In questo esempio viene mostrato come configurare una percentuale di buffer della coda in una mappa dei criteri.
Cat9k(config)#policy-map test
Cat9k(config-pmap)# class Voice
Cat9k(config-pmap-c)# priority level 1
Cat9k(config-pmap-c)# queue-buffers ratio 5
Cat9k(config-pmap-c)# class Video
Cat9k(config-pmap-c)# bandwidth remaining percent 50
Cat9k(config-pmap-c)# queue-buffers ratio 15
Cat9k(config-pmap-c)# class BuisnessCritical
Cat9k(config-pmap-c)# bandwidth remaining percent 30
Cat9k(config-pmap-c)# queue-buffers ratio 40 <-- Queue 3
Cat9k(config-pmap-c)# class class-default
Cat9k(config-pmap-c)# bandwidth remaining percent 20
Cat9k(config-pmap-c)# queue-buffers ratio 40 <-- Queue 4
A partire dalla versione Cisco IOS XE 17.2.1, gli switch basati su UADP 3.0 (Catalyst 9500 High Performance e Catalyst 9600) possono essere configurati per condividere i buffer Active Queue Management (AQM) tra i due core all'interno dello stesso ASIC.
È possibile disabilitare la condivisione del buffer usando il comando no, no qos share-buffer.
Cat9k(config)#qos share-buffer
Cat9k(config)#end
Per verificare la presenza di microburst in una rete, è possibile utilizzare uno strumento di acquisizione pacchetti come Wireshark:
Per identificare i microscopi che si verificano quando si verifica una caduta con Wireshark, avviare l'acquisizione del pacchetto sull'interfaccia interessata e controllare l'interfaccia più volte fino a quando non si verifica una caduta in uscita.
Per acquisire e analizzare in modo efficace le perdite di output su un'interfaccia, attenersi alle seguenti raccomandazioni:
Per verificare se questi periodi di traffico elevato sono effettivamente dei microscopi, usate la funzione grafico I/O di Wireshark. Poiché il grafico I/O visualizza una rappresentazione grafica del traffico di rete nel tempo, è più facile identificare i microscopi. Per creare un grafico di I/O, selezionare Statistiche > Grafico I/O:
Nota: per dimostrare questa procedura, abbiamo usato un'acquisizione pacchetto su un'interfaccia a 1 Gbps. Tuttavia, le procedure sono le stesse per la risoluzione dei problemi di output su qualsiasi interfaccia ad alta velocità.
Figura 2. Selezionare il grafico I/O.
Il grafico successivo mostra una linea che rappresenta la quantità di dati in transito nel tempo. Cercate i picchi nel grafico, che indicano i periodi di traffico elevato. Se questi picchi sono seguiti da periodi di traffico basso o nullo, è possibile che si sia identificato un microscopio.
Figura 3. Mostra il grafico I/O dell'acquisizione dei pacchetti.
È importante assicurarsi che tutti i pacchetti siano selezionati senza alcun filtro di visualizzazione applicato. Inoltre, selezionate l'opzione Grafico linea (Line Graph) e impostate l'asse Y su Bit (Bits) per analizzare correttamente il traffico.
Figura 4. Mostra come selezionare l'opzione Grafico a linee e impostare l'asse Y su Bit.
Quando si analizza un'acquisizione di pacchetti di grandi dimensioni, è fondamentale identificare il periodo di tempo specifico a cui si è interessati. Ad esempio, in questo scenario, si può osservare che c'è una grande quantità di traffico in prossimità di 30 secondi.
Se si fa clic sul picco di una punta nel grafico I/O, Wireshark seleziona il pacchetto sullo sfondo. Nel nostro scenario, i pacchetti 79280 e 101896 sono stati selezionati per creare un sottoinsieme dell'acquisizione del pacchetto al fine di funzionare entro i timestamp in cui si sospetta la presenza di microburst.
Figura 5. Mostra come creare un sottoinsieme dell'acquisizione del pacchetto che si concentra sui timestamp sospetti della presenza di microburst.
Per esportare il primo e l'ultimo pacchetto selezionato in un nuovo file, accertarsi di selezionare le icone radio Range e Captured.
Figura 6. Mostra come esportare e salvare il sottoinsieme dell'acquisizione del pacchetto.
Dopo aver salvato il file, aprirlo e tornare al grafico I/O. Verificare che l'intervallo sia impostato su 1 ms per rappresentare graficamente i picchi rilevati su una base di millisecondi.
Figura 7. Mostra il grafico I/O del sottoinsieme esportato dell'acquisizione del pacchetto.
Quando il grafico viene visualizzato, è importante identificare i picchi che rappresentano i periodi in cui il traffico è stato trasmesso alla velocità della linea per un intero millisecondo, che causano il riempimento del buffer e dove potrebbero essere state generate le perdite di output. Ad esempio, su un'interfaccia a 1 Gbps, corrisponde a 1.000.000 di bit al millisecondo. Fare clic sul picco di un picco che rappresenta un potenziale microscopio. Aiuta a identificare il pacchetto che ha causato le perdite di output. Questo pacchetto può quindi essere analizzato ulteriormente per determinare la causa principale del microburst e adottare le misure correttive necessarie.
Figura 8. Mostra come identificare il potenziale traffico di microburst nel grafico I/O.
Avviso: è importante essere a conoscenza di questa limitazione quando si usa Wireshark o qualsiasi altro strumento di acquisizione pacchetti su un'interfaccia ad alta velocità. Le interfacce ad alta velocità, come 40G e 100G, generano un volume considerevole di traffico di rete che può sovraccaricare le risorse del sistema usate per acquisire i pacchetti. Di conseguenza, questo può causare la perdita di pacchetti durante il processo di acquisizione e può influire sull'accuratezza e la completezza dei dati acquisiti.
Se le risorse allocate a una coda sono esaurite e si verificano ancora cali, è necessario considerare opzioni alternative per gestire la congestione. Tra queste vi sono:
È importante notare che alcune di queste opzioni richiedono configurazioni più complesse, ad esempio la progettazione del traffico, ma possono fornire vantaggi significativi per ridurre la congestione della rete e le perdite di output.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
2.0 |
15-Jul-2024 |
Release iniziale, titolo abbreviato, Alt Text modificato e modifiche stilistiche. |
1.0 |
07-Jun-2023 |
Versione iniziale |