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.
Dit document beschrijft hoe de toewijzing van wachtrijbuffers aan verkeerswachtrijen op Catalyst 9000 Series Switches kan worden voorspeld.
Cisco raadt kennis van de volgende onderwerpen aan:
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
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.
Dit document kan ook worden gebruikt voor de volgende hardware- en softwareversies:
Opmerking: dit document is niet van toepassing op de 9500X of 9600X omdat deze een andere ASIC- en QoS-architectuur gebruiken.
Zie voor een technisch overzicht van QoS op Catalyst 9000 Series Switches: Catalyst 9000 QoS- en wachtrij-witboek.
Vaak moet de buffertoewijzing worden afgestemd als reactie op ongewenste outputdalingen voor een bepaalde verkeersklasse. Meer informatie over het diagnosticeren en oplossen van uitvoerdruppels op Catalyst 9000 Series Switches vindt u in dit artikel: Probleemoplossing van uitvoerdruppels op Catalyst 9000 Switches
QoS |
Quality-of-Service |
Een concept/groep verwante functies die betrekking hebben op classificatie, markering, wachtrij en planning van verkeer in en uit een netwerkapparaat |
DSCP |
Differentiated Services Code Point |
Een mechanisme van de verkeersclassificatie in de IP-Kop van een pakket |
CoS |
Klasse van service |
Een mechanisme van de verkeersclassificatie in de Ethernet kaderkopbal van een pakket |
ACE |
Access Control-vermeldingen |
Eén regel of regel in een toegangscontrolelijst (ACL) |
ACL |
Toegangscontrolelijst |
Een groep toegangscontrolevermeldingen (ACE’s) die door verschillende functies worden gebruikt om verkeer aan te passen en een actie te ondernemen |
ASIC |
Toepassingsspecifieke geïntegreerde schakeling |
Een computerchip die is ontworpen om een specifieke taak of een specifieke reeks taken met een hoge efficiëntie uit te voeren. |
UADP |
Unified Access-dataplane |
Cisco ASA die in Catalyst 9000 Series Switches wordt gebruikt om veel verwerkingstaken voor netwerkpakketten uit te voeren. |
PBC |
Packet buffer complex |
Cisco UADP ASIC-subsysteem dat fungeert als centrale pakketbuffer voor het verwerken, in de wachtrij plaatsen en plannen van pakketten. |
AQM |
Active Queue-beheer |
Cisco UADP ASIC-subsysteem dat verkeerswachtrijen beheert en acties voor netwerkpoorten plant. |
DTS |
Dynamische drempelwaarde en schaal |
Cisco UADP ASIC-technologie die buffers dynamisch aanpast en schaalt over poorten om hardwaregebruik te optimaliseren |
Als concept, buffers zijn geheugen dat wordt gebruikt om tijdelijke uitbarstingen van gegevens te absorberen, wanneer de gegevens die worden geschakeld of gerouteerd naar een poort die poortcapaciteit overschrijdt om gegevens op de draad te zetten. Een poort heeft een vaste snelheid voor het verzenden en verwijderen van gegevens uit de wachtrij. Een buffer, conceptueel, is eenvoudig een plaats, of rij, gegevens op te slaan tot het uit de interface wordt overgebracht.
Op Catalyst 9000 Series Switches heeft de woordbuffer twee toepassingen. De systeembuffer wordt ook wel het pakketbuffercomplex (PBC) van de ASIC genoemd. Het woord buffers kan ook verwijzen naar kleine eenheden van de PBC. Een buffer wordt toegewezen aan poorten per wachtrij. Met andere woorden, een poortwachtrij krijgt een hoeveelheid kleine individuele buffers uit de totale systeembuffer toegewezen.
Op Cisco UADP ASIC-gebaseerde platforms bevat één buffer maximaal 256 bytes aan gegevens en buffers zijn aan elkaar gekoppeld om frames te vertegenwoordigen die groter zijn dan 256 bytes.
De uiteindelijke berekening van de beschikbare buffer per wachtrij wordt door deze factoren beïnvloed:
Zachte buffers zijn buffers die over poorten worden gedeeld. Deze buffers worden zacht genoemd omdat zij niet aan de haven worden gegarandeerd.
Het systeem over wijst met opzet zachte buffers toe. Dit staat elke poort toe om een groot aantal buffers te gebruiken indien nodig, maar omdat meer poorten buffers nodig hebben, worden alle poorten en wachtrijen dynamisch en eerlijk afgebroken als deel van het Cisco UADP ASIC DTS-proces.
Samenvattend, zachte buffers - in outputs aangeduid als softmax, is een opportunistische maximumwaarde. Een poort gebruikt alleen de volledige softmax als die hoeveelheid buffer beschikbaar is uit de totale systeembuffer. Aangezien de buffervraag over andere havens en rijen stijgt, is de maximumbuffer beschikbaar aan de haven minder.
Harde buffers zijn buffers die expliciet gereserveerd zijn voor een poort en worden niet beïnvloed door het DTS-proces. Omdat harde buffers gegarandeerde buffers zijn, overschrijdt de som van de totale harde buffers die aan poorten worden toegewezen nooit het PBC-segment dat aan deze harde buffers wordt gewijd.
De mechanismen die de actieve schaal van zachte buffer bepalen, staan bekend als DTS (Dynamic Threshold and Scale), zoals beschreven in het document in Catalyst 9000 Series QoS White Paper.
De grootte van de PBC-segmenten die zijn gewijd aan de wachtrij van harde en zachte buffers verandert dynamisch als u het systeem configureert, en kan worden gezien als AQM GlobalSoftLimit en GlobalHardLimit in deze uitvoer:
C9500#show platform hardware fed active qos queue stats interface twe1/0/1
----------------------------------------------------------------------------------------------
AQM Global counters
GlobalHardLimit: 18072 | GlobalHardBufCount: 0
GlobalSoftLimit: 37224 | GlobalSoftBufCount: 0
C9500#show platform hardware fed active qos queue config interface tw1/0/1 Asic:0 Core:1 DATA Port:20 GPN:101 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 160 - 167 DrainFast:Disabled PortSoftStart:2 - 4320 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 2 480 3 1920 16 960 0 0 4 5760 En <--- default configuration has a mix of hard buffer and soft buffer in queue 0 1 1 0 0 4 2880 16 1440 8 720 4 5760 En <--- default configuration has two queues so some buffers are seen in queue 1
<snip>
C9500(config)#policy-map test
C9500(config-pmap)#class class-default
C9500(config-pmap-c)#priority level 1 <--- Priority level 1 queue configuration on first queue, which is queue 0 in the next output
C9500(config-pmap-c)#exit
C9500(config-pmap)#exit
C9500(config)#int tw1/0/1
C9500(config-if)#service-policy output test
C9500(config-if)#end
C9500#show platform hardware fed active qos queue config interface twe1/0/1
Asic:0 Core:1 DATA Port:20 GPN:101 LinkSpeed:0x12
AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 160 - 167
DrainFast:Disabled PortSoftStart:4 - 1800 BufferSharing:Disabled
DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable
----- -------- -------- -------- -------- --------- -------
0 1 4 1200 7 1200 0 0 0 0 3 2400 En <--- Hardmax increased to 1200 from 480 in queue 0, softmax reduced to 1200 from 1920
1 1 0 0 0 0 0 0 0 0 3 2400 En <--- queue 1 now no longer has any values, as no second queue is configured
C9500#show platform hardware fed active qos queue stats interface twe1/0/1
----------------------------------------------------------------------------------------------
AQM Global counters
GlobalHardLimit: 18792 | GlobalHardBufCount: 0 <--- GlobalHardLimit increased to 18792 from 18072, or by 720
GlobalSoftLimit: 36504 | GlobalSoftBufCount: 0 <--- GlobalSoftLimit decreased from 37224 to 36504, or by 720
Opmerking: Let op de toename in GlobalHardLimit en de proportionele afname in GlobalSoftLimit.
Verder, wanneer u prioriteitsniveau 1 configureert, wordt de softmax voor die wachtrij statisch ingesteld op precies gelijk aan de hardmax. U kunt de vaste buffer alleen aanpassen voor een wachtrij op prioriteitsniveau 1.
De verandering in GlobalHardLimit en GlobalSoftLimit is gelijk aan 720. Dit is ook gelijk aan de verandering in hardmax na configuratie.
De scenario's in dit document leggen uit hoe softmax en hardmax toewijzingen berekend en voorspeld kunnen worden over meerdere beleidskaartconfiguraties.
Een wachtrij definitieve bufferwaarde is gedeeltelijk een functie van een basiswaarde die eerst over wachtrijen wordt toegewezen. Dit wordt later vermenigvuldigd in het geval van zachte buffers.
De vermenigvuldigingsfactoren, in combinatie met ander impliciet gedrag, maken bepaling van een eindwaarde voor een bepaalde rij, met een bepaalde configuratie, een uitdaging.
De eerste stap om de resulterende toewijzing van wachtrijbuffers te verduidelijken is het bepalen van de basisbufferwaarde.
Om dit te doen, hefboomwerking een prioriteitsrij, die harde buffer direct proportioneel of aan aantal rijen of gevormde rij-buffers verhouding ontvangt.
Met een specifieke configuratie kunt u expliciet de hoeveelheid basisbuffer afleiden die is toegewezen aan een bepaalde poortsnelheid.
Alle buffer configureren en toewijzen aan een enkele niet-vermenigvuldigde wachtrij (een prioriteitsniveau 1 wachtrij)
In dit voorbeeld, wordt de klasse-gebrek klasse gebruikt om al verkeer aan te passen, omdat geen andere klassen worden gevormd.
Switch(config)#policy-map test1
Switch(config-pmap)#class class-default
Switch(config-pmap-c)#priority level 1 <--- Assign hard buffer to the port, which is not affected by multipliers
Switch(config-pmap-c)#queue-buffers ratio 100 <--- Assign all buffers to this queue only
De configuratie in het vorige voorbeeld voert de volgende acties uit:
De wachtrij-bufferverhouding 100 wijst 100/100 of 100% van de beschikbare basisbuffer toe aan deze wachtrij/klasse.
In een policy-map met meer dan één klasse, kunt u niet 100% van de buffer aan één klasse toewijzen. Je moet minimaal 1/100 of 1% toewijzen aan elke klasse.
In een beleid met slechts één klasse, heb je slechts één klasse en kun je alle buffer aan het toewijzen.
Zoals eerder opgemerkt, krijgt een prioriteitswachtrij harde buffers gelijk aan de verdeling van de basisbuffer volgens de ingestelde wachtrij-buffers ratio. Een harde buffer is niet onderhevig aan enige multiplier.
Harde buffer wordt waargenomen in outputs onder een kolom met de naam Hardmax.
Nu heb je een enkele verkeersklasse met buffers niet onderworpen aan enige multiplier. Met dit, kunt u uitdrukkelijk de toewijzing van de basisbuffer voor deze poortsnelheid (en slechts deze poortsnelheid op dit platform, anderen verschillen) afleiden, omdat de basisbuffer en hardmax gelijk zijn.
Basisbuffer = ?
Queue-ratio 1 = 100/100 = 1
Hardmax voor deze wachtrij = basisbuffer x wachtrij ratio 1
X = Y x 1
X / 1 = Y
X = Y
X = Y = Hardmax = basisbuffer = 1200 (zie voorbeeld 2).
In dit voorbeeld, wordt beleid-kaart test1 toegepast op een interface als output dienst-beleid
9500H(config)#int tw1/0/3
9500H(config-if)#service-policy output test1 <--- service policy that assigns all buffer to the first queue, as a priority queue 1
9500H#show platform hardware fed active qos queue config interface tw1/0/3 Asic:0 Core:1 DATA Port:22 GPN:103 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 176 - 183 DrainFast:Disabled PortSoftStart:4 - 1800 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 4 1200 7 1200 0 0 0 0 3 2400 En <--- hardmax 1200 - the maximum amount of buffer this port can use without multiplication 1 1 0 0 0 0 0 0 0 0 3 2400 En 2 1 0 0 0 0 0 0 0 0 3 2400 En 3 1 0 0 0 0 0 0 0 0 3 2400 En 4 1 0 0 0 0 0 0 0 0 3 2400 En 5 1 0 0 0 0 0 0 0 0 3 2400 En 6 1 0 0 0 0 0 0 0 0 3 2400 En 7 1 0 0 0 0 0 0 0 0 3 2400 En
<snip>
Zoals getoond, is de hardmax voor deze prioriteitsrij met 100% van de buffer toegewezen, 1200.
Aangezien hardmax een volledig ongevermenigvuldigde / ongeschaalde waarde is en 100% van de buffer is geconfigureerd voor deze wachtrij, is de basisbuffertoewijzing voor dit specifieke model van switch, softwareversie en specifieke poortsnelheid 1200.
Andere poortsnelheden op deze zelfde switch, en andere modellen van switches voor de zelfde havensnelheid, ontvangen verschillende basisbuffertoewijzingen. Deze basisallocatie is niet door de gebruiker configureerbaar en moet via observatie worden afgeleid.
Verdere scenario's in dit document beginnen allemaal met dezelfde switch, software en poortsnelheid. Dus gaan ze allemaal uit van een basisallocatie van 1200 voor berekeningen om de uiteindelijke bufferallocatie te bepalen.
Opmerking: De softmax in het vorige voorbeeld is ook 1200.
Door ontwerp, een prioriteitsniveau 1 rij heeft softmax precies gelijk aan zijn hardmax. Dit is bedoeld en kan niet door de gebruiker worden geconfigureerd.
Verder wordt dit specifieke geval van softmax-allocatie niet beïnvloed door softmax-multipliers die later worden getoond. Alleen een prioriteitsniveau 1 wachtrij heeft dit gedrag voor softmax, dat is bedoeld.
In dit scenario wordt een extra wachtrij toegevoegd. Deze wachtrij gebruikt geen prioriteitsniveau 1, en dus softmax schalen met multipliers.
Eén multiplier is door de gebruiker ingesteld en de andere een verborgen / niet configureerbare multiplier.
Combineer deze multipliers met de basisbuffer afgeleid voor deze poort, in dit geval 1200 volgens scenario 1.
Algoritmisch:
Huidige wachtrijverhouding = wachtrij-bufferverhouding voor de te voorspellen wachtrij/klasse
Verborgen multiplier = 400%
Gebruiker Multiplier = Percentage waarde die u in qos wachtrij-softmax-multiplier <procent> configureert. Standaard is 100%
Softmax = ( Base Buffer x (huidige wachtrij ratio / 100) x Verborgen Multiplier x (User Multiplier / 100)
9500H(config)#policy-map test2
9500H(config-pmap)# class class1
9500H(config-pmap-c)# priority level 1
9500H(config-pmap-c)# queue-buffers ratio 50 <-- class 1 / first queue gets 50% of base buffer
9500H(config-pmap-c)# class class-default
9500H(config-pmap-c)# bandwidth remaining percent 100 <-- required configuration due to priority queue, can be ignored for this example
9500H(config-pmap-c)# queue-buffers ratio 50 <-- class 2 / first queue gets 50% of base buffer
Samenvatting van waarden:
Bepaal klasse 1-buffertoewijzing:
Omdat class1 een prioriteitswachtrij is, ontvangt het hardmax (harde buffer) en een speciaal geval van softmax dat niet beïnvloed wordt door multipliers.
Class1 hardmax = (Base Buffer x Current Queue Ratio (class1) / 100)
Class1 hardmax = 1200 x (50/100) = 600 - vanwege een speciaal geval van een prioriteitswachtrij, stop alle wiskunde, wijs uw resultaat toe aan hardmax. Softmax is hardmax in de regel gelijk aan prioriteitsniveau 1.
Bepaal klasse-default buffertoewijzing:
Class-default = (Base Buffer x (Huidige Wachtrij Ratio (class-default / 100)) x Hidden Multiplier x (User Multiplier / 100)
Class class-default = [
[basisbuffer] 1200 x [verhouding huidige wachtrij] (50/100) = 600
[vorig resultaat] 600 x [Verborgen multiplier] 4 x [User Multiplier] (100/100) = 2400
]
9500H(config)#int tw1/0/3
9500H(config-if)#service-policy output test2 <-- apply the policy
9500H#show platform hardware fed active qos queue config interface tw1/0/3 Asic:0 Core:1 DATA Port:22 GPN:103 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 176 - 183 DrainFast:Disabled PortSoftStart:5 - 3600 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 5 600 9 600 0 0 0 0 1 4800 En <-- Hardmax is 600 as predicted, Softmax is set equal to Hardmax due to priority level 1 1 1 0 0 10 2400 16 1200 8 600 1 4800 En <-- Softmax is 2400 as predicted
<snip>
Eindresultaat: Q0 - Hardmax: 600 Softmax: 600. Q1 - Softmax: 2400
Dit scenario begint hetzelfde als Scenario 2, behalve nu u qos wachtrij-softmax-multiplier 1200 configureren.
Dit vermenigvuldigt de softmax buffers in de huidige configuratie met 1200%, of een factor 12.
Samenvatting van waarden:
Bepaal klasse 1-buffertoewijzing:
Omdat class1 een prioriteitswachtrij is, ontvangt het hardmax (harde buffer) en een speciaal geval van softmax dat niet beïnvloed wordt door multipliers.
Class1 hardmax = (Base Buffer x Current Queue Ratio (class1) / 100)
Class1 hardmax = 1200 x (50/100) = 600 - vanwege een speciaal geval van een prioriteitswachtrij, stop alle wiskunde, wijs uw resultaat toe aan hardmax. Softmax is hardmax in de regel gelijk aan prioriteitsniveau 1.
Bepaal klasse-default buffertoewijzing:
Class-default = (Base Buffer x (Huidige Wachtrij Ratio (class-default / 100)) x Hidden Multiplier x (User Multiplier / 100)
Class class-default =[
[basisbuffer] 1200 x [verhouding huidige wachtrij] (50/100) = 600
[vorig resultaat] 600 x [Verborgen multiplier] 4 x [User Multiplier] (1200/100) = 28800
]
Configureer qos wachtrij-softmax-multiplier 1200 en bekijk wijzigingen in softmax (softmax is een maximale bufferwaarde voor die wachtrij, dynamisch geschaald op basis van het huidige totale buffergebruik):
9500H(config)#qos queue-softmax-multiplier 1200
9500H#show platform hardware fed active qos queue config interface tw1/0/3
Asic:0 Core:1 DATA Port:22 GPN:103 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 176 - 183 DrainFast:Disabled PortSoftStart:3 - 31500 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 5 600 5 600 0 0 0 0 6 42000 En <-- Queue 0 does not change as its configured with priority level 1 1 1 0 0 6 28800 1 900 1 900 6 42000 En <-- Softmax increases by 12x to 28800 from 1200 due to queue-softmax-multiplier 1200
<snip>
Eindresultaat: Q1 - Hardmax: 600, Softmax: 600. Q2 - Softmax: 28800
In dit scenario worden vijf wachtrijen geconfigureerd, maar slechts vier hebben wachtrij-buffers ratio expliciet gedefinieerd. De buffer die is toegewezen aan die wachtrijen is hetzelfde als de vorige voorbeelden.
De wachtrij die niet is geconfigureerd, ontvangt het verschil tussen de som van alle geconfigureerde wachtrijbuffers en 100.
Som van expliciet geconfigureerd ratio’s = (Q0-bufferverhouding) + (Q1-bufferverhouding) ... (uiteindelijke bufferverhouding) - tot 8 wachtrijen worden ondersteund op Catalyst 9000 Series Switches, zodat u 8 ratio’s kunt optellen
Impliciete ratio lektover = (100 - som van expliciet ingestelde ratio's).
Impliciete ratio Leftover is de waarde die wordt toegewezen aan een wachtrij die geen wachtrij-buffers verhouding geconfigureerd heeft.
Beleidskaart in gebruik voor dit scenario:
9500H(config)#policy-map test3
9500H(config-pmap)# class class1
9500H(config-pmap-c)# priority level 1
9500H(config-pmap-c)# queue-buffers ratio 20
9500H(config-pmap-c)# class class2
9500H(config-pmap-c)# bandwidth remaining percent 10 <-- no queue-buffers ratio statement for this class
9500H(config-pmap-c)# class class3
9500H(config-pmap-c)# bandwidth remaining percent 10
9500H(config-pmap-c)# queue-buffers ratio 10 <-- rest of queues have an explicit queue-buffers ratio
9500H(config-pmap-c)# class class4
9500H(config-pmap-c)# bandwidth remaining percent 10
9500H(config-pmap-c)# queue-buffers ratio 10
9500H(config-pmap-c)# class class-default
9500H(config-pmap-c)# bandwidth remaining percent 70
9500H(config-pmap-c)# queue-buffers ratio 40
Samenvatting van waarden:
Bereken wachtrijbufferverhouding die blijft:
Impliciete ratio lektover = (100 - som van expliciet ingestelde ratio's).
100 - (20) - (10) - (10) - (50) = 20
Huidige wachtrijverhouding (class2) = 20
Bereken uiteindelijke toewijzing van wachtrijbuffers
Class1 = [Base Buffer] 1200 x [Current Queue Ratio(class1)] (20/100) = 240 - prioriteitswachtrij, geen verdere berekening
Klasse2 = [
[Base Buffer] 1200 x [Current Queue Ratio(class2)] (10/100) = 240 - basisbuffertoewijzing voor deze wachtrij, maar deze moet worden vermenigvuldigd om softmax te krijgen voor een wachtrij zonder prioriteit
[Basis Buffer toewijzing voor deze wachtrij] 120 x [Verborgen multiplier] 4 x [Gebruiker Multiplier] (100/100) = 960
]
Herhaal dit voor wachtrijen die blijven:
Klasse 3 = [
1200 x 10/100 = 120
120 x 4 x (100/100) = 480
]
Klasse 4 = [
1200 x 10/100 = 120
120 x 4 x (100/100) = 480
]
Class class-default = [
1200 x 40/100 = 480
600 x 4 x (100/100) = 1920
]
Resultaat van de gebruikte test3-beleidskaart in vergelijking met de voorspelling:
9500H(config)#int tw1/0/3
9500H(config-if)#service-policy output test3
9500H#show platform hardware fed active qos queue config interface tw1/0/3 Asic:0 Core:1 DATA Port:22 GPN:103 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 176 - 183 DrainFast:Disabled PortSoftStart:4 - 2880 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 5 240 8 240 0 0 0 0 6 3840 En 1 1 0 0 9 960 16 480 8 240 6 3840 En <-- queue without queue buffers ratio configured receives any leftover ratio, as predicted 2 1 0 0 11 480 16 240 8 120 6 3840 En 3 1 0 0 11 480 16 240 8 120 6 3840 En 4 1 0 0 4 1920 16 960 8 480 6 3840 En
<snip>
Eindresultaat: Q0 - Hardmax: 240, Softmax: 240. Q1 - Softmax: 960, Q2 - Softmax: 480, Q3 - Softmax: 480, Q4 - Softmax: 480
In dit scenario worden vijf wachtrijen geconfigureerd en twee wachtrijen hebben geen wachtrij-buffers ratio geconfigureerd.
Om buffertoewijzing te bepalen, gaat dezelfde logica van scenario 2 verder, maar u moet ook de impliciete ratio overhouden door het totale aantal impliciete wachtrijen / wachtrijen die geen wachtrij-buffers ratio hebben verdelen
Beleidskaart in gebruik voor dit scenario:
9500H(config)#policy-map test4
9500H(config-pmap)# class class1
9500H(config-pmap-c)# priority level 1
9500H(config-pmap-c)# queue-buffers ratio 20
9500H(config-pmap-c)# class class2
9500H(config-pmap-c)# bandwidth remaining percent 10 <-- no queue-buffers ratio statement for this class
9500H(config-pmap-c)# class class3
9500H(config-pmap-c)# bandwidth remaining percent 10 <-- no queue-buffers ratio statement for this class
9500H(config-pmap-c)# class class4
9500H(config-pmap-c)# bandwidth remaining percent 10
9500H(config-pmap-c)# queue-buffers ratio 10
9500H(config-pmap-c)# class class-default
9500H(config-pmap-c)# bandwidth remaining percent 70
9500H(config-pmap-c)# queue-buffers ratio 40
Samenvatting van waarden:
Bereken wachtrijbufferverhouding die blijft:
Impliciete ratio lektover = (100 - som van expliciet ingestelde ratio's).
Aantal impliciete wachtrijen = 2 (class2 en class3 hebben geen wachtrij-buffers ratio gedefinieerd)
Som van de ingestelde ratio's = 20+40+10 = 7
Impliciete verhouding linker = 100 - 70 = 30
Impliciete wachtrijverdeling = [impliciete overdrachtsverhouding] 30 / [aantal impliciete wachtrijen] 2 = 15
Bereken de uiteindelijke toewijzing van wachtrijbuffers:
Klasse 1 =
[Base Buffer] 1200 x [Current Queue Ratio(class1)] (20/100) = 240 - prioriteitswachtrij, geen verdere berekening
Klasse2 =
[Base Buffer] 1200 x [Implicit Queureverhouding] (15/100) = 180 - Omdat klasse 2 geen gedefinieerde Queurij-buffers ratio heeft, wordt de rest van de Queurij-buffers ratio van expliciete wachtrijen gedeeld onder impliciete wachtrijen.
[Basis Buffer toewijzing voor deze wachtrij] 180 x [Verborgen multiplier] 4 x [Gebruiker Multiplier] (100/100) = 720
Herhaal dit voor wachtrijen die blijven:
Klasse 3 = [
1200 x 15/100 = 180
120 x 4 x (100/100) = 720
]
Klasse 4 = [
1200 x 10/100 = 120
120 x 4 x (100/100) = 480
]
Class class-default = [
1200 x 40/100 = 480
600 x 4 x (100/100) = 1920
]
Resultaat van de ten opzichte van de voorspelling toegepaste test4-beleidskaart:
9500H(config)#interface tw1/0/3
9500H(config-if)#service-policy output test4
9500H#show platform hardware fed active qos queue config interface tw1/0/3 Asic:0 Core:1 DATA Port:22 GPN:103 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 176 - 183 DrainFast:Disabled PortSoftStart:4 - 2880 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 5 240 8 240 0 0 0 0 6 3840 En 1 1 0 0 9 720 16 360 8 180 6 3840 En <-- queue 1 and 2 were not configured with queue-buffers ratio 2 1 0 0 9 720 16 360 8 180 6 3840 En <-- queue 1 and 2 get an equal share of leftover buffer ratio 3 1 0 0 11 480 16 240 8 120 6 3840 En 4 1 0 0 4 1920 16 960 8 480 6 3840 En
<snip>
Opmerking: als het resultaat van de impliciete toedeling van wachtrijverhoudingen geen geheel getal is, is een gelijk deel niet mogelijk. Het resultaat komt op voor wachtrijen eerder in de beleidsplanning en wordt afgerond voor latere wachtrijen. De uiteindelijke som van de toegewezen wachtrijbufferverhouding blijft 100, maar impliciete wachtrijen krijgen niet altijd gelijke toewijzing als gevolg van het zojuist beschreven vereiste van het gehele resultaat.
In dit scenario worden vijf wachtrijen geconfigureerd, allemaal met wachtrij-buffers ratio. Het totaal van de wachtrij-buffers verhouding over de klassen is minder dan 100.
In dit geval wordt de niet-toegewezen bufferverhouding gelijkmatig over de klassen verdeeld.
Gelijkaardig aan het vorige scenario, als het verdeelde resultaat van de rij-buffers verhouding links geen geheel is, wordt de definitieve toewijzing aan elke rij naar boven of afgerond en aan de rij buffers verhouding toegevoegd u vormde.
Beleidskaart in gebruik voor dit scenario:
9500H(config)#policy-map test5
9500H(config-pmap)# class class1
9500H(config-pmap-c)# priority level 1
9500H(config-pmap-c)# queue-buffers ratio 10
9500H(config-pmap-c)# class class2
9500H(config-pmap-c)# bandwidth remaining percent 10
9500H(config-pmap-c)# queue-buffers ratio 10
9500H(config-pmap-c)# class class3
9500H(config-pmap-c)# bandwidth remaining percent 10
9500H(config-pmap-c)# queue-buffers ratio 10
9500H(config-pmap-c)# class class4
9500H(config-pmap-c)# bandwidth remaining percent 10
9500H(config-pmap-c)# queue-buffers ratio 10
9500H(config-pmap-c)# class class-default
9500H(config-pmap-c)# bandwidth remaining percent 70
9500H(config-pmap-c)# queue-buffers ratio 12
Samenvatting van waarden:
Som van Geconfigureerde Verhoudingen = 10 + 10 + 10 + 10 + 12 = 52
Bufferverhouding restwaarde = 100% - 52% = 48%
[Buffer Ratio Leftover] 48% / [Totaal aantal wachtrijen] 5 = 9,6% toegevoegd per wachtrij - Dit is geen geheel getal, dus de uiteindelijke toepassing op wachtrijen moet per wachtrij naar boven of naar beneden worden afgerond
Om het uiteindelijke wachtrij-buffers ratio nummer dat het systeem gebruikt te krijgen, moet u 9 of 10 toevoegen aan de reeds geconfigureerde wachtrij buffers ratio.
De klassen hoger in de beleidskaart ontvangen de afgeronde waarde, 10. De lagere klassen in de policy-map ontvangen de afgeronde waarde, 9.
Bereken uiteindelijke toewijzing van wachtrijbuffers
Bufferverhouding restwaarde = 48
Class1 = [Base Buffer] x ([Current Queue ratio(class1) + Roundup-waarde van gedeelde bufferverhoudingswaarde)]
Klasse 1 = 1200 x ((10% + 10%)/100) = 240 - prioriteitswachtrij, geen verdere berekening
Resterende bufferverhouding = (48 - 10) = 38
Class2 = [Base Buffer] x ([Current Queue ratio(class2) + Roundup-waarde van gedeelde bufferratio-restwaarde)]
Class2 = 1200 x ((10% + 10%)/100) = 240 - Vermenigvuldig dit met gebruiker en systeemmultipliers omdat dit geen prioriteitswachtrij is
Class2 = [Base Buffer allocation for this wachtrij] 240 x [Hidden multiplier] 4 x [User Multiplier] (100/100) = 960 - softmax resultaat voor deze wachtrij
Resterende bufferverhouding = (38 - 10) - 28
Herhaal dit voor wachtrijen die blijven:
Klasse 3 = [
1200 x ((10+10)/100) = 240
120 x 4 x (100/100) = 960
]
Resterende bufferverhouding = (28 - 10) = 18
Klasse 4 = [
1200 x ((10+9)/100) = 240
120 x 4 x (100/100) = 912
]
Resterende bufferverhouding = 9
Class class-default= [
1200 x ((12+9)/100) = 252
120 x 4 x (100/100) = 1008
]
Bufferverhouding restwaarde = 0
Resultaat van de gebruikte test5-beleidskaart in vergelijking met de voorspelling:
9500H#show platform hardware fed active qos queue config interface tw1/0/3 Asic:0 Core:1 DATA Port:22 GPN:103 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 176 - 183 DrainFast:Disabled PortSoftStart:5 - 1512 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 5 240 9 240 0 0 0 0 6 2016 En 1 1 0 0 10 960 16 480 8 240 6 2016 En 2 1 0 0 10 960 16 480 8 240 6 2016 En 3 1 0 0 11 912 16 456 8 228 6 2016 En 4 1 0 0 12 1008 16 504 8 252 6 2016 En
<snip>
In dit scenario wordt een klasse in een beleidskaart geconfigureerd met prioriteitsniveau 2.
In tegenstelling tot prioriteitsniveau 1, waarin softmax niet wordt beïnvloed door multipliers en wordt ingesteld op hardmax, prioriteitsniveau 2 maakt het mogelijk dat softmax wordt vermenigvuldigd terwijl het ook een harde buffer (hardmax) heeft toegewezen.
Beleidskaart in gebruik voor dit scenario:
9500H(config)#policy-map test6
9500H(config-pmap)#class class1
9500H(config-pmap-c)#priority level 1
9500H(config-pmap-c)#queue-buffers ratio 50 <-- 50 / 50 split between both queues
9500H(config-pmap-c)#class class-default
9500H(config-pmap-c)#priority level 2 <-- Priority level 2 in use now
9500H(config-pmap-c)#queue-buffers ratio 50 <-- 50 / 50 split between both queues
Resultaat van de toegepaste test6-beleidskaart:
9500H#show platform hardware fed active qos queue config interface tw1/0/3 Asic:0 Core:1 DATA Port:22 GPN:103 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 176 - 183 DrainFast:Disabled PortSoftStart:5 - 3600 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 5 600 9 600 0 0 0 0 1 4800 En <-- Softmax is equal to hardmax 1 1 5 600 10 2400 16 1200 0 0 1 4800 En <-- Softmax is multiplied by Hidden Multiplier (400%) and User Multiplier (100% default)r
<snip>
In de eerder getoonde output heeft de tweede wachtrij softmax 4 zo veel softmax van de eerste wachtrij. Dit komt doordat softmax van prioriteitsniveau 1 niet specifiek wordt beïnvloed door de vermenigvuldigers van systeemsoftmax, maar prioriteitsniveau 2 wel.
Als u een gebruikerssoftmax-multiplier configureert, wordt alleen de wachtrij op prioriteitsniveau 2 beïnvloed:
9500H(config)#qos queue-softmax-multiplier 200
9500H#show platform hardware fed active qos queue config interface tw1/0/3
Asic:0 Core:1 DATA Port:22 GPN:103 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 176 - 183 DrainFast:Disabled PortSoftStart:5 - 7200 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 5 600 9 600 0 0 0 0 5 9600 En <--- priority-level 1 queue unaffected by softmax multiplier 1 1 5 600 10 4800 8 1200 0 0 5 9600 En <--- User multiplier increased to 200%, softmax for this queue doubles
<snip>
De configuratie van de wachtrij beïnvloedt de uiteindelijke toewijzing van de wachtrijbuffer
Het primaire mechanisme om wachtrijbuffertoewijzing te beïnvloeden is de configuratie van de wachtrijbuffers per wachtrij in een MQC-beleidskaart toegevoegd.
De toewijzing van wachtrijbuffers wordt echter beïnvloed door andere configuraties.
Queue-limit definieert drempels waardoor u een bepaalde verkeersklasse laat vallen (via Weighted Tail Drop, WTD), die niet in dit document wordt gedekt.
In een specifieke omstandigheid, wijzigt de wachtrij-limiet het systeem Verborgen Vermenigvuldiger voor zachte bufferwachtrijen - wat van invloed is op de totale zachte buffertoewijzing voor die wachtrij waarop de wachtrij-limiet wordt toegepast.
Begrijp eerst dat wachtrij-limiet kan worden geconfigureerd tot 3 keer per klasse. Hierin worden per DSCP- of CoS-basis maximaal 3 drempels voor WTD gedefinieerd.
In de volgende output, worden slechts twee drempels bepaald.
Pas twee wachtrijbeperkingen op een beleidskaart toe:
9500H(config)#policy-map test7
9500H(config-pmap)# class class1
9500H(config-pmap-c)# priority level 1
9500H(config-pmap-c)# queue-buffers ratio 50
9500H(config-pmap-c)# class class-default
9500H(config-pmap-c)# priority level 2
9500H(config-pmap-c)# queue-buffers ratio 50
9500H(config-pmap-c)# queue-limit dscp af11 percent 10 <-- Tells system to drop af11 traffic at 10% queue utilization
9500H(config-pmap-c)# queue-limit dscp af12 percent 50 <-- Tells system to drop af12 traffic at 50% queue utilization
Neem de resultaten van de buffertoewijzing in acht:
9500H(config-pmap-c)#interface tw1/0/3
9500H(config-if)#service-policy output test7
9500H#show platform hardware fed active qos queue config interface tw1/0/3 Asic:0 Core:1 DATA Port:22 GPN:103 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 176 - 183 DrainFast:Disabled PortSoftStart:5 - 7200 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 5 600 9 600 0 0 0 0 5 9600 En 1 1 5 600 10 4800 8 1200 0 0 5 9600 En <--- final result for queue that contains 2 queue-limit statements is 4800
<snip>
In het volgende voorbeeld, wordt een derde rij-limiet configuratie toegevoegd aan klasse-gebrek.
Neem de resultaten van de buffertoewijzing in acht:
9500H(config)#policy-map test7
9500H(config-pmap)#class class-default
9500H(config-pmap-c)#queue-limit dscp af13 percent 100
9500H#show platform hardware fed active qos queue config interface tw1/0/3
Asic:0 Core:1 DATA Port:22 GPN:103 LinkSpeed:0x12 AFD:Disabled FlatAFD:Disabled QoSMap:0 HW Queues: 176 - 183 DrainFast:Disabled PortSoftStart:5 - 1800 BufferSharing:Disabled DTS Hardmax Softmax PortSMin GlblSMin PortStEnd QEnable ----- -------- -------- -------- -------- --------- ------- 0 1 5 600 9 600 0 0 0 0 5 2400 En 1 1 5 600 10 1200 32 1200 0 0 5 2400 En <-- Softmax reduces by 400% from previous example
<snip>
Wanneer een derde wachtrij-limiet configuratie wordt toegevoegd aan een wachtrij, is het systeem verborgen soft buffer multiplier van 400% uitgeschakeld voor die wachtrij. Die wachtrij respecteert echter nog steeds een gebruiker die qos wachtrij-softmax-multiplier <percent> heeft ingesteld.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
3.0 |
24-May-2024 |
Hercertificering |
1.0 |
02-Dec-2022 |
Eerste vrijgave |