Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

Überprüfung

Identifizieren der betroffenen Schnittstelle

Identifizierung von eingehenden und ausgehenden Schnittstellen

Pufferzuweisung

Fehlerbehebung

Pufferzuweisung ändern

Ändern von Puffern pro Warteschlange

Analysieren von Ausgabetropfen mit Wireshark

Alternative Ansätze

Zugehörige Informationen

Einleitung

In diesem Dokument wird die Fehlerbehebung bei Ausfällen an Hochgeschwindigkeitsschnittstellen auf Plattformen der Serie UADP ASIC Catalyst 9000 beschrieben.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:

- Standard-QoS-Konzepte

- Modulare QoS-Kommandozeile

- Wireshark

Verwendete Komponenten

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

- UADP 2.0- und UADP 3.0-ASIC-Typen

- Catalyst 9200

- Catalyst 9300

- Catalyst 9400

- Catalyst 9500

- Catalyst 9600

- Cisco IOS® XE 16.X- oder 17.X-Software

Hinweis: Informationen zu den Befehlen, die zur Aktivierung dieser Funktionen auf anderen Cisco Plattformen verwendet werden, finden Sie im entsprechenden Konfigurationsleitfaden.

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

Hintergrundinformationen

Ein Problem, das in allen Netzwerkumgebungen auftreten kann, sind Output-Drops an Hochgeschwindigkeitsschnittstellen. Dies gilt insbesondere für Schnittstellen, die Datenübertragungsraten von 10 Gbit/s oder mehr unterstützen. Output Drops treten auf, wenn Pakete von der Schnittstelle verworfen werden, bevor sie in das Netzwerk übertragen werden können.

Es wird häufig missverstanden, wie die Schnittstellennutzung interpretiert wird, wenn die Ausgabe bei geringer Auslastung verworfen wird:

- Wenn zu viel Datenverkehr von einer einzelnen Schnittstelle gesendet wird, können die Puffer für diese Schnittstelle überlastet werden, und die Ausgabe wird unterbrochen. Eine Schnittstelle mit zu wenigen Puffern kann auch die Wahrscheinlichkeit von Ausgabefehlern erhöhen.

- Ein Ausfall der Ausgabe kann auch durch eine Diskrepanz zwischen der Geschwindigkeit der Schnittstelle und der Geschwindigkeit des angeschlossenen Geräts verursacht werden. Wenn beispielsweise eine 10-Gbit/s-Schnittstelle mit einem Gerät verbunden ist, das nur eine Datenübertragungsrate von 1 Gbit/s unterstützt, kann die Schnittstelle Pakete verwerfen, wenn sie die Datenrate nicht verlangsamen kann, um sie an die Funktionen des Geräts anzupassen.

In der Mehrzahl der Fälle werden Ausgabeverringerungen jedoch durch Microburst-Datenverkehr verursacht, der die Port-Puffer ausgeschöpft hat:

- Ein Microburst bezeichnet ein Phänomen, bei dem ein großer Datenverkehr innerhalb eines sehr kurzen Zeitraums gesendet wird. In der Regel dauert dieser Datenverkehr nur wenige Millisekunden und überschreitet die verfügbare Bandbreite der Schnittstelle.

- Bei einem Microburst müssen Netzwerkgeräte den Datenverkehr puffern, bis er in das Netzwerk übertragen werden kann. Wenn die Puffergröße überschritten wird, werden Pakete verworfen.

Der Netzwerkverkehr wird häufig anhand der durchschnittlichen Verbindungsauslastung gemessen (je nach Konfiguration über 30 Sekunden bis 5 Minuten). Obwohl dieser Durchschnitt einen gleichmäßigen und gleichmäßigen Fluss aufweist, ist die Schnittstellennutzung im Millisekundenbereich häufig sehr sprunghaft.

Abbildung 1. Zeigt eine visuelle Darstellung der zugrunde liegenden Ursache von Ausgabeverwerfungen an einer Hochgeschwindigkeitsschnittstelle.

1. Die Paketflüsse A, B und C stellen Gruppen von Bits in einem Fluss dar.

2. Die Flüsse A, B und C werden über die 100-G-Schnittstelle übertragen und am nächsten Hop-Switch empfangen.

3. Beachten Sie, dass A und einige B-Bits erfolgreich über die 10G-Ausgangsschnittstelle weitergeleitet werden.

