Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

Verifiëren

Identificeer de beïnvloede interface

Identificeer inkomende en uitgaande interfaces

Buffertoewijzing

Problemen oplossen

Buffertoewijzing wijzigen

Buffers per wachtrij wijzigen

Uitvoerdruppels analyseren met wireshark

Alternatieve benaderingen

Gerelateerde informatie

Inleiding

Dit document beschrijft hoe u problemen kunt oplossen met uitvoerdruppels op snelle interfaces op de op UADP ASIC gebaseerde Catalyst 9000 Series-platforms.

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Standaard QoS-concepten

- Modulaire QoS Command Line Interface (CLI)

- Wireshark

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- UADP 2.0- en UADP 3.0-ASIC-typen

- Catalyst 9200

- Catalyst 9300

- Catalyst 9400

- Catalyst 9500

- Catalyst 9600

- Cisco IOS® XE 16.X- of 17.X-software

Opmerking: raadpleeg de juiste configuratiehandleiding voor de opdrachten die worden gebruikt om deze functies op andere Cisco-platforms in te schakelen.

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.

Achtergrondinformatie

De druppels van de output op hoge snelheidsinterfaces zijn een kwestie die in om het even welke netwerkmilieu's kan voorkomen, in het bijzonder wanneer het interfaces behandelt die gegevensoverdrachtsnelheden van 10 Gbps of hoger steunen. De output druppels komen voor wanneer de pakketten door de interface worden gelaten vallen alvorens zij op het netwerk kunnen worden overgebracht.

Vaak wordt verkeerd begrepen hoe interfacegebruik wordt geïnterpreteerd wanneer de outputdalingen bij lage niveaus van gebruik voorkomen:

- Wanneer te veel verkeer uit één enkele interface wordt verzonden, kunnen de buffers voor die interface overweldigd worden en de outputdalingen voorkomen. Een interface met te weinig buffers kan ook de waarschijnlijkheid van outputdalingen verhogen.

- De output druppels kunnen ook worden veroorzaakt door een wanverhouding tussen de snelheid van de interface en de snelheid van het aangesloten apparaat. Als bijvoorbeeld een 10 Gbps interface is aangesloten op een apparaat dat alleen een gegevensoverdrachtsnelheid van 1 Gbps ondersteunt, kan de interface pakketten laten vallen als het de gegevenssnelheid niet kan vertragen om aan de mogelijkheden van het apparaat te voldoen.

In grote meerderheid van de gevallen worden de output dalingen echter veroorzaakt door microburst verkeer dat de poortbuffers uitputten:

- Een microburst verwijst naar een fenomeen waarin een grote hoeveelheid verkeer in een zeer korte tijd wordt verzonden, meestal duurt het slechts een paar milliseconden en overschrijdt de beschikbare bandbreedte van de interface.

- Wanneer een microburst optreedt, moeten netwerkapparaten het verkeer bufferen tot het kan worden verzonden naar het netwerk. Als de buffergrootte wordt overschreden, worden de pakketten gelaten vallen.

Het netwerkverkeer wordt vaak gemeten door het gemiddelde gebruik van een link (gemeten over 30 seconden tot 5 minuten afhankelijk van de configuratie). Hoewel dit gemiddelde een stabiele en relatief gelijkmatige stroom laat zien, is het gebruik van de interface bij een milliseconde schaal vaak zeer zwaar.

Afbeelding 1. Toont een visuele vertegenwoordiging van de onderliggende oorzaak van outputdalingen op hoge snelheidsinterface.

1. De pakketstromen A, B en C vertegenwoordigen groepen bits in een stroom.

2. Stromen A, B en C worden verzonden via de 100G-interface en ontvangen bij de volgende hop switch.

3. Merk op dat A en sommige van B beetjes met succes uit de 10G uitgangsinterface door:sturen.

- Echter, wanneer flow C aankomt heeft de switch een aantal bits van flow B gebufferd vanwege het onvermogen om bits zo snel als ze aankomen uit te schakelen.

- De buffer wordt volledig en kan niet zowel de resterende B-bits als alle bits in pakket C bevatten.

- Als de toegangsclassificator bepaalt dat er geen ruimte is voor zelfs maar één bit van het volgende frame, laat hij het hele pakket vallen!

4. Flow A en enkele van B worden verzonden door de 10G interface.

