De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
In dit document wordt beschreven hoe microbursts in ASR 920-routers moeten worden afgehandeld en wat het verschil is tussen bytes en percentages met de opdracht Queue-limit.
Cisco raadt kennis van de volgende onderwerpen aan:
ASR 920-serie routers
QoS-beleid
De informatie in dit document is gebaseerd op een ASR 920-router waarop de softwareversie Cisco IOS-XE 16.9.6 wordt uitgevoerd.
IXIA wordt gebruikt als verkeersgenerator van de laboratoriumtest.
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.
Microbursts worden kleine pieken in het netwerkverkeer genoemd en zijn vaak de oorzaak van de daling van de interface-uitvoer van pakketten. In Service Provider Access-netwerken komt dit bijvoorbeeld vaak voor in scenario's voor snelheidsmismatch waarbij een verkeersstroom de router binnenkomt vanuit een hogesnelheidsinterface, zoals 10 Gigabit Ethernet (GE), en uitstapt via een lage snelheidsinterface, zoals 1 GE.
Het meest voorkomende probleem dat microbustes veroorzaken bij ASR 920-routers is dat het interfacepakket in de uitvoerrichting valt. Dit gebeurt wanneer er bursts op de inkomende interface zijn die hoger zijn dan de snelheid van de uitgaande interface, voor een zeer korte periode (orde van milliseconden). Gedurende deze tijd moeten de pakketten worden gebufferd.
Op ASR 920 / RSP2-platforms is de standaardbuffer die is toegewezen voor wachtrijen op elke 1 GE-interface 48 KB, terwijl voor de wachtrijen op elke 10 GE-interface 120 KB is.
Daarnaast is er een gedeelde buffer beschikbaar van 11,75 MB. Wanneer de standaardinterfacebuffer niet voldoende is voor een reeks pakketten, kan de gedeelde buffer worden gebruikt.
Om het gebruik van de gedeelde buffer voor een interface mogelijk te maken, moet een QoS-beleid worden geconfigureerd onder die interface, dat de queue-limit parameter definieert.
Dit is een configuratievoorbeeld van wachtrijlimiet voor interface GE 0/0/1:
class-map match-all DUMMY
match qos-group 99 <--- it can be any unused group
policy-map QUEUE-LIMIT
class DUMMY
class class-default
queue-limit percent 5
interface GigabitEthernet 0/0/1
service-policy output QUEUE-LIMIT
Dit beleid komt niet overeen met enig verkeer, daarom heeft het ook geen invloed. Het enige wat dit beleid doet, is de wachtrijbuffer van interface GE 0/0/1 verhogen.
De opdracht match qos-group 99 is nodig omdat deze niet wordt ondersteund voor het configureren van de wachtrijlimiet in een klasse die geen leaf bevat, dus moet u een fictieve klassentoewijzing als bovenliggende klasse gebruiken om de opdracht wachtrijlimiet te configureren onder de leaf class-default:
ASR-920-1(config)#policy-map QUEUE-LIMIT
ASR-920-1(config-pmap)#class class-default
ASR-920-1(config-pmap-c)# queue-limit percent 5
QOS: queue-limit command not supported in non-leaf classes
queue-limit: platform params check fail
De wachtrijlimiet kan op verschillende manieren worden ingesteld:
(config-pmap-c)#queue-limit ?
<1-2097152> in bytes, <1-1677721> in us, <1-8192000> in packets by default
percent % of threshol
De parameter en de waarde moeten worden geselecteerd in overeenstemming met uw netwerkvereisten.
Om deze parameters te begrijpen en te begrijpen hoe een verandering in de waarden het buffergebruik beïnvloedt, kunt u verwijzen naar de laboratoriumtest die in de volgende sectie wordt gepresenteerd.
Opmerking: het configureren van een QoS-beleid onder poortkanaalinterfaces wordt niet ondersteund, alleen onder de fysieke interfaces van het poortkanaal
ASR-920-1(config)#interface port-channel 2
ASR-920-1(config-if)#service-policy output qos-tac
QoS: Configuration failed. Policy-map with Queueing actions not supported on EC main-interface/EFP
QoS: Configuration errors for policymap qos-tac
Cisco RSP3 Module QoS-mogelijkheden:
Voor routers met RSP3-supervisors en NCS 520 is het aantal qos-groepen dat kan worden geconfigureerd beperkt tot 0-7:
ASR-903-1(config)#class-map match-all qos-tac
ASR-903-1(config-cmap)#match qos-group ?
<0-7> Qos Group value
In de NCS 520 is er standaard een wachtrijbuffer van 2 MB gedeeld tussen alle interfaces, een externe 2 GB buffer is toegankelijk wanneer een beleidskaart met wachtrijlimiet is geconfigureerd. Er is ook een verschil in de bytes en us parameters voor de wachtrij-limiet:
ASR-520-1(config-pmap-c)# queue-limit ?
<1-8192000> in bytes, <1-40000> in us, <1-8192000> in packets by default
percent % of threshold
Zoals eerder opgemerkt, is de maximale waarde die kan worden geconfigureerd voor wachtrijlimiet in bytes 2097152, wat ongeveer 18% is van de gedeelde buffer op ASR 920-platforms (11,75 MB ~ 45898 * 256 bytes).
Als u de wachtrijlimiet echter in procenten configureert, kunt u tot 100% gaan. Om percentage en bytes te vergelijken met equivalente waarden, neemt de test bytes-waarden van 117498 tot 2097152 bytes en wachtrij-limietpercentagewaarden van 1% tot 18%:
queue-limit percent 1 <=> queue-limit 117498 bytes
queue-limit percent 2 <=> queue-limit 234996 bytes
queue-limit percent 3 <=> queue-limit 352494 bytes
queue-limit percent 4 <=> queue-limit 469992 bytes
queue-limit percent 5 <=> queue-limit 587490 bytes
queue-limit percent 6 <=> queue-limit 704988 bytes
queue-limit percent 7 <=> queue-limit 822486 bytes
queue-limit percent 8 <=> queue-limit 939984 bytes
queue-limit percent 9 <=> queue-limit 1057482 bytes
queue-limit percent 10 <=> queue-limit 1174980 bytes
queue-limit percent 11 <=> queue-limit 1292478 bytes
queue-limit percent 12 <=> queue-limit 1409976 bytes
queue-limit percent 13 <=> queue-limit 1527474 bytes
queue-limit percent 14 <=> queue-limit 1644972 bytes
queue-limit percent 15 <=> queue-limit 1762470 bytes
queue-limit percent 16 <=> queue-limit 1879968 bytes
queue-limit percent 17 <=> queue-limit 1997466 bytes
queue-limit percent 18 <=> queue-limit 2097152 bytes
Er worden 36 beleidskaarten geconfigureerd: 18 met wachtrijgrenswaarden die variëren van 1 % tot 18 % en de andere 18 met wachtrijgrenswaarden die variëren van 117498 tot 2097152 bytes.
policy-map QUEUE-LIMIT-PERCENT-X
class DUMMY
class class-default
queue-limit percent X
policy-map QUEUE-LIMIT-BYTES-X
class DUMMY
class class-default
queue-limit Y bytes
=> X values range from 1 to 18
=> Y values range from 117498 to 2097152
Elk beleid wordt getest tegen hetzelfde microburst-verkeer, dat wordt gegenereerd met IXIA. Dit verkeer komt aan op een 10 GE-poort van de ASR 920 en verlaat op een 1 GE-poort van dezelfde router.
De bursts bestaan uit 20000 pakketten met 4 Gbps met intervallen van 5 seconden. Dit is de duur van de burst gegeven een specifieke pakketgrootte:
1280000 bytes at 64 packet size, Burst duration: 0.00256 second
4000000 bytes at 200 packet size, Burst duration: 0.008 second
6000000 bytes at 300 packet size, Burst duration: 0.012 second
10360000 bytes at 518 packet size, Burst duration: 0.02072 second
16000000 bytes at 800 packet size, Burst duration: 0.032 second
20480000 bytes at 1024 packet size, Burst duration: 0.04096 second
28000000 bytes at 1400 packet size, Burst duration: 0.056 second
Stap 1. Pas de policy-map QUEUE-LIMIT-BYTES-X (X=1) met bytes Y=117498 toe onder de uitgaande interface.
Stap 2. Voer microburst-verkeer gedurende 1 minuut uit.
Stap 3. Meet het totale aantal pakketten in de uitvoer en hoeveel pakketten er zijn gevallen.
Stap 4. Bereken de verhouding tussen gedropte pakketten en totale uitvoerpakketten.
Stap 5. Herhaal een keer vanaf stap 1, gebruik deze keer policy-map QUEUE-LIMIT-PERCENT-X met queue-limit percent X, waarbij X=1.
Stap 6. Herhaal vanaf stap 1 met X=X+1 voor de naam van de beleidskaart en percentagewaarde, Y=Y+117498 bytes. Herhaal dit tot X=18 en Y=2097152.
Meting met QUEUE-LIMIT-BYTES-1 policy-map:
ASR-920-1#show int Gi0/0/1
GigabitEthernet0/0/1 is up, line protocol is up
Hardware is 24xGE-4x10GE-FIXED-S, address is 70df.2f2f.ed01 (bia 70df.2f2f.ed01)
Internet address is 10.12.10.47/31
MTU 8900 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
reliability 255/255, txload 4/255, rxload 4/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full Duplex, 1000Mbps, link type is auto, media type is T
output flow-control is unsupported, input flow-control is on
Carrier delay is 0 msec
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:01, output 00:00:02, output hang never
Last clearing of "show interface" counters never
Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 684263427
Queueing strategy: Class-based queueing
Output queue: 0/40 (size/max)
30 second input rate 19475000 bits/sec, 19533 packets/sec
30 second output rate 19157000 bits/sec, 13356 packets/sec
5064106237 packets input, 4333296255278 bytes, 0 no buffer
Received 29 broadcasts (0 IP multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 726180 multicast, 0 pause input
7829367523 packets output, 4217074973677 bytes, 0 underruns
0 output errors, 0 collisions, 3 interface resets
0 unknown protocol drops
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 pause output
0 output buffer failures, 0 output buffers swapped out
ASR-920-1#show policy-map int Gi0/0/1 output
GigabitEthernet0/0/1
Service-policy output: QUEUE-LIMIT-BYTES-1
Class-map: DUMMY (match-all)
0 packets, 0 bytes
30 second offered rate 0000 bps
Match: qos-group 99
Class-map: class-default (match-any)
1044078 packets, 73085460 bytes
30 second offered rate 9759000 bps, drop rate 0000 bps
Match: any
queue limit 117498 bytes
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
Meting na 1 minuut microburst-verkeer:
ASR-920-1#show int Gi0/0/1
GigabitEthernet0/0/1 is up, line protocol is up
Hardware is 24xGE-4x10GE-FIXED-S, address is 70df.2f2f.ed01 (bia 70df.2f2f.ed01)
Internet address is 10.12.10.47/31
MTU 8900 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
reliability 255/255, txload 2/255, rxload 3/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full Duplex, 1000Mbps, link type is auto, media type is T
output flow-control is unsupported, input flow-control is on
Carrier delay is 0 msec
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:01, output 00:00:01, output hang never
Last clearing of "show interface" counters never
Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 684561562
Queueing strategy: Class-based queueing
Output queue: 0/40 (size/max)
30 second input rate 13981000 bits/sec, 19643 packets/sec
30 second output rate 11256000 bits/sec, 12784 packets/sec
5064715137 packets input, 4333338878716 bytes, 0 no buffer
Received 29 broadcasts (0 IP multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 726190 multicast, 0 pause input
7829753878 packets output, 4217102018968 bytes, 0 underruns
0 output errors, 0 collisions, 3 interface resets
0 unknown protocol drops
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 pause output
0 output buffer failures, 0 output buffers swapped out
ASR-920-1#show policy-map int Gi0/0/1 output
GigabitEthernet0/0/1
Service-policy output: QUEUE-LIMIT-BYTES-1
Class-map: DUMMY (match-all)
0 packets, 0 bytes
30 second offered rate 0000 bps
Match: qos-group 99
Class-map: class-default (match-any)
1847215 packets, 129305050 bytes
30 second offered rate 10804000 bps, drop rate 0000 bps
Match: any
queue limit 117498 bytes
(queue depth/total drops/no-buffer drops) 0/387570/0
(pkts output/bytes output) 656508/45955560
Packet drops delta: 684561562 – 684263427 = 298135
Totale uitvoer pakketten delta: 7829753878 – 7829367523 = 386355
Verhouding tussen pakketdruppels en pakketten uit: 298135 / 386355 = 77%
Zoals uitgelegd, worden 36 beleidskaarten getest: 18 die zijn geconfigureerd met wachtrijgrenswaarden die variëren van 1% tot 18%, worden getest in vergelijking met de andere 18 beleidsregels die zijn geconfigureerd met wachtrijgrenswaarden die variëren van 117498 tot 2097152 bytes. Elke policy-map wordt getest tegen hetzelfde microburst-verkeer, gegenereerd met IXIA.
In deze sectie worden de resultaten van deze test 7 keer herhaald om de resultaten met verschillende pakketgroottes te controleren, in bytes: 64, 200, 300, 518, 800, 1024, 1400.
Om het lezen te vergemakkelijken, worden de resultaten voor elke pakketgrootte in een tabel weergegeven en vervolgens gegrafieerd.
-------------------------------------------------------------------
Policy-map | Drop rate with PC | Drop rate with Bytes
-------------------------------------------------------------------
QL Bytes/Percent 1 | 81% | 77%
QL Bytes/Percent 2 | 72% | 31%
QL Bytes/Percent 3 | 61% | 15%
QL Bytes/Percent 4 | 54% | 0%
QL Bytes/Percent 5 | 45% | 0%
QL Bytes/Percent 6 | 38% | 0%
QL Bytes/Percent 7 | 33% | 0%
QL Bytes/Percent 8 | 26% | 0%
QL Bytes/Percent 9 | 22% | 0%
QL Bytes/Percent 10 | 17% | 0%
QL Bytes/Percent 11 | 12% | 0%
QL Bytes/Percent 12 | 8% | 0%
QL Bytes/Percent 13 | 4% | 0%
QL Bytes/Percent 14 | 1% | 0%
QL Bytes/Percent 15 | 0% | 0%
QL Bytes/Percent 16 | 0% | 0%
QL Bytes/Percent 17 | 0% | 0%
QL Bytes/Percent 18 | 0% | 0%
-------------------------------------------------------------------

-------------------------------------------------------------------
Policy-map | Drop rate with PC | Drop rate with Bytes
-------------------------------------------------------------------
QL Bytes/Percent 1 | 82% | 80%
QL Bytes/Percent 2 | 72% | 63%
QL Bytes/Percent 3 | 63% | 52%
QL Bytes/Percent 4 | 54% | 39%
QL Bytes/Percent 5 | 46% | 42%
QL Bytes/Percent 6 | 51% | 17%
QL Bytes/Percent 7 | 32% | 18%
QL Bytes/Percent 8 | 27% | 3%
QL Bytes/Percent 9 | 22% | 3%
QL Bytes/Percent 10 | 17% | 3%
QL Bytes/Percent 11 | 12% | 0%
QL Bytes/Percent 12 | 8% | 0%
QL Bytes/Percent 13 | 5% | 0%
QL Bytes/Percent 14 | 1% | 0%
QL Bytes/Percent 15 | 0% | 0%
QL Bytes/Percent 16 | 0% | 0%
QL Bytes/Percent 17 | 0% | 0%
QL Bytes/Percent 18 | 0% | 0%
-------------------------------------------------------------------

-------------------------------------------------------------------
Policy-map | Drop rate with PC | Drop rate with Bytes
-------------------------------------------------------------------
QL Bytes/Percent 1 | 84% | 106%
QL Bytes/Percent 2 | 72% | 72%
QL Bytes/Percent 3 | 62% | 63%
QL Bytes/Percent 4 | 54% | 52%
QL Bytes/Percent 5 | 46% | 46%
QL Bytes/Percent 6 | 39% | 34%
QL Bytes/Percent 7 | 33% | 34%
QL Bytes/Percent 8 | 27% | 22%
QL Bytes/Percent 9 | 21% | 21%
QL Bytes/Percent 10 | 23% | 20%
QL Bytes/Percent 11 | 13% | 2%
QL Bytes/Percent 12 | 9% | 2%
QL Bytes/Percent 13 | 5% | 2%
QL Bytes/Percent 14 | 1% | 1%
QL Bytes/Percent 15 | 0% | 2%
QL Bytes/Percent 16 | 0% | 1%
QL Bytes/Percent 17 | 0% | 2%
QL Bytes/Percent 18 | 0% | 0%
-------------------------------------------------------------------

-------------------------------------------------------------------
Policy-map | Drop rate with PC | Drop rate with Bytes
-------------------------------------------------------------------
QL Bytes/Percent 1 | 85% | 86%
QL Bytes/Percent 2 | 97% | 81%
QL Bytes/Percent 3 | 62% | 71%
QL Bytes/Percent 4 | 54% | 68%
QL Bytes/Percent 5 | 46% | 84%
QL Bytes/Percent 6 | 52% | 54%
QL Bytes/Percent 7 | 42% | 54%
QL Bytes/Percent 8 | 27% | 43%
QL Bytes/Percent 9 | 21% | 43%
QL Bytes/Percent 10 | 17% | 43%
QL Bytes/Percent 11 | 17% | 34%
QL Bytes/Percent 12 | 8% | 35%
QL Bytes/Percent 13 | 5% | 26%
QL Bytes/Percent 14 | 1% | 23%
QL Bytes/Percent 15 | 0% | 26%
QL Bytes/Percent 16 | 0% | 34%
QL Bytes/Percent 17 | 0% | 26%
QL Bytes/Percent 18 | 0% | 2%
-------------------------------------------------------------------

-------------------------------------------------------------------
Policy-map | Drop rate with PC | Drop rate with Bytes
-------------------------------------------------------------------
QL Bytes/Percent 1 | 112% | 117%
QL Bytes/Percent 2 | 74% | 86%
QL Bytes/Percent 3 | 63% | 82%
QL Bytes/Percent 4 | 54% | 75%
QL Bytes/Percent 5 | 47% | 73%
QL Bytes/Percent 6 | 39% | 66%
QL Bytes/Percent 7 | 33% | 88%
QL Bytes/Percent 8 | 27% | 56%
QL Bytes/Percent 9 | 22% | 57%
QL Bytes/Percent 10 | 17% | 57%
QL Bytes/Percent 11 | 13% | 44%
QL Bytes/Percent 12 | 9% | 56%
QL Bytes/Percent 13 | 5% | 43%
QL Bytes/Percent 14 | 2% | 44%
QL Bytes/Percent 15 | 0% | 43%
QL Bytes/Percent 16 | 0% | 43%
QL Bytes/Percent 17 | 0% | 44%
QL Bytes/Percent 18 | 0% | 21%
-------------------------------------------------------------------

-------------------------------------------------------------------
Policy-map | Drop rate with PC | Drop rate with Bytes
-------------------------------------------------------------------
QL Bytes/Percent 1 | 85% | 93%
QL Bytes/Percent 2 | 97% | 89%
QL Bytes/Percent 3 | 82% | 83%
QL Bytes/Percent 4 | 51% | 82%
QL Bytes/Percent 5 | 45% | 78%
QL Bytes/Percent 6 | 39% | 72%
QL Bytes/Percent 7 | 41% | 72%
QL Bytes/Percent 8 | 26% | 62%
QL Bytes/Percent 9 | 20% | 65%
QL Bytes/Percent 10 | 16% | 66%
QL Bytes/Percent 11 | 11% | 68%
QL Bytes/Percent 12 | 7% | 53%
QL Bytes/Percent 13 | 3% | 53%
QL Bytes/Percent 14 | 0% | 52%
QL Bytes/Percent 15 | 0% | 52%
QL Bytes/Percent 16 | 0% | 53%
QL Bytes/Percent 17 | 0% | 52%
QL Bytes/Percent 18 | 0% | 33%
-------------------------------------------------------------------

-------------------------------------------------------------------
Policy-map | Drop rate with PC | Drop rate with Bytes
-------------------------------------------------------------------
QL Bytes/Percent 1 | 101% | 93%
QL Bytes/Percent 2 | 68% | 87%
QL Bytes/Percent 3 | 58% | 86%
QL Bytes/Percent 4 | 50% | 85%
QL Bytes/Percent 5 | 43% | 82%
QL Bytes/Percent 6 | 36% | 75%
QL Bytes/Percent 7 | 27% | 79%
QL Bytes/Percent 8 | 24% | 72%
QL Bytes/Percent 9 | 25% | 76%
QL Bytes/Percent 10 | 14% | 95%
QL Bytes/Percent 11 | 9% | 62%
QL Bytes/Percent 12 | 5% | 62%
QL Bytes/Percent 13 | 1% | 58%
QL Bytes/Percent 14 | 0% | 62%
QL Bytes/Percent 15 | 0% | 85%
QL Bytes/Percent 16 | 0% | 63%
QL Bytes/Percent 17 | 0% | 62%
QL Bytes/Percent 18 | 0% | 50%
-------------------------------------------------------------------

Zoals gezegd heeft de ASR 920 een interne pakketbuffer van 11,75 MB die is verdeeld in 45898 Qnodes van elk 256 bytes.
Daarom kunt u een kleinere hoeveelheid grote pakketten opslaan dan wat u met kleine pakketten kunt opslaan. De relatie tussen drop rate en pakketgrootte bij equivalente wachtrij-limietgroottes wordt verwacht.
Zoals uitgelegd, zijn er 45898 Qnodes in de 11,75 MB gedeelde buffer, afgerond op 45900 voor het gemak van de berekening.
De berekening van de wachtrijlimiet procent berekent niet het percentage van de 11,75 MB, maar dat van de 45900 Qnodes. Dus, wachtrij-limiet procent 10 betekent 10% van 45900, wat 4590 Qnodes geeft.
Bovendien wordt het percentage toegewezen Qnodes beschouwd als het aantal pakketten dat onafhankelijk van de grootte in de wachtrij kan worden opgeslagen. Terug naar het vorige voorbeeld:
wachtrij-limiet percentage 10 = 4590 Qnodes = 4590 pakketten.
Aangezien deze berekening onafhankelijk is van de pakketgrootte, wordt voor pakketten met een grootte van 256 bytes of minder slechts één Qnode daadwerkelijk gebruikt en blijft de equivalentie tussen Qnodes en pakketten behouden:
queue-limit percentage 10 = 4590 Qnodes = 4590 pakketten van 256 bytes = 4590 * 256 bytes = 1,175 MB = 10% van de buffer
Bij grotere pakketten wordt echter een royaler deel van de buffer toegewezen. Dit is bijvoorbeeld de berekening voor pakketten van 1024 bytes, waarbij elk pakket 4 Qnodes verbruikt:
queue-limit percentage 10 = 4590 Qnodes = 4590 pakketten van 1024 bytes = 4590*4*256 bytes = 4,7 MB = 40% van de buffer
Let op: het wordt niet aanbevolen om hoge waarden van wachtrij-limiet procent te configureren.
Als u hoge waarden van wachtrijlimietpercentage configureert, kan een enkele interface tijdelijk alle gedeelde buffer van 11,75 MB innemen.
In het geval dat u pakketten hebt met een grootte van 256 bytes en een wachtrijlimiet van 10%, weet u al dat deze equivalentie geldig is:
minimum queue-limit = 4590 Qnodes = 4590*256 bytes = 1.175 MB = 10% of the buffer
Met 512 bytes pakketten alleen het gebruik is het dubbele, met 1024 bytes alleen pakketten is het vier keer zoveel, enzovoort.
Dit betekent dat de werkelijke wachtrijlimiet minimaal 10% van de buffer is en, als u uitgaat van een maximale MTU van 1500 bytes, hebt u 6 Qnodes nodig om een enkel pakket op te slaan, wat een maximale wachtrijlimiet geeft van:
maximum queue-limit = 4590*6 Qnodes = 4590*256*6 bytes = 7.05 MB = 60% of the buffer
Op deze manier kunt u de onder- en bovengrenzen van het buffergebruik definiëren met wachtrijlimiet procent 10, dus meer in het algemeen is het gemiddelde maximale buffergebruik ongeveer:
ceil(avg_pkt_size/256)*((qlimit_percent/45900)*100)
Voorbeeld van een laboratoriumapparatuur:
GigabitEthernet0/0/1 is up, line protocol is up
Hardware is 24xGE-4x10GE-FIXED-S, address is 70df.2f2f.ed01 (bia 70df.2f2f.ed01)
Internet address is 10.12.10.47/31
MTU 8900 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
reliability 255/255, txload 25/255, rxload 30/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full Duplex, 1000Mbps, link type is auto, media type is T
output flow-control is unsupported, input flow-control is on
Carrier delay is 0 msec
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:00, output 00:00:01, output hang never
Last clearing of "show interface" counters 00:11:43
Input queue: 0/375/0/0 (size/max/drops/flushes); Total output drops: 2036062
Queueing strategy: Class-based queueing
Output queue: 0/40 (size/max)
30 second input rate 118520000 bits/sec, 18902 packets/sec
30 second output rate 101646000 bits/sec, 16124 packets/sec
13185272 packets input, 10328798549 bytes, 0 no buffer
Received 0 broadcasts (0 IP multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 235 multicast, 0 pause input
11247114 packets output, 8870166880 bytes, 0 underruns <<< avg_pkt_size = 8870166880/11247114 = 788.66 bytes
0 output errors, 0 collisions, 0 interface resets
0 unknown protocol drops
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 pause output
0 output buffer failures, 0 output buffers swapped out
U kunt de avg_pkt_size berekenen als 8870166880/11247114 ~ 788 bytes.
Met een wachtrijlimiet van procent 10 hebt u een gemiddeld maximaal buffergebruik van:
ceil(avg_pkt_size/256)*((45900/100)*qlimit_percent)
Calculation example with Python:
>>> import math
>>> math.ceil(788/256)*((45900/100)*10)
18360.0
=> 18360 Qnodes = 18360 * 256 bytes = 4.7 MB = 40% of the buffer
In Cisco IOS-XE-releases vóór 16.9.3 werd de gedeelde buffer van de interfaces gebruikt voor zowel gegevens- als controlepakketten (zoals BFD, routeringsprotocollen, ARP, LDP, punt keepalives). Om het directe buffergebruik te controleren, kunt u deze opdracht gebruiken:
ASR-920-1#request platform software sdcli "nile bm reg buffertablefreelistcount show 0 0 0"
Na 16.9.3 zijn enkele wijzigingen aangebracht om het buffergebruik te verbeteren en is het opgesplitst in 2: 1024 vermeldingen (256KB) zijn gereserveerd voor controleverkeer en de rest is gereserveerd voor dataverkeer.
Het buffergebruik kan in dit geval worden gecontroleerd met de volgende opdrachten:
ASR-920-1#request platform software sdcli "nile bm reg supervisorresourcereservedcounttableaccess sh 0 0 0"
reservedUsedCount = 48 (0x30)
reservedFreeCount = 976 (0x3d0)
ASR-920-1#request platform software sdcli "nile bm reg supervisorresourcereservedcounttableaccess sh 0 2 0"
reservedUsedCount = 8114 (0x1fb2)
reservedFreeCount = 37784 (0x9398)
Merk op dat, gezien het feit dat de buffer microbursts verwerkt, u de opdracht vele malen moet herhalen om de gereserveerde waarde UsedCount te zien verschillen van 0.
Het buffergebruik kan eenvoudig worden berekend met reservedUsedCount/reservedFreeCount, bijvoorbeeld 8114/37784 = 21,5% gebruikt. Zodra de burst voorbij is, moet de buffer snel terugvallen naar 0 of dicht bij.
Vanaf Cisco IOS-XE release 17.6.1 is het mogelijk om te kiezen voor het gebruik van de gehele buffer voor zowel data- als besturingsverkeer (bij voorkeur als uw netwerk een hoge mate van besturingsverkeer heeft) of de buffer in 2 te splitsen zoals eerder beschreven. De keuze wordt gemaakt met de configuratie van deze instructie (standaard uitgeschakeld):
ACDC-920-1(config)#platform qos-buffer enhance enable
ACDC-920-1(config)#no platform qos-buffer enhance enable
Vanaf Cisco IOS-XE release 17.7.1 is het ook mogelijk om de grootte te kiezen die moet worden toegewezen aan het besturingsverkeer:
ACDC-920-1(config)#platform qos-buffer enhance [1-4]
Waarbij:
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
1.0 |
10-Oct-2022
|
Eerste vrijgave |
Feedback