- Wenn Fluss C eintrifft, hat der Switch jedoch einige der Bits von Fluss B gepuffert, da es nicht möglich ist, Bits so schnell aus der Warteschlange zu entfernen, wie sie eintreffen.

- Der Puffer ist voll und kann nicht sowohl die verbleibenden B-Bits als auch alle Bits in Paket C enthalten.

- Wenn die Eingangsklassifizierung feststellt, dass nicht einmal ein Bit des nächsten Frames Platz hat, wird das gesamte Paket verworfen!

4. Fluss A und ein Teil von B werden über die 10G-Schnittstelle übertragen.

Die Schnittstellen "Speed/Bandwidth" weisen einige Fehlbezeichnungen auf:

- Bandbreite = Daten (Bit)/Zeit

- Bits "beschleunigen" die Übertragung nicht physisch, wenn sie 10 G > 100 G > 10 G erreichen

Der Unterschied bei der "Geschwindigkeit" besteht in den Verschachtelungsfähigkeiten/der Anzahl der Spuren/der Anzahl der Impulse pro Zeitintervall, dem Kodierungsmechanismus usw. im Vergleich zu den Medien (Licht/Elektronen), die schneller werden.

Tipp: Verwenden Sie den Befehl load-interval <30-600> im Schnittstellenkonfigurationsmodus, um die Verzögerung des Lastintervalls in Sekunden zu ändern. (Das Auslastungsintervall gibt die Häufigkeit an, mit der der Switch die Schnittstellenzähler abfragt.)

Überprüfung

Die Fehlerbehebung bei Ausfällen an Hochgeschwindigkeitsschnittstellen kann ein komplexer Prozess sein. Im Folgenden sind jedoch einige allgemeine Schritte aufgeführt, die bei der Identifizierung und Behebung des Problems helfen können:

Identifizieren Sie die betroffene Schnittstelle:

- Beginnen Sie, indem Sie die Schnittstelle eingrenzen, die die Ausgabe-Drops erlebt.

- Verwenden der Show-Schnittstellen | include is up|Total output drops command output oder verwenden Sie Überwachungstools, um festzustellen, welche Schnittstelle das Problem hat.

Identifizieren von eingehenden und ausgehenden Schnittstellen:

- Um die Schnittstelle zu ASIC-Zuordnungen zu überprüfen, führen Sie den Befehl show platform software feeds <switch|active> ifm mappings aus.

Pufferzuweisung überprüfen:

- Es ist wichtig, die Pufferzuweisung und die Schnittstellenkonfiguration für die betroffenen Schnittstellen zu überprüfen.

Überprüfen Sie die Microburts mit Wireshark:

- Ausgabestörungen an Hochgeschwindigkeitsschnittstellen können häufig durch Microbursts von Datenverkehr verursacht werden.

- Verwenden Sie Verkehrsanalysetools wie Wireshark, um Datenverkehrsmuster zu überwachen und mögliche Microbursts zu identifizieren.

Ziehen Sie ein Hardware-Upgrade in Betracht:

- Wenn das Problem mit den vorherigen Schritten nicht behoben werden kann, muss die Hardware aktualisiert werden, z. B. die Schnittstelle, das Gerät oder die Netzwerkinfrastruktur, um dem zunehmenden Datenverkehr gerecht zu werden.

Identifizieren der betroffenen Schnittstelle

Um die betroffene Schnittstelle zu identifizieren, bei der die Ausgabe unterbrochen wird, verwenden Sie den Befehl show interfaces.

- Dieser Befehl liefert detaillierte Informationen zu jeder Schnittstelle, die Statistiken zu Eingabe- und Ausgabefehlern, verlorenen Paketen und anderen kritischen Informationen enthalten.

Um die Liste der Schnittstellen einzugrenzen und die betroffene Schnittstelle schnell zu identifizieren, verwenden Sie show interfaces (Schnittstellen anzeigen). | include is up|Total output drops-Befehl, um Schnittstellen nach unten oder Admin nach unten zu filtern und nur diejenigen anzuzeigen, die aktiv sind und über Drops verfügen.

- Sie können diesen Befehl beispielsweise verwenden, um nur die Schnittstellen anzuzeigen, bei denen Ausgabedateien aufgetreten sind.

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

Tipp: Verwenden Sie den Befehl show interfaces und filtern Sie die Ausgabe mit den entsprechenden Kriterien, um die betroffene Schnittstelle schnell und einfach zu identifizieren. Ergreifen Sie die erforderlichen Schritte zur Behebung des Problems.