De interface "Snelheid/Bandbreedte" is beide enigszins van verkeerd genomineerden:

- Bandbreedte = gegevens (bits)/tijd

- De beetjes "versnellen niet fysisch"wanneer zij van 10G > 100G > 10G oversteken

Het "snelheid"-verschil is de interleaving capaciteiten/het aantal rijstroken/het aantal pulsen per tijdsinterval, het coderingsmechanisme, enzovoort, versus het feit dat de media (licht/elektronen) sneller gaan.

Tip: gebruik de opdracht load-interval <30-600> onder de interfaceconfiguratiemodus om de vertraging van het laadinterval in seconden aan te passen. (Het laadinterval is de frequentie van de interfacetellers van de switch-opiniepeilingen).

Verifiëren

Probleemoplossing voor uitvoerdruppels op snelle interfaces kan een complex proces zijn, maar er zijn enkele algemene stappen die kunnen helpen bij het identificeren en oplossen van het probleem:

Identificeer de betrokken interface:

- Begin door de interface te versmallen die de outputdalingen ervaart.

- Gebruik de showinterfaces | Omvat is omhoog|Totale output laat vallen bevel output of gebruik controlehulpmiddelen om te bepalen welke interface het probleem onder ogen ziet.

Identificeer inkomende en uitgaande interfaces:

- Om de interface naar ASIC-toewijzingen te verifiëren, voert u de opdracht show platform software gevoed <switch|active> ifm-toewijzingen.

Controleer de buffertoewijzing:

- Het is belangrijk om de buffertoewijzing en de interfaceconfiguratie voor de beïnvloede interfaces te verifiëren.

Controleer de microburts met Wireshark:

- De druppels van de output op hoge snelheidsinterfaces kunnen vaak door microbursts van verkeer worden veroorzaakt.

- Gebruik verkeersanalysetools zoals Wireshark om verkeerspatronen te bewaken en mogelijke microbursts te identificeren.

Overweeg een hardware upgrade:

- Als de vorige stappen het probleem niet oplossen, is het nodig om de hardware, zoals de interface, het apparaat of de netwerkinfrastructuur te upgraden om het toegenomen verkeer te verwerken.

Identificeer de beïnvloede interface

Om de beïnvloede interface te identificeren die outputdalingen ervaart, gebruik het bevel van showinterfaces.

- Deze opdracht geeft gedetailleerde informatie over elke interface die statistieken bevat over invoer- en uitvoerfouten, gedropte pakketten en andere kritieke informatie.

Om de lijst van interfaces te versmallen en snel de beïnvloede interface te identificeren, gebruik de showinterfaces | omvatten is omhoog|Totale output laat vallen bevel aan filter uit interfaces neer, of admin neer, en toont slechts die die actief zijn en dalingen hebben.

- U kunt deze opdracht bijvoorbeeld gebruiken om alleen de interfaces weer te geven die uitvoerdruppels hebben meegemaakt.

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

Tip: Gebruik de opdracht show interfaces en filter de uitvoer met de juiste criteria om de betreffende interface snel en gemakkelijk te identificeren. Neem de nodige stappen om het probleem op te lossen.

Standaard worden op Catalyst 9000 Series switches uitgaande pakketdruppels in bytes in plaats van pakketten weergegeven. Het is belangrijk om te bepalen of de hoeveelheid outputdalingen die werden gevonden daadwerkelijk effect hadden of eenvoudig door voorbijgaand bursty verkeer werden veroorzaakt.

Bereken het percentage van de totale output bytes die op een interface worden uitgezonden die zijn gedropt:

- Verzamel de totale output druppels tellen van de interface.

- Verzamel de totale telling van outputbytes van de interface.

- Bereken het percentage van de uitgangsdalingen. Verdeel de totale output dalingen telling door de totale output byte telling en vermenigvuldigend met 100.

Dit levert het percentage van de output bytes die op de interface zijn gevallen, wat u kan helpen bepalen of er een stremming of bufferallocatiekwestie is die moet worden aangepakt, of dat de output dalingen werden veroorzaakt door tijdelijk microbusverkeer.

Gebruik de opdracht showinterface <interface> om de informatie te verzamelen.

Cat9k#show interfaces twentyFiveGigE 1/0/41

