Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

Pufferzuweisung

Warteschlangenstruktur

Pufferzuweisung optimieren

Verwenden Sie die Servicerichtlinie für die Hardmax- oder Softmax-Pufferzuweisung.

Beispiel 1

Beispiel 2

Beispiel 3

Manuelle Änderung des Softmax-Pufferwerts mithilfe der Servicerichtlinie

Beispiel 1

Beispiel 2

Anwenderbericht: Ausgabekürzungen

Zusammenfassung

Zugehörige Informationen

Einleitung

In diesem Dokument werden die Warteschlangenstruktur und die Puffer auf der Catalyst 3650-/3850-Plattform beschrieben. Darüber hinaus enthält es Beispiele zur Vermeidung von Ausgabeverringerungen.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Grundkenntnisse der Quality of Service (QoS) auf der Catalyst-Plattform verfügen.

Verwendete Komponenten

Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:

- Cisco Catalyst 3650/3850

- 03.07.04

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle verstehen.

Hintergrundinformationen

Output-Drops sind in der Regel das Ergebnis einer Überbelegung der Schnittstelle, die durch Many-to-One- oder 10gig-to-1gig-Übertragungen verursacht wird. Schnittstellenpuffer sind eine begrenzte Ressource und können nur einen Burst bis zu einem Punkt absorbieren, nach dem Pakete verworfen werden können. Wenn Sie die Puffer abstimmen, erhalten Sie ein gewisses Kissen, aber es kann kein Szenario garantieren, bei dem keine Ausgabe verloren geht.

Es wird empfohlen, die neueste Version von 03.06 oder 03.07 auszuführen, um geeignete Pufferzuweisungen aufgrund einiger bekannter Fehler in älteren Codes zu erhalten.

Pufferzuweisung

Üblicherweise werden Puffer statisch für jede Warteschlange zugewiesen, und mit zunehmender Anzahl von Warteschlangen nimmt die Anzahl der reservierten Puffer ab.  Dies ist ineffizient und kann die Anzahl der Puffer verringern, die zur Verarbeitung von Frames für alle Warteschlangen erforderlich sind. Um diese Art von Einschränkung zu umgehen, verwendet die Catalyst 3650/3850-Plattform Hard Buffer und Soft Buffer.

- Hard Buffers: Dies sind die minimalen reservierten Puffer für bestimmte Warteschlangen. Wenn eine bestimmte Warteschlange die Puffer nicht verwendet, sind diese nicht für andere Warteschlangen verfügbar.

- Weiche Puffer: Diese Puffer werden einer Warteschlange zugewiesen, können aber von anderen Warteschlangen und Schnittstellen gemeinsam genutzt werden, wenn sie nicht verwendet werden.

Standard-Pufferzuweisung ohne angewendete Servicerichtlinie

Die standardmäßige Pufferzuweisung für einen 1-GB-Port beträgt 300 Puffer, für einen 10-GB-Port 1800 Puffer (1 Puffer = 256 Byte). Der Port kann bis zu 400 % des vom gemeinsamen Pool zugewiesenen Standardwerts mit Standardeinstellungen verwenden. Dies sind 1.200 Puffer und 7.200 Puffer für eine Gigabit-Schnittstelle bzw. eine 10Gigabit-Schnittstelle.

Der Soft-Buffer-Standardwert ist 400 (der maximale Grenzwert). Der Schwellenwert legt die maximale Anzahl von weichen Puffern fest, die aus dem gemeinsamen Pool ausgeliehen werden können.

Warteschlangenstruktur

Wenn keine Dienstrichtlinie angewendet wird, gibt es zwei Standardwarteschlangen (Warteschlange 0 und Warteschlange 1). Die Warteschlange 0 wird für Steuerungsdatenverkehr (DSCP 32 oder 48 oder 56) und die Warteschlange 1 für Datenverkehr verwendet.

Standardmäßig können der Warteschlange 0 40 % der Puffer zugewiesen werden, die als feste Puffer für die Schnittstelle verfügbar sind. Das heißt, für die Warteschlange 0 werden im Kontext von 1G-Ports 120 Puffer zugewiesen; 720 Puffer im Kontext von 10G-Ports. Der Softmax, die maximale Anzahl an weichen Puffern, für diese Warteschlange ist auf 480 (berechnet als 400 % von 120) für Ports mit 1 GB und auf 2880 für Ports mit 10 GB festgelegt, wobei 400 der standardmäßige maximale Schwellenwert ist, der für jede Warteschlange konfiguriert ist.