Standardmäßig werden auf Catalyst Switches der Serie 9000 verworfene Ausgangspakete in Byte anstatt in Paketen angezeigt. Es muss ermittelt werden, ob sich die ermittelten Verluste tatsächlich ausgewirkt haben oder einfach durch vorübergehenden Burst-Datenverkehr verursacht wurden.

So berechnen Sie den Prozentsatz der gesamten Ausgabebytes, die über eine Schnittstelle übertragen wurden und verworfen wurden:

- Erfassen Sie die Gesamtzahl der Ausgabeverfügungen von der Schnittstelle.

- Erfassen Sie die Gesamtanzahl der Ausgabebytes von der Schnittstelle.

- Berechnen Sie den Prozentsatz der Produktionsausfälle. Dividieren Sie die Gesamtzahl der Ausgabeschleusen durch die Gesamtzahl der Ausgabebytes und multiplizieren Sie sie mit 100.

Dieser Parameter gibt den Prozentsatz der Ausgabebytes an, die auf der Schnittstelle verworfen wurden. Dies kann Ihnen helfen festzustellen, ob ein Überlastungs- oder Pufferzuweisungsproblem vorliegt, das behoben werden muss, oder ob die Ausgabedateien durch vorübergehenden Microbusverkehr verursacht wurden.

Verwenden Sie den Befehl showinterface <interface>, um die Informationen zu erfassen.

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

Gesamtleistung sinkt: 299040207

Ausgabebytes gesamt: 5930422327799

Prozentsatz der Leistungseinbußen = 299040207/5930422327799 x 100 = 0,005 %

In diesem Beispiel stellen die Gesamtausgangsverluste 0,005 % der gesamten Bytemenge dar, die in den letzten sechs Wochen auf dieser Schnittstelle übertragen wurde (letzte Zählerentfernung 6w1d).

- Die Gesamtanzahl der verlorenen Pakete ist gering und hat keine Auswirkungen.

Identifizierung von eingehenden und ausgehenden Schnittstellen

Zur besseren Zuweisung von Soft-Puffern und Verwaltung des Datenverkehrs auf den Catalyst Switches der Serie 9000 sollten Sie eingehende und ausgehende Schnittstellen in verschiedenen ASICs auswählen.

Ein Soft-Puffer, auch als dynamischer Puffer oder gemeinsam genutzter Puffer bezeichnet, bezieht sich auf einen Teil des Speichers, der dynamisch zugewiesen wird, um Pakete in Zeiten von Engpässen oder hoher Datenverkehrslast vorübergehend zu speichern.

Tipp: Im Dokument Understand Queue Buffer Allocation on Catalyst 9000 Switches (Verstehen der Warteschlangenpufferzuweisung für Catalyst 9000-Switches) finden Sie detaillierte Informationen zur Pufferzuweisung für Catalyst-Switches der Serie 9000.

Basierend auf der Architektur eines spezifischen Modells von Catalyst Switches der Serie 9000 ist zu beachten, dass diese häufig mehrere ASICs enthalten, die für verschiedene Funktionen zuständig sind.

Um die Schnittstelle zu ASIC-Zuordnungen zu überprüfen, können Sie den folgenden Befehl ausführen: show platform software fed <switch|active> ifm mappings

Dieses Beispiel zeigt die Schnittstelle zu ASIC-Zuordnungen. Der Schnittstellenbereich von TenGigabitEthernet1/0/1 bis TenGigabitEthernet1/0/24 wird ASIC 1 zugeordnet, die übrigen 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

Pufferzuweisung

Die Puffer-Zuweisung ist ein wichtiger Faktor, um ein Verwerfen der Ausgabe zu vermeiden, da mit Puffern Datenverkehr zwischengespeichert wird, der aufgrund von Überlastung oder anderen Variablen nicht weitergeleitet werden kann. Wenn nicht genügend Puffer zur Verfügung stehen, wird der Datenverkehr verworfen, was zu einer schlechten Netzwerkleistung und potenziellen Unterbrechungen führt. Mit dieser Überprüfung stellen Sie sicher, dass der Switch über genügend Pufferkapazität verfügt, um hohe Datenverkehrsmengen zu verarbeiten.

Mit dem Befehl show platform hardware fed switch active qos queue stats interface <interface> können Sie Statistiken für einzelne Warteschlangen auf einer Schnittstelle anzeigen, die angeben, wie viele Bytes in die Puffer eingestellt wurden und wie viele Bytes aufgrund fehlender verfügbarer Puffer verworfen wurden.