TwentyFiveGigE1/0/41 is up, line protocol is up (connected)

Hardware is Twenty Five Gigabit Ethernet, address is dc77.4c8a.4289 (bia dc77.4c8a.4289)

MTU 1500 bytes, BW 25000000 Kbit/sec, DLY 10 usec,

reliability 255/255, txload 3/255, rxload 1/255

Encapsulation ARPA, loopback not set

Keepalive set (10 sec)

Full-duplex, 10Gb/s, link type is auto, media type is SFP-10GBase-AOC1M

input flow-control is on, output flow-control is off

ARP type: ARPA, ARP Timeout 04:00:00

Last input 00:00:06, output 00:00:10, output hang never

Last clearing of "show interface" counters 6w1d

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

Queueing strategy: Class-based queueing

Output queue: 0/40 (size/max)

30 second input rate 767000 bits/sec, 155 packets/sec

30 second output rate 14603000 bits/sec, 1819 packets/sec

931864194 packets input, 572335285416 bytes, 0 no buffer

Received 933005 broadcasts (933005 multicasts)

0 runts, 0 giants, 0 throttles

0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored

0 watchdog, 0 multicast, 0 pause input

0 input packets with dribble condition detected

1067891106 packets output, 5930422327799 bytes, 0 underruns

--snip--

Totale output dalingen: 299040207

Totaal output bytes: 5930422327799

Percentage outputdalingen = 299040207/5930422327799 x 100 = 0,005%

In dit voorbeeld vertegenwoordigen de totale output dalingen 0.005% van het totale aantal bytes die in de afgelopen zes weken op deze interface zijn verzonden (laatste clearing van tellers 6w1d).

- Het totale aantal pakketten versus het aantal dat wordt gelaten vallen is onbelangrijk, en zal geen invloed hebben.

Identificeer inkomende en uitgaande interfaces

Om zachte buffers beter toe te wijzen en verkeer op Catalyst 9000 Series switches te beheren, kunt u inkomende en uitgaande interfaces in verschillende ASIC's selecteren.

Een zachte buffer, ook wel bekend als een dynamische buffer of gedeelde buffer, verwijst naar een deel van het geheugen dat dynamisch is toegewezen om pakketten tijdelijk op te slaan in perioden van stremming of hoge verkeerslading.

Tip: Raadpleeg het document Understand Queue Buffer Allocation op Catalyst 9000 Switches voor meer informatie over buffertoewijzing in de Catalyst 9000 Series switches.

Gebaseerd op de architectuur van een specifiek model van Catalyst 9000 switches, is het belangrijk om op te merken dat ze vaak meerdere ASIC's bevatten die verantwoordelijk zijn voor verschillende functies.

Om de interface naar ASIC-toewijzingen te verifiëren, kunt u de opdracht uitvoeren: toon platform software gevoed <switch|active> ifm-toewijzingen

Dit voorbeeld toont de interface aan ASIC-toewijzingen. Het interfacebereik TenGigabit Ethernet1/0/1 tot TenGigabit Ethernet1/0/24 wordt toegewezen aan ASIC 1 terwijl de rest wordt toegewezen aan 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

Buffertoewijzing

Buffertoewijzing is een belangrijke factor om output dalingen te vermijden omdat buffers worden gebruikt om tijdelijk verkeer op te slaan dat niet kan worden doorgestuurd vanwege congestie of andere variabelen. Als er niet genoeg buffers beschikbaar zijn, wordt het verkeer gedropt, wat leidt tot slechte netwerkprestaties en mogelijke verstoringen. Met deze verificatie kunt u ervoor zorgen dat de switch voldoende bufferruimte heeft om grote verkeersbelastingen te verwerken.

De opdracht van de stats van de switch van het showplatform actieve qos wachtrij <interface> staat u toe om per-wachtrijstatistieken over een interface te zien, die omvat hoeveel bytes in de buffers werden gevraagd, en hoeveel bytes daalden wegens gebrek aan beschikbare buffers.

In dit voorbeeld:

- Wachtrijen 0 tot en met 4 bevatten momenteel het gevraagde verkeer. Het verkeer dat op deze interface wordt ontvangen, wordt tijdelijk opgeslagen in de buffers tot het kan worden verzonden.

- Slechts heeft Wachtrij 2 teruggegooid of gelaten vallen verkeer ervaren (24010607 bytes).

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

