Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Allocazione buffer

Struttura coda

Modifica allocazione buffer

Usa criteri del servizio per allocazione buffer Hardmax o Softmax

Esempio 1

Esempio 2

Esempio 3

Usa criteri servizio per modificare manualmente il valore del buffer Softmax

Esempio 1

Esempio 2

Caso di studio: calo dell'output

Riepilogo

Informazioni correlate

Introduzione

Questo documento descrive la struttura della coda e i buffer sulla piattaforma Catalyst 3650/3850 e fornisce esempi per ridurre le perdite di output.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza di base di Quality of Service (QoS) sulla piattaforma Catalyst.

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:

- Cisco Catalyst 3650/3850

- 03.07.04

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

I cali di output sono generalmente il risultato di un'eccessiva sottoscrizione dell'interfaccia causata da molti a uno o da un trasferimento da 10 gig a 1 gig. I buffer di interfaccia sono una risorsa limitata e possono assorbire una frammentazione solo fino a un punto dopo il quale i pacchetti possono cadere. Se si sintonizzano i buffer, è possibile ottenere una certa protezione, ma non è possibile garantire uno scenario di perdita dell'output pari a zero.

Si consiglia di eseguire la versione più recente della versione 03.06 o 03.07 per ottenere allocazioni di buffer appropriate a causa di alcuni bug noti nei codici meno recenti.

Allocazione buffer

In genere, i buffer vengono allocati in modo statico per ogni coda e quando si aumenta il numero di code, la quantità di buffer riservati diminuisce.  Ciò è inefficiente e può ridurre il numero di buffer necessari per gestire i frame per tutte le code. Per ovviare a questo tipo di limitazione, la piattaforma Catalyst 3650/3850 utilizza buffer hardware e soft buffer.

- Hard buffer: si tratta dei buffer riservati minimi per code specifiche. Se una coda specifica non utilizza i buffer, questi non sono disponibili per altre code.

- Buffer software: questi buffer vengono assegnati a una coda ma possono essere condivisi da altre code e interfacce se non vengono utilizzati.

Allocazione buffer predefinita senza criteri del servizio applicati

L'allocazione di buffer predefinita per una porta da 1 GB è 300 buffer e per una porta da 10 GB è 1800 buffer (1 buffer = 256 byte). La porta può utilizzare fino al 400% delle impostazioni predefinite allocate dal pool comune con impostazioni predefinite, ovvero 1200 buffer e 7200 buffer rispettivamente per interfaccia 1 Gig e interfaccia 10Gig.

Il limite predefinito del soft buffer è impostato su 400 (che è la soglia massima). La soglia determina il numero massimo di soft buffer che possono essere presi in prestito dal pool comune.

Struttura coda

Quando non viene applicato alcun criterio di servizio, sono presenti 2 code predefinite (coda 0 e coda 1). La coda 0 viene utilizzata per il controllo del traffico (DSCP 32, 48 o 56), mentre la coda 1 viene utilizzata per il traffico di dati.

Per impostazione predefinita, alla coda 0 può essere assegnato il 40% dei buffer disponibili per l'interfaccia come buffer hardware. ovvero 120 buffer allocati per la coda 0 nel contesto delle porte 1G; 720 buffer nel contesto delle porte 10G. Il valore Softmax, il numero massimo di soft buffer, per questa coda, è impostato su 480 (calcolato come 400% di 120) per le porte da 1 GB e su 2880 per le porte da 10 GB, dove 400 è la soglia massima predefinita configurata per qualsiasi coda.

Nessun buffer hardware allocato per la coda 1. Il valore del soft buffer per la coda-1 viene calcolato come il 400% del buffer dell'interfaccia che rimane dopo l'allocazione alla coda-0. Pertanto, è il 400% di 180 per l'interfaccia da 1 Gig e il 400% di 1800 per l'interfaccia da 10 Gig.

OSPF (Open Shortest Path First) showche può essere utilizzato per visualizzare questa allocazione è show platform qos queue config

.

Per un'interfaccia da 1 Gig,

3850#show platform qos queue config gigabitEthernet 1/0/1

DATA Port:20 GPN:66 AFD:Disabled QoSMap:0 HW Queues: 160 - 167

DrainFast:Disabled PortSoftStart:1 - 1080

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  5   120  6   480  6   320   0     0   3  1440

