In dit document wordt beschreven hoe u problemen kunt oplossen met uitvoerdalingen als gevolg van de kwaliteit van de service (QoS) op de Cisco Catalyst Switches Series 2960, 3750, 3750G, 3750X, 3560.
Cisco raadt je aan om basiskennis van QoS te hebben.
De informatie in dit document is gebaseerd op de volgende platformen: Cisco Catalyst Switches Series 2960, 3750, 3750G, 3750X, 3560.
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 de potentiële impact van elke opdracht begrijpen.
QoS wordt gebruikt om belangrijkere gegevens te prioriteren in tijden van congestie. Als gevolg hiervan, nadat QoS is ingeschakeld, kunnen minder belangrijke bulkgegevens dalen.
Cisco access layer-switches implementeren QoS-functies in hardware. Dit document helpt u te bepalen of de druppels worden veroorzaakt door QoS en beschrijft verschillende opties voor wachtrijen en bufferafstemming om ze te beperken.
Ingress Standaardwachtrij
Standaardwachtrij voor uitstappen
Switch#show int gi1/0/1
!-- Some output omitted.
GigabitEthernet0/1 is up, line protocol is up (connected)
MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
Full-duplex, 1000Mb/s, media type is 10/100/1000BaseTX
input flow-control is off, output flow-control is unsupported
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 1089
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 4000 bits/sec, 6 packets/sec
5 minute output rate 3009880 bits/sec, 963 packets/sec
Switch#show mls qos
QoS is enabled
QoS ip packet dscp rewrite is enabled
Switch#show mls qos int gi1/0/1 statistics
GigabitEthernet1/0/1 (All statistics are in packets)
dscp: incoming
-------------------------------
0 - 4 : 0 0 0 0 0
5 - 9 : 0 0 0 0 0
10 - 14 : 0 0 0 0 0
15 - 19 : 0 0 0 0 0
20 - 24 : 0 0 0 0 0
25 - 29 : 0 0 0 0 0
30 - 34 : 0 0 0 0 0
35 - 39 : 0 0 0 0 0
40 - 44 : 0 0 0 0 0
45 - 49 : 0 198910 0 0 0
50 - 54 : 0 0 0 0 0
55 - 59 : 0 0 0 0 0
60 - 64 : 0 0 0 0
dscp: outgoing
-------------------------------
0 - 4 : 0 0 0 0 0
5 - 9 : 0 0 0 0 0
10 - 14 : 0 0 0 0 0
15 - 19 : 0 0 0 0 0
20 - 24 : 0 0 0 0 0
25 - 29 : 0 0 0 0 0
30 - 34 : 0 0 0 0 0
35 - 39 : 0 0 0 0 0
40 - 44 : 0 0 0 0 0
45 - 49 : 0 248484 0 0 0
50 - 54 : 0 0 0 0 0
55 - 59 : 0 0 0 0 0
60 - 64 : 0 0 0 0
cos: incoming
-------------------------------
0 - 4 : 2 0 0 0 0
5 - 7 : 0 0 0
cos: outgoing
-------------------------------
0 - 4 : 0 0 0 0 0
5 - 7 : 0 0 0
output queues enqueued:
queue: threshold1 threshold2 threshold3
-----------------------------------------------
queue 0: 248484 0 0
queue 1: 0 0 0
queue 2: 0 0 0
queue 3: 0 0 0
output queues dropped:
queue: threshold1 threshold2 threshold3
-----------------------------------------------
queue 0: 1089 0 0
queue 1: 0 0 0
queue 2: 0 0 0
queue 3: 0 0 0
Policer: Inprofile: 0 OutofProfile: 0Opmerking: in dit voorbeeld worden uitgevallen pakketten weergegeven in wachtrij 0/threshold1 uitvalpakketten. In andere voorbeelden in het document is de wachtrijnummering 1 - 4; daarom is deze waarde wachtrij 1.
Switch#show mls qos maps dscp-output-q
Dscp-outputq-threshold map:
d1 :d2 0 1 2 3 4 5 6 7 8 9
------------------------------------------------------------
0 : 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01 02-01
1 : 02-01 02-01 02-01 02-01 02-01 02-01 03-01 03-01 03-01 03-01
2 : 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01 03-01
3 : 03-01 03-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01
4 : 01-01 01-01 01-01 01-01 01-01 01-01 01-01 01-01 04-01 04-01
5 : 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01 04-01
6 : 04-01 04-01 04-01 04-01
Opmerking: elke wachtrijset heeft de optie om de buffergrootte en drempelwaarde voor de vier beëindigingswachtrijen te configureren. Vervolgens kunt u een van de wachtrijsets toepassen op een van de poorten. Standaard gebruiken alle interfaces queue-set 1 voor uitvoerwachtrijen, tenzij expliciet geconfigureerd om queue-set 2 te gebruiken.
In dit scenario heeft wachtrij 1 in wachtrij-set 1 25% van de totale bufferruimte en is drempel 1 ingesteld op 100%
Switch#show mls qos queue-set
Queueset: 1
Queue : 1 2 3 4
----------------------------------------------
buffers : 25 25 25 25
threshold1: 100 200 100 100
threshold2: 100 200 100 100
reserved : 50 50 50 50
maximum : 400 400 400 400
Queueset: 2
Queue : 1 2 3 4
----------------------------------------------
buffers : 25 25 25 25
threshold1: 100 200 100 100
threshold2: 100 200 100 100
reserved : 50 50 50 50
maximum : 400 400 400 400
Opmerking: U kunt ook wachtrij-set 1 wijzigen; aangezien alle interfaces standaard wachtrij-set 1 gebruiken, wordt de wijziging echter weerspiegeld in alle interfaces.
In dit voorbeeld wordt wachtrij-set 2 gewijzigd zodat wachtrij 1 70% van de totale buffer ontvangt.
Switch(config)#mls qos queue-set output 2 buffers 70 10 10 10In dit voorbeeld worden wachtrij-set 2 en wachtrij 1 drempels gewijzigd. Zowel drempel 1 als drempel 2 worden toegewezen aan 3100, zodat ze indien nodig buffer uit de gereserveerde pool kunnen halen.
Switch(config)#mls qos queue-set output 2 threshold 1 3100 3100 100 3200
Switch#show mls qos queue-set
Queueset: 1
Queue : 1 2 3 4
----------------------------------------------
buffers : 25 25 25 25
threshold1: 100 200 100 100
threshold2: 100 200 100 100
reserved : 50 50 50 50
maximum : 400 400 400 400
Queueset: 2
Queue : 1 2 3 4
----------------------------------------------
buffers : 70 10 10 10
threshold1: 3100 100 100 100
threshold2: 3100 100 100 100
reserved : 100 50 50 50
maximum : 3200 400 400 400
Switch(config)#int gi1/0/1
Switch(config-if)#queue-set 2
Switch(config-if)#endControleer of de interface is toegewezen aan wachtrij-set 2.
Switch#show run int gi1/0/1
interface GigabitEthernet1/0/1
switchport mode access
mls qos trust dscp
queue-set 2
endControleer of de interface nog steeds pakketten laat vallen.
Switch(config-if)#srr-queue bandwidth share 1 75 25 5
Switch(config-if)#srr-queue bandwidth shape 2 0 0 0Controleer of de interface nog steeds pakketten laat vallen.
Opmerking: de prioriteitswachtrij wordt onderhouden totdat deze leeg is voordat de andere wachtrijen worden onderhouden. Standaard op 2960/3560/3750 switches, is wachtrij 1 de prioriteitswachtrij.
Switch(config)#int gi1/0/1
Switch(config-if)#priority-queue out
Switch(config-if)#endMarkering van het pakket dat op de interface wordt gedropt, kan worden toegewezen zodat het naar wachtrij 1 (prioriteitswachtrij) gaat. Deze actie zorgt ervoor dat het verkeer met deze markering altijd wordt verwerkt voordat er iets anders.
Switch(config)#mls qos srr-queue output dscp-map queue 1 threshold 1
Hier zijn enkele veelvoorkomende problemen:
V: Wanneer wijzig ik de wachtrijset en wanneer gebruik ik delen/vormgeven?
A: De beslissing hangt af van de aard van de druppels. Als de toename met tussenpozen daalt, is dit probleem waarschijnlijk te wijten aan bursty-verkeer. Integendeel, als er voortdurend dalingen plaatsvinden met een constante snelheid, ontvangt de wachtrij die de pakketten laat vallen waarschijnlijk meer gegevens dan deze kan verzenden.
Voor intermitterende druppels moet de wachtrij een grote buffer hebben die geschikt is voor incidentele uitbarstingen. Om deze oplossing te implementeren, moet u de wachtrijset wijzigen en meer buffer toewijzen aan de betreffende wachtrij en de drempelwaarden verhogen.
Voor continue dalingen moet u de planner configureren om de getroffen wachtrij vaker te onderhouden en om meer pakketten uit de wachtrij per CPU-cyclus te halen. Om deze oplossing te implementeren, moet u het delen/vormgeven configureren op de wachtrijen voor uitgangen.
V: Wat is het verschil tussen gedeelde modus en gevormde modus?
A: In de gevormde modus zijn de uitgangen gegarandeerd een percentage van de bandbreedte, en ze zijn tarief-beperkt tot dat bedrag. Gevormd verkeer gebruikt niet meer dan de toegewezen bandbreedte, zelfs als de koppeling niet actief is. Shaped modus zorgt voor een gelijkmatiger doorstroming van het verkeer in de tijd en vermindert de pieken en dalen van bursty verkeer. Bij vormgeving wordt de absolute waarde van elk gewicht gebruikt om de beschikbare bandbreedte voor de wachtrijen te berekenen.
SRR-wachtrij bandbreedte vorm gewicht1 gewicht2 gewicht3 gewicht4
De inverse ratio (1/gewicht) bepaalt de vormgevingsbandbreedte voor deze wachtrij. Met andere woorden, wachtrij1 is gereserveerd 1/gewicht1 procent van de totale bandbreedte en ga zo maar door. Als u een gewicht van 0 configureert, werkt de corresponderende wachtrij in gedeelde modus. Het gewicht dat is opgegeven met de opdracht srr-queue bandwidth shape wordt genegeerd en de gewichten die zijn opgegeven met de opdracht srr-queue bandwidth share interface configuration voor een wachtrij worden van kracht.
In de gedeelde modus delen de wachtrijen de bandbreedte tussen hen op basis van de geconfigureerde gewichten. De bandbreedte is op dit niveau gegarandeerd, maar niet beperkt tot het. Als een wachtrij bijvoorbeeld leeg is en niet langer een deel van de koppeling vereist, kunnen de resterende wachtrijen worden uitgebreid naar de ongebruikte bandbreedte en onderling worden gedeeld.
SRR-wachtrij bandbreedte Aandeel gewicht1 Gewicht2 Gewicht3 Gewicht4
Queue1 is gegarandeerd een minimum van gewicht1/(gewicht1 + gewicht2 + gewicht3 + gewicht4) percentage van de bandbreedte, maar kan ook opeten in de bandbreedte van andere niet-gevormde wachtrijen indien nodig.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
1.0 |
18-May-2013
|
Eerste vrijgave |