Problemen oplossen

Buffertoewijzing wijzigen

Om de waarde van de zachte buffers te verhogen die door een interface worden gebruikt, gebruik het qos wachtrij-softmax-multipliercommando in de globale configuratiemodus:

- Specificeer een waarde in het bereik van 100 tot 4800. De standaardwaarde is 100.

- Dit bevel verhoogt de capaciteit van één enkele poortrij om microbursts te absorberen.

- Dit bevel verhoogt de drempels van de havenrij zodat de havenrij extra buffereenheden van de gedeelde pool kan verbruiken.

Deze configuratie is van toepassing op alle interfaces:

- De buffertoewijzing zelf gaat ervan uit dat de microbursts niet op alle poorten op de switch tegelijk plaatsvinden.

- Als microbursts op willekeurige momenten gebeuren, kan de gedeelde buffer extra buffereenheden wijden om hen te absorberen.

Gebruik de opdracht qos wachtrij-softmax-multiplier<100 4800>in de globale configuratiemodus om de zachte buffertoewijzing aan te passen. Als u dit aan de maximum beschikbare waarde vormt, voorziet het de switch van de hoogste waarschijnlijkheid om outputdalingen te elimineren of te verminderen. Dit is een algemeen aanbevolen beste praktijk om druppels waar mogelijk te voorkomen.

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

<100-4800> multiplier(%)

Gebruik de opdracht <interface>interface voor actieve qos-wachtrijconfiguratie op het showplatform om de toewijzing van zachte buffers op Catalyst 9000 Series te identificeren.

Dit voorbeeld toont de standaard zachte buffers toegewezen op een interface die heeft onderhandeld over 10 Gbps snelheid op een Catalyst 9500.

Cat9k#show platform hardware fed active qos queue config interface twentyFiveGigE 1/0/41

Asic:0 Core:0 DATA Port:8 GPN:141 LinkSpeed:0x12

AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 64 - 71

DrainFast:Disabled PortSoftStart:5 - 4320 BufferSharing:Disabled

DTS  Hardmax  Softmax   PortSMin  GlblSMin  PortStEnd   QEnable

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

0   1  6   480   8  1920  16   960   0     0   3  5760      En <-- 1920 is the total soft buffers allocated to queue 0 on interface twentyFiveGigE 1/0/41

1   1  5     0  11  2880  16  1440   8   720   3  5760      En <-- 2880 is the total soft buffers allocated to queue 1 on interface twentyFiveGigE 1/0/41

2   1  5     0   6     0   0     0   0     0   3  5760      En

3   1  5     0   6     0   0     0   0     0   3  5760      En

4   1  5     0   6     0   0     0   0     0   3  5760      En

5   1  5     0   6     0   0     0   0     0   3  5760      En

6   1  5     0   6     0   0     0   0     0   3  5760      En

7   1  5     0   6     0   0     0   0     0   3  5760      En

Priority   Shaped/shared   weight  shaping_step  sharpedWeight

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

0      0     Shared            50           0           0

1      0     Shared            75           0           0

2      0     Shared         10000           0           0

3      0     Shared         10000           0           0

4      0     Shared         10000           0           0

5      0     Shared         10000           0           0

6      0     Shared         10000           0           0

7      0     Shared         10000           0           0

Port       Port            Port    Port

Priority   Shaped/shared   weight  shaping_step

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

2     Shaped          1023        1023

QPolicer     Refresh Credit   Max Credit  Interval Idx

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

0 Disabled                 0            0           0

1 Disabled                 0            0           0

2 Disabled                 0            0           0

3 Disabled                 0            0           0

4 Disabled                 0            0           0

5 Disabled                 0            0           0

6 Disabled                 0            0           0

7 Disabled                 0            0           0

Weight0 Max_Th0 Min_Th0 Weigth1 Max_Th1 Min_Th1  Weight2 Max_Th2 Min_Th2

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

0       0    1912       0       0    2137       0       0    2400       0 <-- Thresholds values in queue 0 on interface twentyFiveGigE 1/0/41

1       0    2295       0       0    2565       0       0    2880       0 <-- Thresholds values in queue 1 on interface twentyFiveGigE 1/0/41

2       0       0       0       0       0       0       0       0       0

3       0       0       0       0       0       0       0       0       0