Der Warteschlange 1 sind keine harten Puffer zugeordnet. Der Wert des weichen Puffers für queue-1 wird als 400 % des Schnittstellenpuffers berechnet, der nach der Zuweisung an queue-0 verbleibt. Es sind also 400 % von 180 für eine 1Gig-Schnittstelle und 400 % von 1800 für eine 10Gig-Schnittstelle.

Die Fehlermeldung show-Befehl, mit dem diese Zuweisung angezeigt wird, show platform qos queue config

.

Für eine 1Gig-Schnittstelle

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

Für eine 10Gig-Schnittstelle

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 oder Hard Buffers ist die Menge an Puffer, die immer reserviert und für diese Warteschlange verfügbar ist.

Softmax oder Soft Buffers" ist die Puffergröße, die aus anderen Warteschlangen oder dem globalen Pool ausgeliehen werden kann. Die Gesamtanzahl von Softmax pro 1Gig-Schnittstelle beträgt 1.200 (400 % von 300) und 7.200 Puffer, wenn es sich um eine 10Gig-Schnittstelle handelt. Wenn eine Dienstrichtlinie angewendet wird, kann eine zusätzliche Warteschlange für "Class default" erstellt werden, wenn diese nicht explizit erstellt wurde. Der gesamte Datenverkehr, der nicht den zuvor definierten Klassen entspricht, fällt unter diese Warteschlange. Unter dieser Warteschlange darf keine Übereinstimmungsanweisung vorhanden sein.

Pufferzuweisung optimieren

Um die Puffer in der 3650/3850-Plattform anzupassen, fügen Sie unter der entsprechenden Schnittstelle eine Servicerichtlinie hinzu. Die Hardmax- und Softmax-Pufferzuweisung können Sie mit der Service-Policy anpassen.

Hard Buffer- und Soft Buffer-Berechnungen

So weist das System den Warteschlangen Hardmax und Softmax zu:

Gesamtpuffer für Ports = 300 (1 G) oder 1800 (10 G)

Bei insgesamt 5 Warteschlangen (5 Klassen) erhält jede Warteschlange standardmäßig 20 % Puffer.

Prioritätswarteschlange

1 GB:

HardMax = Oper_Buff = 20 % von 300 = 60.

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

10 GB

HardMax = Oper_Buff = 20 % von 1800 = 360

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

Nicht-Prioritätswarteschlange

1 GB:

HardMax = 0

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

10 GB:

HardMax = 0

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

Verwenden Sie die Servicerichtlinie für die Hardmax- oder Softmax-Pufferzuweisung.

Bei Anwendung einer Service-Policy erhält nur die "Priority Queue mit Level 1/2" den Hardmax. Die folgenden Beispiele können dabei helfen, die Pufferzuweisung für bestimmte Servicerichtlinien in 1Gig- und 10Gig-Schnittstellen klarzustellen. Bei der Standardkonfiguration, für die keine Servicerichtlinie angewendet wurde, erhält queue-0 den Standard-Hardmax-Wert von 120, wenn es sich um eine 1Gig-Verbindung handelt, und 720 Puffer, wenn es sich um eine 10Gig-Verbindung handelt.

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

Beispiel 1

Wenn Sie eine Dienstrichtlinie anwenden, keine Prioritätswarteschlange konfigurieren oder keine Prioritätswarteschlangenebene festlegen, kann dieser Warteschlange kein Hardmax zugewiesen werden.

Für eine 1Gig-Schnittstelle:

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

Für eine 10Gig-Schnittstelle:

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

Beispiel 2

Wenn Sie die Prioritätsstufe 1 anwenden, erhält die Warteschlange 0 60 Puffer als Hardmax.

Für eine 1Gig-Schnittstelle:

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

Für eine 10Gig-Schnittstelle:

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

Beispiel 3