In diesem Beispiel:

- Die Warteschlangen 0 bis 4 enthalten derzeit Datenverkehr in der Warteschlange. Der über diese Schnittstelle empfangene Datenverkehr wird vorübergehend in den Puffern gespeichert, bis er übertragen werden kann.

- Nur bei Warteschlange 2 wurde verworfener oder verworfener Datenverkehr festgestellt (24.010.607 Byte).

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

Fehlerbehebung

Pufferzuweisung ändern

Um den Wert der von einer Schnittstelle verwendeten weichen Puffer zu erhöhen, verwenden Sie den Befehl qos queue-softmax-multiplier im globalen Konfigurationsmodus:

- Geben Sie einen Wert zwischen 100 und 4800 an. Der Standardwert ist 100.

- Mit diesem Befehl kann eine einzelne Port-Warteschlange Microbursts besser absorbieren.

- Mit diesem Befehl werden die Schwellenwerte für Portwarteschlangen erhöht, sodass die Portwarteschlange zusätzliche Puffereinheiten aus dem gemeinsamen Pool nutzen kann.

Diese Konfiguration gilt für alle Schnittstellen:

- Bei der Pufferzuweisung selbst wird davon ausgegangen, dass die Microbursts nicht auf allen Ports des Switches gleichzeitig auftreten.

- Treten Microbursts in zufälligen Momenten auf, kann der gemeinsam genutzte Puffer zusätzliche Puffereinheiten zur Absorption reservieren.

Verwenden Sie den Befehl qos queue-softmax-multiplier<100 4800> im globalen Konfigurationsmodus, um die Zuweisung des Soft-Puffers zu ändern. Wenn Sie dies auf den maximal verfügbaren Wert konfigurieren, erhält der Switch die höchste Wahrscheinlichkeit, dass Leistungseinbrüche verhindert oder reduziert werden. Dies ist eine allgemein empfohlene Best Practice, um Tropfen zu vermeiden, wann immer dies möglich ist.

Cat9k(config)#qos queue-softmax-multiplier ?

<100-4800> multiplier(%)

Mit dem Befehl show platform hardware fed active qos queue config interface <interface> können Sie die Soft Buffer-Zuweisung für die Catalyst Serie 9000 identifizieren.

In diesem Beispiel werden die standardmäßigen Soft-Buffers an einer Schnittstelle gezeigt, die auf einem Catalyst 9500 auf 10 Gbit/s ausgelegt ist.

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

Dieses Beispiel zeigt die zugewiesenen Soft-Puffer für eine Schnittstelle, die auf einem Catalyst 9500 mit konfiguriertem Multiplikator 4800 eine Geschwindigkeit von 10 Gbit/s erreicht hat.

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

Hinweis: Die Zuweisung der weichen Puffer variiert. Es ist möglich, dass die Zuweisung nicht mit der oben angegebenen Ausgabe übereinstimmt. Die Ausgabe der Zuweisung hängt von der jeweils verwendeten Plattform, den angewendeten QoS-Richtlinien und der vereinbarten Betriebsgeschwindigkeit der jeweiligen Schnittstelle ab.

Ändern von Puffern pro Warteschlange

Die Puffermodifikation pro Warteschlange kann für Szenarien verwendet werden, in denen der SoftMax-Multiplikator nicht verwendet werden kann, oder in Szenarien, in denen versucht wird, die Puffer auf ein Datenverkehrsprofil abzustimmen.

- Um die Warteschlangenpufferzuweisung für den Switch auf Schnittstellenbasis zu ändern, müssen Sie Richtlinienzuweisungen verwenden.

- In den meisten Fällen ändern Sie die aktuelle Richtlinienzuordnung einer Schnittstelle und die Puffer auf Klassenbasis.

In dieser Beispielschnittstelle traten zwanzigFünfGigE 1/0/1-Ausgabeverwerfungen auf. Wie in gezeigt, wird die Richtlinienzuordnung für den Ausgang des Befehls, der auf diese Schnittstelle angewendet wird, ausgegeben.

Mit dem Befehl show platform hardware fed switch active qos queue stats interface <interface> können Sie Statistiken für einzelne Warteschlangen auf einer Schnittstelle anzeigen, die angeben, wie viele Bytes in die Puffer eingestellt wurden und wie viele Bytes aufgrund fehlender verfügbarer Puffer verworfen wurden.

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