4       0       0       0       0       0       0       0       0       0

5       0       0       0       0       0       0       0       0       0

6       0       0       0       0       0       0       0       0       0

7       0       0       0       0       0       0       0       0       0

Dit voorbeeld toont de zachte buffers die zijn toegewezen aan een interface die heeft onderhandeld over 10 Gbps snelheid op een Catalyst 9500 met 4800 geconfigureerde multiplier.

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

Opmerking: De toewijzing van Soft Buffers varieert. Het is mogelijk dat de toewijzing niet overeenkomt met de hierboven vermelde output. De toewijzingsoutput verschilt, afhankelijk van het specifieke gebruikte platform, het toegepaste QoS-beleid en de overeengekomen operationele snelheid van de interface in kwestie.

Buffers per wachtrij wijzigen

Per-Queue bufferwijziging kan worden gebruikt voor scenario's waarbij u de SoftMax-multiplier niet kunt gebruiken of in scenario's waarin u probeert de buffers te verfijnen om een verkeersprofiel te passen.

- Switch Om de wachtrijbuffertoewijzing per interfacebasis aan te passen, moet u gebruik maken van policy-maps.

- In de meeste omstandigheden wijzig je de huidige policy-map van een interface en verander de buffers per klasse basis.

In deze voorbeeldinterface heeft twintigFiveGigE 1/0/1 output dalingen ervaren. Zoals getoond in de uitgangspolitiek-kaart van de opdrachtoutput die op deze interface wordt toegepast.

De opdracht van de stats van de switch van het showplatform geeft actieve qos wachtrij <interface> u de mogelijkheid om per-wachtrijstatistieken te zien over een interface, die omvat hoeveel bytes in de buffers zijn opgezocht, en hoeveel bytes zijn gevallen wegens gebrek aan beschikbare buffers.

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

Om de outputdalingen op deze interface te verlichten, gebaseerd op de tellers van Enwachtrij, hebben Q0 tot Q1 een zeer laag enquêtetarief, en kunnen zo vele buffers niet vereisen zoals Q2 en Q3. De aanbevolen actie is om meer buffers toe te wijzen aan wachtrij 2 en wachtrij 3, omdat deze wachtrijen een hogere hoeveelheid opgezocht verkeer hebben dan in een andere wachtrij.

- Om de buffertoewijzing aan te passen, kunt u de wachtrij-bufferverhouding <0-100>gebruiken configuratie in de beleidskaart die is toegepast op interface 2FiveGigE 1/0/1.

Opmerking: als deze opdracht op elke klasse in het beleid is geconfigureerd, moet het optellen tot 100. Als echter slechts één klasse is geconfigureerd, trekt het systeem buffers gelijkmatig af van de andere wachtrijen.

Dit voorbeeld toont hoe te om een rij-buffers verhouding op een beleid-kaart te vormen.

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

Vanaf de release van Cisco IOS XE 17.2.1 kunnen switches op basis van UADP 3.0 (Catalyst 9500 met hoge prestaties en Catalyst 9600) worden geconfigureerd om de Active Queue Management (AQM)-buffers tussen de twee kernen binnen dezelfde ASIC te delen.

- Een poort die is geconfigureerd met bufferdeling maakt gebruik van een van de beschikbare AQM-buffers, ongeacht de kernen waaraan de AQM-buffers zijn toegewezen.

- Dit helpt bij het beheren van hogere verkeersuitbarstingen die de buffer van één AQM-kern zouden hebben verzadigd.

- U kunt deze functie inschakelen met de opdracht qos share-buffer in de globale configuratiemodus.

- U kunt de functie controleren met de opdracht interface voor actieve qos wachtrij die door hardware van het showplatform wordt gevoed. Dit is een globale configuratie die het hele systeem beïnvloedt.

U kunt bufferaandeel met de nrvorm van het bevel, geen qos aandeel-buffer onbruikbaar maken.

Cat9k(config)#qos share-buffer

Cat9k(config)#end

Uitvoerdruppels analyseren met wireshark

Om de aanwezigheid van microbursts op een netwerk te verifiëren, kunt u een pakketopnamegereedschap zoals Wireshark gebruiken:

- Wireshark vangt pakketten en staat u toe om netwerkverkeer in real time of post-Capture te analyseren.