1   1  4     0  7   720  3   480   2   180   3  1440

2   1  4     0  5     0  5     0   0     0   3  1440

3   1  4     0  5     0  5     0   0     0   3  1440

4   1  4     0  5     0  5     0   0     0   3  1440

5   1  4     0  5     0  5     0   0     0   3  1440

6   1  4     0  5     0  5     0   0     0   3  1440

7   1  4     0  5     0  5     0   0     0   3  1440

<<output omitted>>

Per un'interfaccia 10Gig,

3850#show platform qos queue config tenGigabitEthernet 1/0/37

DATA Port:1 GPN:37 AFD:Disabled QoSMap:0 HW Queues: 8 - 15

DrainFast:Disabled PortSoftStart:2 - 6480

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  6   720  8  2880  7  1280   0     0   4  8640

1   1  4     0  9  4320  8  1920   3  1080   4  8640

2   1  4     0  5     0  5     0   0     0   4  8640

3   1  4     0  5     0  5     0   0     0   4  8640

4   1  4     0  5     0  5     0   0     0   4  8640

<<output omitted>>

Hardmax o Hard buffer indica la quantità di buffer sempre riservata e disponibile per questa coda.

Softmax o Soft Buffer indica la quantità di buffer che può essere presa in prestito da altre code o pool globale. Il numero totale di Softmax per interfaccia da 1 Gig è 1200 (400% di 300) e 7200 buffer se è un'interfaccia da 10 Gig. Quando si applica una regola di servizio, è possibile creare una coda aggiuntiva per "Class default" se non viene creata esplicitamente. In questa coda rientra tutto il traffico che non corrisponde nelle classi definite in precedenza. Impossibile trovare un'istruzione match in questa coda.

Modifica allocazione buffer

Per modificare i buffer nella piattaforma 3650/3850, allegare una policy sui servizi nell'interfaccia corrispondente. È possibile modificare l'allocazione dei buffer Hardmax e Softmax con la policy di servizio.

Calcoli di buffer hardware e soft buffer

In questo modo il sistema alloca Hardmax e Softmax per ciascuna coda:

Buffer porta totale = 300 (1G) o 1800 (10G)

Se il totale è di 5 code (5 classi), per impostazione predefinita a ciascuna coda viene assegnato il 20% di buffer.

Coda di priorità

1 Gig:

HardMax = Oper_Buff = 20% di 300 = 60.

qSoftMax = (Oper_Buff * Max_Threshold)/100=60*400/100=240

10 Gb

HardMax = Oper_Buff = 20% di 1800 = 360

qsoftMax = (Oper_Buff * Max_Threshold)/100 = 360*400/100= 1440

Coda non prioritaria

1 Gig:

HardMax = 0

qSoftMax = (Oper_Buffer*Max_Threshold)/100 = 300*20/100= 60. 400% di 60 = 240

10 Gig:

HardMax = 0

qSoftMax = (Oper_Buffer*Max_Threshold)/100 = 1800*20/100= 360. 400% di 360 = 1440

Usa criteri del servizio per allocazione buffer Hardmax o Softmax

se si applica una policy di servizio, solo la "coda Priorità con livello 1/2" ottiene l'Hardmax. Negli esempi seguenti viene illustrata l'allocazione del buffer per criteri di servizio specifici nell'interfaccia da 1 Gig e nell'interfaccia da 10 Gig. Con la configurazione predefinita a cui non è applicato alcun criterio del servizio, alla coda 0 viene assegnato il valore Hardmax predefinito di 120 se il collegamento è un collegamento da 1 Gig e 720 buffer se il collegamento è un collegamento da 10 Gig.

3850#show platform qos queue config gigabitEthernet 1/0/1

DATA Port:0 GPN:119 AFD:Disabled QoSMap:0 HW Queues: 0 - 7

DrainFast:Disabled PortSoftStart:1 - 1080

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  5   120  6   480  6   320   0     0   3  1440

1   1  4     0  7   720  3   480   2   180   3  1440

2   1  4     0  5     0  5     0   0     0   3  1440

<<output omitted>>

3850#show platform qos queue config tenGigabitEthernet 1/0/37

DATA Port:1 GPN:37 AFD:Disabled QoSMap:0 HW Queues: 8 - 15