Um die Ausgabeverwerfungen auf dieser Schnittstelle auf der Grundlage der Enqueue-Zähler zu verringern, haben Q0 bis Q1 eine sehr niedrige Enqueue-Rate und können daher nicht so viele Puffer wie Q2 und Q3 erfordern. Die Enqueue-Zähler sind für die meisten. Die empfohlene Aktion besteht darin, Warteschlange 2 und Warteschlange 3 mehr Puffer zuzuweisen, da diese Warteschlangen im Vergleich zu anderen Warteschlangen einen höheren Datenverkehr in die Warteschlange einreihen.

- Um die Pufferzuweisung zu ändern, können Sie die Konfiguration queue-buffers ratio <0-100> in der Richtlinienzuweisung verwenden, die auf die Schnittstelle entyFiveGigE 1/0/1 angewendet wird.

Hinweis: Wenn dieser Befehl für jede Klasse in der Richtlinie konfiguriert wird, muss er 100 ergeben. Wenn jedoch nur eine einzelne Klasse konfiguriert ist, subtrahiert das System gleichmäßig Puffer von den anderen Warteschlangen.

Dieses Beispiel zeigt, wie Sie ein Verhältnis zwischen Warteschlangen und Puffern auf einer Richtlinienzuordnung konfigurieren.

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

Ab der Version Cisco IOS XE 17.2.1 können Switches mit UADP 3.0 (Catalyst 9500 High Performance und Catalyst 9600) so konfiguriert werden, dass die AQM-Puffer (Active Queue Management) zwischen den beiden Kernen im selben ASIC gemeinsam genutzt werden.

- Ein Port, der mit Buffer Sharing konfiguriert wurde, verwendet alle verfügbaren AQM-Puffer, unabhängig davon, welchen Cores die AQM-Puffer zugeordnet sind.

- Dies hilft, höhere Datenverkehrsspitzen zu verwalten, die den Puffer eines einzelnen AQM-Kerns überlastet hätten.

- Sie können diese Funktion mit dem Befehl qos share-buffer im globalen Konfigurationsmodus aktivieren.

- Sie können die Funktion mit dem Befehl show platform hardware fed active qos queue config interface (Konfigurationsschnittstelle für aktive QoS-Warteschlange) überprüfen. Dies ist eine globale Konfiguration, die das gesamte System betrifft.

Sie können die Pufferfreigabe mit der Form "no" des Befehls oder "qos share-buffer" deaktivieren.

Cat9k(config)#qos share-buffer

Cat9k(config)#end

Analysieren von Ausgabetropfen mit Wireshark

Um das Vorhandensein von Microbursts in einem Netzwerk zu überprüfen, können Sie ein Tool zur Paketerfassung wie Wireshark verwenden:

- Wireshark erfasst Pakete und ermöglicht die Analyse des Netzwerkverkehrs in Echtzeit oder nach der Erfassung.

- Um festzustellen, welche Microbursts bei einem Verwerfen von Wireshark auftreten, starten Sie die Paketerfassung an der betroffenen Schnittstelle, und überprüfen Sie die Schnittstelle wiederholt, bis ein Verwerfen der Ausgabe erfolgt.

- Wenn die Erfassung abgeschlossen ist, öffnen Sie die Erfassungsdatei in Wireshark, und suchen Sie nach Perioden mit hohem Datenverkehr, gefolgt von Perioden ohne oder mit geringem Datenverkehr. Dies sind potenzielle Microbursts.

Verwenden Sie die folgenden Empfehlungen, um Output-Drops auf einer Schnittstelle effektiv zu erfassen und zu analysieren:

- EPC (Embedded Packet Capture) darf nicht verwendet werden. EPC begrenzt den gesamten Datenverkehr auf maximal 1000 Pakete pro Sekunde (pps), wodurch die Daten möglicherweise ungültig werden.

- Die empfohlene Methode ist ein TX-Only-SPAN der Schnittstelle, an der die Ausgabeverwerfungen identifiziert werden.

- Die Quell- und Zielports müssen dieselbe Geschwindigkeit haben, oder der Zielport muss eine höhere Geschwindigkeit als der Quellport haben, wenn Sie SPAN verwenden. Auf diese Weise wird sichergestellt, dass die SPAN-Sitzung nicht zu einer zusätzlichen Netzwerküberlastung oder Paketverlusten aufgrund von nicht übereinstimmenden Portgeschwindigkeiten führt.