Für dieses Beispiel wird eine zusätzliche Klasse hinzugefügt. Die Gesamtzahl der Warteschlangen wird auf 6 festgelegt. Bei zwei konfigurierten Prioritätsebenen erhält jede Warteschlange 51 Puffer als Hardmax. Die Mathematik ist die gleiche wie im vorherigen Beispiel.

Für 1Gig-Schnittstelle:

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

Für eine 10Gig-Schnittstelle:

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

Hinweis: Wenigen Warteschlangen können weniger Puffer zugewiesen werden. Dies wird erwartet, da die Werte nicht in die Softmax-Berechnung für die Prioritätswarteschlange und die Nicht-Prioritätswarteschlange passen, während bestimmte Konfigurationen kombiniert werden.

Zusammengefasst: Je mehr Warteschlangen Sie erstellen, desto weniger Puffer erhält jede Warteschlange in Bezug auf Hardmax und Softmax (da Hardmax auch vom Softmax-Wert abhängt).

Ab Version 3.6.3 oder 3.7.2 kann der Höchstwert für Softmax mit dem CLI-Befehl geändert werden. qos queue-softmax-multiplier 1200 mit 100 als Standardwert. Bei der Konfiguration als 1200 werden die Softmax für Nicht-Prioritätswarteschlangen und Nicht-Primärprioritätswarteschlangen (!=Stufe 1) mit 12 aus ihren Standardwerten multipliziert. Dieser Befehl wird nur auf den Ports wirksam, an die eine Richtlinienzuweisung angefügt ist. Sie gilt auch nicht für die Prioritätswarteschlangenebene 1.

Manuelle Änderung des Softmax-Pufferwerts mithilfe der Servicerichtlinie

Beispiel 1

Dies ist die Konfiguration der Dienstrichtlinie und die entsprechende Pufferzuweisung:

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

Die Puffer sind gleichmäßig auf die Warteschlangen verteilt. Wenn Sie den Bandbreitenbefehl verwenden, wird nur die Gewichtung für jede Warteschlange geändert, und es wird festgelegt, wie der Scheduler darauf reagiert.

Um den Softmax-Wert anzupassen, müssen Sie den queue-buffer ratio unter der entsprechenden Klasse.

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

Dies sind die neuen Pufferzuweisungen.

Für 1Gig-Schnittstelle:

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

Die Warteschlange 1 erhält 50 % des weichen Puffers, d. h. 600 Puffer. Die übrigen Puffer werden den anderen Warteschlangen gemäß dem Algorithmus zugewiesen.

Ein ähnlicher Ausgang für eine 10Gig-Schnittstelle ist:

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

Hinweis: Einigen Warteschlangen können weniger Puffer zugewiesen werden. Dies ist zu erwarten, da die Werte bei der Softmax-Berechnung für die Prioritätswarteschlange und die Nicht-Prioritätswarteschlange nicht berücksichtigt werden können, wenn bestimmte Konfigurationen kombiniert werden. Es gibt einen internen Algorithmus, der sich darum kümmert.

Beispiel 2

Weisen Sie den gesamten Softmax-Puffer der einzelnen Standardwarteschlange zu.

Sie können sehen, dass weniger Puffer einigen wenigen Warteschlangen zugewiesen sind. Dies wird erwartet, da die Werte bei der Konfiguration bestimmter Kombinationen nicht in die Softmax-Berechnung für die Prioritätswarteschlange und die Nicht-Prioritätswarteschlange passen. Es gibt einen internen Algorithmus, der sich darum kümmert. Weniger Puffer können wenigen Warteschlangen zugewiesen werden. Dies wird erwartet, da die Werte bei der Softmax-Berechnung für die Prioritätswarteschlange und die Nicht-Prioritätswarteschlange nicht berücksichtigt werden können, wenn bestimmte Kombinationen konfiguriert sind. Es gibt einen internen Algorithmus, der sich darum kümmert.

policy-map NODROP

class class-default

bandwidth percent 100

queue-buffers ratio 100

Die Ergebnisse der QoS-Konfiguration sind:

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

Es gibt keinen Hardmax-Puffer, da die Richtlinie auf eine Schnittstelle angewendet wird und keine Prioritätswarteschlange mit festgelegter "Ebene" vorhanden ist. Sobald Sie die Richtlinienzuordnung anwenden, wird die zweite Warteschlange deaktiviert, und es verbleibt nur noch eine Warteschlange im System.