DrainFast:Disabled PortSoftStart:2 - 6480

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  6   720  8  2880  7  1280   0     0   4  8640

1   1  4     0  9  4320  8  1920   3  1080   4  8640

2   1  4     0  5     0  5     0   0     0   4  8640

<<output omitted>>

Esempio 1

Quando si applica una policy di servizio, se non si configura una coda di priorità o se non si imposta un livello di coda di priorità, alla coda non può essere assegnato alcun valore Hardmax.

Per un'interfaccia da 1 Gig:

policy-map MYPOL

class ONE

priority percent 20

class TWO

bandwidth percent 40

class THREE

bandwidth percent 10

class FOUR

bandwidth percent 5

3850#show run interface gig1/0/1

Current configuration : 67 bytes

!

interface GigabitEthernet1/0/1

service-policy output MYPOL

end

3800#show platform qos queue config gigabitEthernet 1/0/1

DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175

DrainFast:Disabled PortSoftStart:2 - 360

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  4     0  8   240  7   160   3    60   4   480

1   1  4     0  8   240  7   160   3    60   4   480

2   1  4     0  8   240  7   160   3    60   4   480

3   1  4     0  8   240  7   160   3    60   4   480

4   1  4     0  8   240  7   160   3    60   4   480

<<output omitted>>

!--- There are 5 classes present though you only created 4 classes.

!--- The 5th class is the default class.

!--- Each class represent a queue and the order in which it is shown is the order in which

!--- it is present in the running configuration when checking "show run | sec policy-map".

Per un'interfaccia 10Gig:

policy-map MYPOL

class ONE

priority percent 20

class TWO

bandwidth percent 40

class THREE

bandwidth percent 10

class FOUR

bandwidth percent 5

3850#show run interface TenGigabitEthernet1/0/37

Current configuration : 67 bytes

!

interface TenGigabitEthernet1/0/37

service-policy output MYPOL

end

3850#show platform qos queue config tenGigabitEthernet 1/0/40

DATA Port:2 GPN:40 AFD:Disabled QoSMap:1 HW Queues: 16 - 23

DrainFast:Disabled PortSoftStart:4 - 2160

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  4     0 10  1440  9   640   4   360   5  2880

1   1  4     0 10  1440  9   640   4   360   5  2880

2   1  4     0 10  1440  9   640   4   360   5  2880

3   1  4     0 10  1440  9   640   4   360   5  2880

4   1  4     0 10  1440  9   640   4   360   5  2880

5   1  4     0  5     0  5     0   0     0   5  2880

<<output omitted>>

Esempio 2

Quando si applica il livello di priorità 1, la coda 0 ottiene 60 buffer come Hardmax.

Per un'interfaccia da 1 Gig:

policy-map MYPOL

class ONE

priority level 1 percent 20

class TWO

bandwidth percent 40

class THREE

bandwidth percent 10

class FOUR

bandwidth percent 5

3850#show run interface gig1/0/1

Current configuration : 67 bytes

!

interface GigabitEthernet1/0/1

service-policy output MYPOL

end

BGL.L.13-3800-1#show platform qos queue config gigabitEthernet 1/0/1

DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175

DrainFast:Disabled PortSoftStart:2 - 360

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  6    60  8   240  7   160   0     0   4   480

1   1  4     0  8   240  7   160   3    60   4   480

2   1  4     0  8   240  7   160   3    60   4   480

3   1  4     0  8   240  7   160   3    60   4   480

4   1  4     0  8   240  7   160   3    60   4   480

<<output omitted>>

Per un'interfaccia 10Gig:

policy-map MYPOL

class ONE

priority level 1 percent 20

class TWO

bandwidth percent 40

class THREE

bandwidth percent 10

class FOUR

bandwidth percent 5

3850#show run interface Te1/0/37

Current configuration : 67 bytes

!

interface TenGigabitEthernet1/0/37

service-policy output MYPOL

end

3850_1#show platform qos queue config tenGigabitEthernet 1/0/37

DATA Port:2 GPN:40 AFD:Disabled QoSMap:1 HW Queues: 16 - 23

DrainFast:Disabled PortSoftStart:3 - 2160

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  7   360 10  1440  9   640   0     0   5  2880