- Om te identificeren welke microbursts voorkomen wanneer een daling met Wireshark gebeurt, begin het pakket vangen op de beïnvloede interface, en controleer herhaaldelijk de interface tot een outputdaling voorkomt.

- Zodra de opname is voltooid, opent u het opnamebestand in Wireshark en zoekt u naar perioden met veel verkeer gevolgd door perioden met weinig of geen verkeer. Dit zijn potentiële microbursts.

Om outputdalingen op een interface effectief te vangen en te analyseren, gebruik deze aanbevelingen:

- EPC (Embedded Packet Capture) mag niet worden gebruikt. EPC beperkt al verkeer tot een maximum van 1000 pakketten per seconde (pps), die de gegevens kunnen ongeldig maken.

- Een TX-Only SPAN van de interface waar de output druppels worden geïdentificeerd is de aanbevolen methode.

- De bron- en doelpoorten moeten dezelfde snelheid hebben, of de doelpoort moet een hogere snelheid hebben dan de bronpoort wanneer u SPAN gebruikt. Dit zorgt ervoor dat de SPAN-sessie geen extra netwerkcongestie introduceert of pakketdalingen veroorzaakt door verkeerd gematchte poortsnelheden.

- Het is belangrijk om de SPAN-sessie te verzamelen terwijl de uitvoerdruppels actief toenemen. Dit waarborgt dat u het relevante verkeer vangt en de worteloorzaak van de microburst kunt identificeren. Als de SPAN-sessie wordt verzameld nadat de druppels zijn opgetreden, kunt u het relevante verkeer niet opnemen.

Om te bevestigen of deze periodes van hoog verkeer inderdaad microbursts zijn, gebruik de Wireshark I/O grafiekeigenschap. Aangezien de I/O-grafiek een grafische weergave van netwerkverkeer in de tijd weergeeft, is het gemakkelijker om microbursts te herkennen. Om een I/O grafiek te maken, gaat u naar Statistics > I/O Graph:

Opmerking: om deze procedure aan te tonen, hebben we een pakketopname gebruikt die op een 1 Gbps interface is genomen. De stappen zijn echter hetzelfde voor het oplossen van uitvoerdalingen op elke snelle interface.

Afbeelding 2. Selecteer de I/O-grafiek.

De volgende grafiek toont een lijn die de hoeveelheid gegevens in doorgang over tijd vertegenwoordigt. Zoek naar spikes in de grafiek, die periodes van hoog verkeer aangeven. Als deze pieken worden gevolgd door periodes van weinig of geen verkeer, hebt u mogelijk een microburst geïdentificeerd.

Afbeelding 3. Toont de I/O-grafiek van de pakketopname.

Het is belangrijk om ervoor te zorgen dat alle pakketten worden geselecteerd zonder dat er een weergavefilter wordt toegepast. Selecteer bovendien de optie Line Graph en stel de Y-as in op bits om het verkeer correct te analyseren.

Afbeelding 4. Toont hoe u de optie Line Graph selecteert en de Y-as op bits instelt.

Wanneer u een grote pakketopname analyseert, is het van cruciaal belang om de specifieke periode te identificeren waarin u geïnteresseerd bent. In dit scenario kan bijvoorbeeld worden vastgesteld dat er in de buurt van 30 seconden veel verkeer is.

Als u op de piek van een pin in de I/O-grafiek klikt, wordt Wireshark ertoe gebracht dat pakket op de achtergrond te selecteren. In ons scenario, werden de pakketten 79280 en 101896 geselecteerd om een ondergroep van het pakket te creëren vangen om binnen de tijdstempels te werken waar de aanwezigheid van microbursts wordt verdacht.

Afbeelding 5. Toont hoe u een subset van de pakketopname maakt die zich op de vermoedelijke tijdstempels van de aanwezigheid van microburst concentreert.

Als u de eerste en laatste pakketten wilt exporteren die zijn geselecteerd in een nieuw bestand, selecteert u eerst het bereik en vervolgens de opgenomen radiopictogrammen.

Afbeelding 6. Toont hoe de subset van de pakketopname moet worden geëxporteerd en opgeslagen.

Nadat u het bestand hebt opgeslagen, opent u het en navigeert u terug naar de I/O-grafiek. Zorg ervoor dat het interval is ingesteld op 1 ms om de pieken op een milliseconde-basis te tekenen.