- Es ist wichtig, die SPAN-Sitzung zu sammeln, während die Ausgangsunterbrechungen aktiv zunehmen. So wird sichergestellt, dass Sie den relevanten Datenverkehr erfassen und die Ursache des Microbursts identifizieren können. Wenn die SPAN-Sitzung nach dem Verwerfen erfasst wird, können Sie den relevanten Datenverkehr nicht erfassen.

Um zu überprüfen, ob es sich bei diesen Zeiten mit hohem Datenverkehr tatsächlich um Microbursts handelt, verwenden Sie die Funktion Wireshark I/O graph (Wireshark I/O-Diagramm). Da das E/A-Diagramm eine grafische Darstellung des Netzwerkverkehrs über einen längeren Zeitraum anzeigt, lassen sich Microbursts einfacher identifizieren. Um ein E/A-Diagramm zu erstellen, gehen Sie zu Statistik > E/A-Diagramm:

Hinweis: Zur Demonstration dieses Verfahrens wurde eine Paketerfassung über eine 1-Gbit/s-Schnittstelle verwendet. Die Schritte zur Fehlerbehebung bei Ausgabestörungen an einer Hochgeschwindigkeits-Schnittstelle sind jedoch identisch.

Abbildung 2. Wählen Sie das E/A-Diagramm aus.

Das nächste Diagramm zeigt eine Linie, die die Menge der Daten darstellt, die über die Zeit übertragen werden. Achten Sie auf Spitzen im Diagramm, die auf Phasen mit hohem Datenverkehr hinweisen. Wenn auf diese Spitzen Zeiträume ohne oder mit geringem Datenverkehr folgen, haben Sie möglicherweise einen Microburst identifiziert.

Abbildung 3: Zeigt das E/A-Diagramm der Paketerfassung an.

Es muss sichergestellt werden, dass alle Pakete ohne angewendeten Anzeigefilter ausgewählt werden. Wählen Sie außerdem die Option Liniendiagramm aus, und legen Sie die Y-Achse auf Bits fest, um den Datenverkehr richtig zu analysieren.

Abbildung 4: Zeigt, wie die Option Liniendiagramm ausgewählt und die Y-Achse auf Bits festgelegt wird.

Wenn Sie eine große Paketerfassung analysieren, ist es wichtig, den für Sie interessanten Zeitraum zu bestimmen. In diesem Szenario ist beispielsweise zu beobachten, dass sich ein hohes Verkehrsaufkommen in der Nähe von 30 Sekunden befindet.

Durch Klicken auf die Spitze eines Spitzen im E/A-Diagramm wählt Wireshark das Paket im Hintergrund aus. In unserem Szenario wurden die Pakete 79280 und 101896 ausgewählt, um eine Teilmenge der Paketerfassung zu erstellen, damit sie innerhalb der Zeitstempel funktionieren, bei denen das Vorhandensein von Microbursts vermutet wird.

Abbildung 5: Veranschaulicht, wie eine Teilmenge der Paketerfassung erstellt wird, die sich auf die vermuteten Zeitstempel der Microburst-Präsenz konzentriert.

Um das erste und das letzte ausgewählte Paket in eine neue Datei zu exportieren, stellen Sie sicher, dass Sie die Funksymbole Range und Captured (Bereich und erfasst) auswählen.

Abbildung 6: Zeigt, wie die Teilmenge der Paketerfassung exportiert und gespeichert wird.

Nachdem Sie die Datei gespeichert haben, öffnen Sie sie, und navigieren Sie zurück zum E/A-Diagramm. Stellen Sie sicher, dass das Intervall auf 1ms eingestellt ist, um die beobachteten Spitzen in Millisekunden zu grafisch darzustellen.

Abbildung 7: Zeigt das E/A-Diagramm der exportierten Teilmenge der Paketerfassung an.

Wenn der Graph angezeigt wird, ist es wichtig, Spitzen zu identifizieren, die Zeiträume repräsentieren, in denen der Datenverkehr eine volle Millisekunde lang mit Leitungsgeschwindigkeit übertragen wurde, wodurch sich der Puffer füllt und wo Ausgabeverwerfungen hätten erzeugt werden können. Bei einer Schnittstelle mit 1 Gbit/s entspräche dies beispielsweise 1.000.000 Bits pro Millisekunde. Klicken Sie auf den Peak eines Spike, der einen potenziellen Microburst darstellt. Es hilft bei der Identifizierung des Pakets, das die Ausgabe verworfen hat. Dieses Paket kann dann weiter analysiert werden, um die Ursache des Microbursts zu ermitteln und Korrekturmaßnahmen zu ergreifen.