1   1  4     0 10  1440  9   640   4   360   5  2880

2   1  4     0 10  1440  9   640   4   360   5  2880

3   1  4     0 10  1440  9   640   4   360   5  2880

4   1  4     0 10  1440  9   640   4   360   5  2880

5   1  4     0  5     0  5     0   0     0   5  2880

<<output omitted>>

Esempio 3

Per questo esempio, viene aggiunta una classe supplementare. Il numero totale di code diventa 6. Con 2 livelli di priorità configurati, ogni coda ottiene 51 buffer come Hardmax. La matematica è la stessa dell'esempio precedente.

Per l'interfaccia da 1 Gig:

policy-map MYPOL

class ONE

priority level 1 percent 20

class TWO

priority level 2 percent 10

class THREE

bandwidth percent 10

class FOUR

bandwidth percent 5

class FIVE

bandwidth percent 10

3850#show run interface gigabitEthernet1/0/1

Current configuration : 67 bytes

!

interface GigabitEthernet1/0/1

service-policy output MYPOL

end

3850#show platform qos queue config gigabitEthernet 1/0/1

DATA Port:16 GPN:10 AFD:Disabled QoSMap:1 HW Queues: 128 - 135

DrainFast:Disabled PortSoftStart:3 - 306

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  7    51 10   204  9   136   0     0   5   408

1   1  7    51 10   204  9   136   0     0   5   408

2   1  4     0 10   204  9   136   4    51   5   408

3   1  4     0 10   204  9   136   4    51   5   408

4   1  4     0 11   192 10   128   5    48   5   408

5   1  4     0 11   192 10   128   5    48   5   408

6   1  4     0  5     0  5     0   0     0   5   408

<<output omitted>>

Per un'interfaccia 10Gig:

policy-map MYPOL

class ONE

priority level 1 percent 20

class TWO

priority level 2 percent 10

class THREE

bandwidth percent 10

class FOUR

bandwidth percent 5

class FIVE

bandwidth percent 10

3850#show run interface Te1/0/37

Current configuration : 67 bytes

!

interface TenGigabitEthernet1/0/37

service-policy output MYPOL

end

3850_2#show platform qos queue config tenGigabitEthernet 1/0/37

DATA Port:2 GPN:40 AFD:Disabled QoSMap:1 HW Queues: 16 - 23

DrainFast:Disabled PortSoftStart:4 - 1836

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  8   306 12  1224 11   544   0     0   6  2448

1   1  8   306 12  1224 11   544   0     0   6  2448

2   1  4     0 12  1224 11   544   6   306   6  2448

3   1  4     0 12  1224 11   544   6   306   6  2448

4   1  4     0 13  1152 12   512   7   288   6  2448

5   1  4     0 13  1152 12   512   7   288   6  2448

6   1  4     0  5     0  5     0   0     0   6  2448

<<output omitted>>

Nota: è possibile allocare meno buffer a poche code. Si tratta dei valori che non possono essere inseriti nel calcolo Softmax per la coda di priorità e la coda non di priorità durante la combinazione di alcune configurazioni.

In sintesi, più code si creano, meno buffer ogni coda ottiene in termini di Hardmax e Softmax (poiché Hardmax dipende anche dal valore Softmax).

Dalla versione 3.6.3 o 3.7.2, il valore massimo per Softmax può essere modificato con il comando CLI qos queue-softmax-multiplier 1200 con 100 come valore predefinito. Se è configurato come 1200, il valore Softmax per le code non prioritarie e non primarie (!=livello 1) viene moltiplicato per 12 dai valori predefiniti. Questo comando ha effetto solo sulle porte a cui è collegata una mappa dei criteri. Non è inoltre applicabile al livello di priorità 1 della coda.

Usa criteri servizio per modificare manualmente il valore del buffer Softmax

Esempio 1

Configurazione dei criteri del servizio e allocazione del buffer corrispondente:

policy-map TEST_POLICY

class ONE

priority level 1 percent 40

class TWO

bandwidth percent 40

class THREE

bandwidth percent 10

3850#show run interface gigabitEthernet1/0/1

Current configuration : 67 bytes

!

interface GigabitEthernet1/0/1

service-policy output TEST_POLICY

end

3850#show platform qos queue config gigabitEthernet 1/0/1

DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175

DrainFast:Disabled PortSoftStart:2 - 450

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  6    75  8   300  7   200   0     0   4   600

1   1  4     0  8   300  7   200   3    75   4   600

2   1  4     0  8   300  7   200   3    75   4   600

3   1  4     0  8   300  7   200   3    75   4   600

<<output omitted>>

I buffer vengono suddivisi equamente tra le code. Se si utilizza il comando bandwidth, viene modificato solo il peso per ogni coda e il modo in cui lo scheduler agisce su di essa.

Per regolare il valore Softmax, è necessario utilizzare il queue-buffer ratio nella rispettiva classe.

policy-map TEST_POLICY

class ONE

priority level 1 percent 40

class TWO

bandwidth percent 40

queue-buffers ratio 50    <---------------

class THREE

bandwidth percent 10

class FOUR

bandwidth percent 5

Queste sono le nuove allocazioni di buffer.

Per l'interfaccia da 1 Gig:

3850#show platform qos queue config gigabitEthernet 1/0/1

DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175

DrainFast:Disabled PortSoftStart:0 - 900

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  6    39  8   156  7   104   0     0   0  1200

1   1  4     0  9   600  8   400   3   150   0  1200

2   1  4     0  8   156  7   104   4    39   0  1200

3   1  4     0 10   144  9    96   5    36   0  1200

4   1  4     0 10   144  9    96   5    36   0  1200

La coda 1 ottiene il 50% del buffer soft, ovvero 600 buffer. Gli altri buffer vengono allocati alle altre code in base all'algoritmo.

Uscita simile per un'interfaccia 10Gig:

3850#show platform qos queue config tenGigabitEthernet 1/0/37

DATA Port:2 GPN:40 AFD:Disabled QoSMap:1 HW Queues: 16 - 23

DrainFast:Disabled PortSoftStart:4 - 1836

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  7   234 10   936  9   416   0     0   5  7200

1   1  4     0 11  3600 10  1600   4   900   5  7200

2   1  4     0 10   936  9   416   5   234   5  7200

3   1  4     0  4   864 11   384   1   216   5  7200

4   1  4     0  4   864 11   384   1   216   5  7200

5   1  4     0  5     0  5     0   0     0   5  7200

<<output omitted>>

Nota: è possibile allocare meno buffer ad alcune code. Questo è previsto perché i valori non possono essere contenuti nel calcolo Softmax per la coda di priorità e la coda non di priorità quando vengono combinate determinate configurazioni. C'è un algoritmo interno che se ne occupa.

Esempio 2

Allocare tutto il buffer Softmax alla singola coda predefinita.

È possibile visualizzare meno buffer allocati ad alcune code. Questo è previsto perché i valori non possono essere contenuti nel calcolo Softmax per la coda di priorità e la coda non di priorità quando sono configurate determinate combinazioni. C'è un algoritmo interno che se ne occupa. È possibile allocare meno buffer a poche code. Questo è previsto perché i valori non possono essere contenuti nel calcolo Softmax per la coda di priorità e la coda non di priorità quando sono configurate determinate combinazioni. C'è un algoritmo interno che se ne occupa.

policy-map NODROP

class class-default

bandwidth percent 100

queue-buffers ratio 100

I risultati della configurazione QoS sono:

3850#show platform qos queue config GigabitEthernet 1/1/1

DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175

DrainFast:Disabled PortSoftStart:0 - 900

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  4     0  8  1200  7   800   3   300   2  2400

1   1  4     0  5     0  5     0   0     0   2  2400

Non è presente alcun buffer Hardmax poiché il criterio viene applicato a un'interfaccia e non ha alcuna coda di priorità con "level" impostato. Non appena si applica la mappa dei criteri, la seconda coda viene disabilitata e rimane solo una coda nel sistema.

Tuttavia, tutti i pacchetti utilizzano questa singola coda (inclusi i pacchetti di controllo come OSPF/EIGRP/STP). In caso di congestione (broadcast storm), la rete può subire interruzioni. Ciò si verifica anche se sono state definite altre classi per i pacchetti di controllo corrispondenti.

Caso di studio: calo dell'output