Afbeelding 7. Toont de I/O-grafiek van de geëxporteerde subset van de pakketopname.

Wanneer de grafiek wordt getoond, is het belangrijk om aren te identificeren die periodes vertegenwoordigen waar het verkeer tegen lijntarief een volledige milliseconde werd overgebracht, die de buffer om veroorzaken te vullen en waar de outputdalingen konden geproduceerd te zijn. Op een 1 Gbps interface zou dit bijvoorbeeld overeenkomen met 1.000.000 bits per milliseconde. Klik op de piek van een pin die een potentiele microburst vertegenwoordigt. Het helpt bij het identificeren van het pakket dat de uitvoerdalingen heeft veroorzaakt. Dit pakket kan dan verder worden geanalyseerd om de worteloorzaak van de microburst te bepalen en corrigerende maatregelen te nemen.

Afbeelding 8. Toont hoe u potentieel microburstverkeer in de I/O-grafiek kunt identificeren.

Waarschuwing: het is belangrijk om op de hoogte te zijn van deze beperking wanneer u Wireshark of een ander pakketopnamegereedschap op een snelle interface gebruikt. Snelle interfaces, zoals 40G en 100G, genereren een aanzienlijk volume netwerkverkeer dat het potentieel heeft om de bronnen van het systeem dat wordt gebruikt om pakketten op te nemen, te overweldigen. Bijgevolg kan dit leiden tot verloren pakketten tijdens het opnameproces en kan dit van invloed zijn op de nauwkeurigheid en volledigheid van de opgenomen gegevens.

Alternatieve benaderingen

Als u de middelen hebt uitgeput die zijn toegewezen aan een wachtrij en nog steeds een daling ervaart, moet u alternatieve opties overwegen om congestie te beheren. Dit kan zijn:

- Upgradeinterfacesnelheden. U kunt verplaatsen van 1G naar 10G, 10G naar 25G of 40G om de uitgangsbandbreedte te vergroten en de overabonnementsverhouding te verminderen.

- Verander het platform in één met een grotere per-rij/per-interfacebuffer.

- Pas toepassingsinstellingen aan om de omvang van de burst te verminderen die de uitvoerdalingen veroorzaakt.

- Gebruik een wachtrijplanner om één klasse van verkeer voorrang te geven op een andere. Met deze methode wordt prioriteit gegeven aan de bescherming van belangrijker verkeer ten koste van verhoogde druppels voor minder belangrijk verkeer.

- Voer congestiebeheeralgoritmen zoals Weighted Random Early Discard (WRED) of Weighted Tail Drop (WTD) uit om verkeer eerder te laten vallen. WRED- of WTD-drempels kunnen leiden tot de eerdere val van bursty-verkeer, wat resulteert in de automatische reductie van verzendvensters voor eindclients. Dit staat ander minder bursty verkeer toe om verminderde congestie te ontmoeten, die een minimale buffertoewijzing voor verschillende verkeersklassen tijdens periodes van hoge congestie verzekeren.

- Politieverkeer het dichtst bij de bron van een bekende toepassing met hoge bandbreedte, zoals gegevensback-ups om de frequentie en ernst van uitbarstingen op het netwerk te verminderen. Dit geeft lage bandbreedtegebieden tussen de bron en de bestemming, elders op het netwerk, meer kans om zowel het bursty verkeer als normaal netwerkverkeer effectief te beheren.

- Gebruik poortkanalen. Het is echter belangrijk om op te merken dat als gevolg van hashing, er een mogelijkheid is dat meerdere stromen worden gericht op een enkel lid, wat kan leiden tot aanhoudende druppels.

Het is belangrijk om op te merken dat sommige van deze opties meer betrokken configuraties vereisen, zoals traffic engineering, maar aanzienlijke voordelen kunnen opleveren om netwerkcongestie en uitvoerdalingen te beperken.

Gerelateerde informatie

- Cisco Catalyst 9000 switchingplatforms: QoS en wachtrij-witboek

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

- Cisco-compatibiliteitstabel voor glasvezel-naar-apparaat

- Ondersteuning voor innovatie: hoe Cisco TAC documentatie transformeert en zelfservice vereenvoudigt

- Technische ondersteuning en documentatie – Cisco Systems