Abbildung 8: Veranschaulicht, wie potenzieller Microburst-Datenverkehr im E/A-Diagramm identifiziert wird.

Warnung: Es ist wichtig, sich dieser Einschränkung bewusst zu sein, wenn Sie Wireshark oder ein anderes Paket-Erfassungstool an einer Hochgeschwindigkeits-Schnittstelle verwenden. Hochgeschwindigkeits-Schnittstellen wie 40G und 100G erzeugen ein beträchtliches Volumen an Netzwerkverkehr, das die Ressourcen des Systems zur Paketerfassung überlasten kann. Dies kann dazu führen, dass während des Erfassungsprozesses Pakete verworfen werden, was sich auf die Genauigkeit und Vollständigkeit der erfassten Daten auswirken kann.

Alternative Ansätze

Wenn Sie die einer Warteschlange zugewiesenen Ressourcen ausgeschöpft haben und dennoch Verluste feststellen, müssen Sie alternative Optionen in Betracht ziehen, um Engpässe zu bewältigen. Dazu gehören:

- Upgrade der Schnittstellengeschwindigkeit Sie können von 1 G auf 10 G, 10 G auf 25 G oder 40 G wechseln, um die Ausgangsbandbreite zu erhöhen und die Überbelegungsquote zu verringern.

- Ändern Sie die Plattform in eine Plattform mit einem größeren Puffer pro Warteschlange/Schnittstelle.

- Passen Sie die Anwendungseinstellungen an, um die Größe des Bursts zu reduzieren, der Ausgabeverringerungen verursacht.

- Verwenden Sie einen Scheduler für die Warteschlangenverwaltung, um eine Klasse von Datenverkehr gegenüber einer anderen zu priorisieren. Diese Methode priorisiert den Schutz von wichtigerem Datenverkehr auf Kosten von erhöhten Verlusten für weniger wichtigen Datenverkehr.

- Implementierung von Engpassmanagementalgorithmen wie Weighted Random Early Discard (WRED) oder Weighted Tail Drop (WTD), um Datenverkehr früher zu verwerfen WRED- oder WTD-Grenzwerte können zu einem früheren Rückgang von Burst-Datenverkehr führen, was zu einer automatischen Verringerung der Übertragungsfenster für Endkunden führt. Dadurch wird der Datenverkehr mit geringerem Burst-Datenverkehr weniger überlastet, und in Zeiten hoher Überlastung wird nur eine minimale Pufferzuweisung für verschiedene Datenverkehrsklassen sichergestellt.

- Überwachung des Datenverkehrs, der der Quelle einer bekannten Anwendung mit hoher Bandbreite am nächsten liegt, z. B. Datensicherungen, um die Häufigkeit und den Schweregrad von Bursts im Netzwerk zu reduzieren. Dadurch ergeben sich in Bereichen mit geringer Bandbreite zwischen Quelle und Ziel, die sich an anderer Stelle im Netzwerk befinden, mehr Möglichkeiten für ein effektives Management sowohl des Burst-Datenverkehrs als auch des normalen Netzwerkdatenverkehrs.

- Verwenden Sie Port-Channels. Es ist jedoch wichtig zu beachten, dass aufgrund von Hashing mehrere Datenflüsse an ein einzelnes Mitglied geleitet werden können, was zu dauerhaften Verlusten führen kann.

Beachten Sie, dass einige dieser Optionen aufwändigere Konfigurationen erfordern, z. B. Traffic Engineering, aber auch erhebliche Vorteile bieten können, um Netzwerküberlastungen und Leistungseinbußen zu minimieren.

Zugehörige Informationen

- Cisco Catalyst Switching-Plattformen der Serie 9000: QoS und Warteschlangen-Whitepaper

- Quality of Service-Konfigurationsleitfaden, Cisco IOS XE 17.x

- Kompatibilitätsmatrix für optische Verbindungen zu Geräten von Cisco

- Innovation im Support: So optimiert das Cisco TAC die Dokumentation und vereinfacht den Self-Service

- Technischer Support und Dokumentation für Cisco Systeme