Per questo test, il generatore di traffico IXIA è collegato a un'interfaccia da 1 Gigabit e la porta di uscita è un'interfaccia da 100 Mbps. Si tratta di una connessione da 1 Gbps a 100 Mbps e un burst di 1 Gig di pacchetti viene inviato per 1 secondo. Ciò può causare il calo dell'output sull'interfaccia di 100 mbps in uscita. Con la configurazione predefinita (nessun criterio del servizio applicato), questo è il numero di cali di output dopo l'invio di 1:

3850#show interfaces gig1/0/1 | in output drop

Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 497000

Queste cadute vengono rilevate in Th2, che è la soglia predefinita. Per impostazione predefinita, il sistema può utilizzare la soglia massima come soglia di rilascio, ovvero Drop-Th2.

3800#show platform qos queue stats gigabitEthernet 1/0/1

DATA Port:21 Drop Counters ------------------------------- Queue Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop ----- ----------- ----------- ----------- ----------- ----------- 0 0 0

497000 0 0 1 0 0 0 0 0

Quindi, configurare i criteri del servizio per regolare il buffer:

policy-map TEST_POLICY

class class-default

bandwidth percent 100

queue-buffers ratio 100

3850#show run interface gigabitEthernet1/0/1

Current configuration : 67 bytes

!

interface GigabitEthernet1/0/1

service-policy output TEST_POLICY

end

3850#show platform qos queue config gigabitEthernet 2/0/1

DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175

DrainFast:Disabled PortSoftStart:0 - 900

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  4     0  8  1200  7   800   3   300   2  2400        <-- queue 0 gets all the buffer.

3850#show interfaces gigabitEthernet1/0/1 | include output drop

Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 385064

Le cadute si sono ridotte da 497000 a 385064 per lo stesso traffico burst. Eppure, ci sono ancora delle gocce. In seguito, configurare qos queue-softmax-multiplier 1200 global config

3850#show platform qos queue config gigabitEthernet 1/0/1

DATA Port:21 GPN:65 AFD:Disabled QoSMap:1 HW Queues: 168 - 175

DrainFast:Disabled PortSoftStart:0 - 900

----------------------------------------------------------

DTS Hardmax   Softmax  PortSMin GlblSMin  PortStEnd

--- --------  -------- -------- --------- ---------

0   1  4     0  8 10000  7   800   3   300   2 10000

3850#show interfaces gigabitEthernet1/0/1 | in output drop

Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0

Il valore Softmax per la coda 0 può arrivare a 10.000 buffer e, di conseguenza, le cadute sono pari a zero.

Nota: questo tipo di scenario non è possibile in quanto anche altre interfacce possono utilizzare il buffer, ma ciò può sicuramente aiutare a ridurre le perdite di pacchetti a un certo livello.

Il buffer soft massimo disponibile per un'interfaccia può essere aumentato con questo comando. Tuttavia, è necessario tenere presente che questo è disponibile solo se nessun'altra interfaccia utilizza questi buffer.

Riepilogo

1. Quando si creano più code, si ottiene meno buffer per ciascuna coda.

2. Il numero totale di buffer disponibili può essere aumentato con qos queue-softmax-multiplier

3. Se si definisce solo 1 classe-default, per regolare il buffer, tutto il traffico ricade sotto la singola coda (che include i pacchetti di controllo). Tenere presente che quando tutto il traffico viene inserito in una coda, non vi è classificazione tra traffico di controllo e traffico di dati e durante il tempo di congestione, il traffico di controllo potrebbe cadere. Pertanto, si consiglia di creare almeno un'altra classe per il controllo del traffico. I pacchetti di controllo generati dalla CPU vanno sempre alla prima coda di priorità anche se non corrispondono nella mappa delle classi. Se non è stata configurata alcuna coda di priorità, viene visualizzata la prima coda dell'interfaccia, ovvero la coda 0.

4. Nelle interfacce precedenti all'ID bug Cisco CSCuu14019 non vengono visualizzati contatori di "output drop". È necessario eseguire show platform qos queue stats output per verificare la presenza di cadute.

5. Una richiesta di miglioramento, l'ID bug Cisco CSCuz86625 , è stata inviata per consentirci di configurare il moltiplicatore soft-max senza l'uso di alcuna policy sui servizi.(Risolto nella versione 3.6.6 e successive)

Informazioni correlate

- Supporto tecnico – Cisco Systems