Der Nachteil hierbei ist, dass alle Pakete diese eine Warteschlange nutzen (die Steuerungspakete wie OSPF/EIGRP/STP umfasst). Bei Überlastung (Broadcast-Stürme) kann dies leicht zu Netzwerkstörungen führen. Dies ist auch der Fall, wenn andere Klassen für die Steuerungspakete definiert sind, die übereinstimmen.

Anwenderbericht: Ausgabekürzungen

Für diesen Test wird der IXIA-Datenverkehrsgenerator an die 1Gig-Schnittstelle angeschlossen, und der Ausgangsport ist eine 100-Mbit/s-Schnittstelle. Dies ist eine Verbindung mit 1 Gbit/s bis 100 Mbit/s, und ein Burst von 1 Gig Paketen wird für 1 Sekunde gesendet. Dies kann zu einem Verwerfen der Ausgabe an der 100-Mbit/s-Ausgangsschnittstelle führen. Mit der Standardkonfiguration (ohne Anwendung einer Service-Richtlinie) ist dies die Anzahl der Ausgabeverfügungen nach dem Senden von 1:

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

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

Diese Drops werden in Th2 angezeigt, dem Standardschwellenwert. Standardmäßig kann das System den maximalen Grenzwert als Drop-Schwellwert verwenden. Dieser lautet 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

Konfigurieren Sie anschließend diese Dienstrichtlinie, um den Puffer zu optimieren:

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

Bei demselben Datenverkehrsstoß wurden die Verluste von 497000 auf 385064 reduziert. Dennoch gibt es immer noch Rückgänge. Konfigurieren Sie anschließend qos queue-softmax-multiplier 1200 global config aus.

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

Der Softmax für queue-0 kann bis zu 10.000 Puffer erreichen und infolgedessen sind die Drops Null.

Hinweis: Ein solches Szenario ist nicht möglich, da andere Schnittstellen den Puffer ebenfalls verwenden können. Dies kann jedoch definitiv dazu beitragen, das Verwerfen des Pakets auf eine bestimmte Ebene zu reduzieren.

Der maximal verfügbare Soft-Puffer für eine Schnittstelle kann mit diesem Befehl erhöht werden. Beachten Sie jedoch, dass dieser nur verfügbar ist, wenn keine andere Schnittstelle diese Puffer verwendet.

Zusammenfassung

1. Wenn Sie mehr Warteschlangen erstellen, erhalten Sie für jede Warteschlange weniger Puffer.

2. Die Gesamtzahl der verfügbaren Puffer kann mit qos queue-softmax-multiplier

aus.

3. Wenn Sie nur 1 class-default definieren, fällt der gesamte Datenverkehr zur Optimierung des Puffers in die einzelne Warteschlange (die Steuerungspakete enthält). Beachten Sie, dass, wenn der gesamte Datenverkehr in eine Warteschlange gestellt wird, es keine Klassifizierung zwischen Steuerungs- und Datenverkehr gibt und dass der Steuerungsdatenverkehr während einer Überlastungszeit möglicherweise verworfen wird. Es wird daher empfohlen, mindestens eine weitere Klasse für Kontrollverkehr zu erstellen. CPU-generierte Kontrollpakete werden immer an die erste Prioritätswarteschlange weitergeleitet, auch wenn sie in der Klassenzuordnung nicht übereinstimmen. Wenn keine Prioritätswarteschlange konfiguriert ist, wird sie zur ersten Warteschlange der Schnittstelle, Warteschlange 0, weitergeleitet.

4. Vor der Cisco Bug-ID CSCuu14019 zeigen die Schnittstellen keine Zähler für Ausgabefehler an. Sie müssen Folgendes ausführen show platform qos queue stats -Ausgabe, um auf Verwerfungen zu prüfen.

5. Es wurde eine Erweiterungsanfrage mit der Cisco Bug-ID CSCuz8625 gesendet, um die Konfiguration des Soft-Max-Multiplikators ohne die Verwendung einer Dienstrichtlinie zu ermöglichen. (Behoben in 3.6.6 und höher)

Zugehörige Informationen

- Technischer Support – Cisco Systems