Konfigurácia QoS na Cisco Small Business prepínačoch (switchoch)
Konfigurácia QoS na Cisco Small Business prepínačoch (switchoch)
Kvalita služby (Quality of Service - QoS) je schopnosť siete poskytovať lepšie služby vybraným používateľom a aplikáciám na úkor iných používateľov a aplikácií. Zároveň umožňuje mať pod kontrolou zahadzovanie menej prioritných dát pred viac prioritnými v tých častiach siete, kde dochádza k agregácii a preťaženiu.
Väčšina LAN prepínačov disponuje podporou pre QoS, rozdiel medzi výrobcami a produktovými radami je však v implementácii. Inak sa bude správať v sieti prepínač, ktorý má podporu pre QoS nejako prednastavenú a zapnutú a inak prepínač, ktorý QoS síce podporuje, ale túto vlastnosť má štandardne vypnutú.
V tomto článku vysvetlím aké možnosti konfigurácie QoS sú podporované na Cisco SMB prepínačoch Sx300, pričom popísané princípy a pravidlá sú spoločné aj pre Sx500, SG350X a SG550X prepínače.
Produktový rad Sx300 podporuje tri možnosti QoS konfigurácie:
- Disabled mode
- Basic mode
- Advanced mode
Výber módu je globálny parameter a ovplyvňuje správanie celého prepínača.
Disabled mode
V tomto móde nedochádza k prioritizácii vybraných dátových tokov na úkor ostatných, všetky dátové toky sú z pohľadu prepínača rovnocenné a na každom výstupnom switchporte sú všetky pakety mapované do jedného spoločného výstupného radu (queue) per switchport, z ktorého sú pakety vyberané a posielané ďalej do siete FIFO (First-In-First-Out) spôsobom.
Konfigurácia tohto módu je jednoduchá:
Switch(config)#no qos
Switch#show qos
Qos: disabled
Basic mode
Basic mode štandardne funguje na princípe dôvery, kedy na vstupných switchportoch prepínač číta a dôveruje nastaveným QoS hodnotám v prichádzajúcich paketoch (buď hodnote DSCP v IP hlavičke alebo hodnote CoS vo VLAN tagu).
Na základe týchto vstupných QoS hodnôt prepínač zaraďuje pakety na výstupných switchportoch do štyroch radov (queues), z ktorých sú pakety vyberané a posielané ďalej buď pomocou PQ (Priority Queueing) alebo WRR (Weighted Round Robin) mechanizmu.
Mapovanie QoS hodnôt do výstupných radov (queues) je prednastavené nasledovne:
Output Queue | 1 | 2 | 3 | 4 |
Hodnota CoS | 0,1 | 2 | 3,4 | 5,6,7 |
Hodnota DSCP | 0-15 | 16-23 | 24-39, 48-63 | 40-47 |
Mapovanie sa dá skontrolovať štandardne cez WebGui rozhranie, v prípade DSCP aj pomocou CLI rozhrania:
Switch#show qos map dscp-queue
Dscp-queue map:
d1 : d2 0 1 2 3 4 5 6 7 8 9
-------------------------------------
0 : 01 01 01 01 01 01 01 01 01 01
1 : 01 01 01 01 01 01 02 02 02 02
2 : 02 02 02 02 03 03 03 03 03 03
3 : 03 03 03 03 03 03 03 03 03 03
4 : 04 04 04 04 04 04 04 04 03 03
5 : 03 03 03 03 03 03 03 03 03 03
6 : 03 03 03 03
Cisco SMB prepínače majú štandardne zapnutý práve tento mód a dôverujú DSCP hodnotám v IP hlavičke, čo sa dá skontrolovať nasledovne:
Switch#show qos Qos: Basic mode Basic trust: dscp
a prípadne nastaviť pomocou:
Switch(config)#qos basic Switch(config)#qos trust dscp
Konfiguračne je možné nastaviť akým QoS hodnotám prepínač dôveruje ( tzv. basic trust) a k dispozícii sú tri možnosti:
CoS/802.1p – prichádzajúce ethernetové rámce sú mapované do výstupných radov na základe CoS hodnôt v 802.1Q hlavičke. V prípade že na vstupný port dorazí ethernetový rámec bez VLAN hlavičky (napríklad rámec v tzv. default VLAN), tak sa na neho uplatní tzv. default hodnota CoS, ktorá sa konfiguruje zvlášť pre každý switchport a štandardne je prednastavená na nulovú hodnotu.
Switch#show qos interface FastEthernet 1 Ethernet fa1 Default CoS: 0 Trust mode: enable
DSCP – prichádzajúce pakety sú zaraďované do výstupných radov na základe DSCP hodnoty v IP hlavičke. V prípade že na vstupný switchport dorazí iný paket ako IP, tak sa na neho uplatní default hodnota CoS, na základe ktorej je paket zatriedený do výstupného radu.
CoS/802.1p – DSCP – ide o kombináciu oboch možností, v prípade že na vstupný switchport dorazí IP paket tak je zatriedený podľa nastavenej hodnoty DSCP, ak na vstupný port dorazí nejaký iný paket ako IP, tak je zatriedený na základe CoS hodnoty vo VLAN hlavičke. Ak je ethernetový rámec bez VLAN hlavičky, tak sa na neho uplatní default hodnota CoS.
Zmenu default CoS je možné zmeniť v konfiguračnom móde switchportu:
Switch(config-if)#qos cos 1
Basic mode je možné nastaviť aj tak, aby nedôveroval QoS hodnotám v prichádzajúcich paketoch. Vypnutie dôvery sa môže vykonať v konfigurácii switchportu:
Switch(config-if)#no qos trust
V takomto prípade sa na všetky prichádzajúce pakety cez tento switchport bude uplatňovať default hodnota CoS, podľa ktorej budú pakety zaradené do výstupného radu.
Tak isto existuje možnosť prepisovať DSCP hodnoty v prichádzajúcich IP paketoch. Táto možnosť sa zapína globálne pre celý switch a prepisovanie sa deje pomocou tzv. DSCP Override Table, ktorá je len jedna a je spoločná pre všetky switchporty.
Príklad zápisu do DSCP Override Table:
Switch(conf)#qos dscp-mutation Switch(conf)#qos map dscp-mutation 20 to 10
DSCP Override Table sa dá zobraziť pomocou príkazu:
Switch#show qos map dscp-mutation Dscp-mutation map: d1 : d2 0 1 2 3 4 5 6 7 8 9 ------------------------------------- 0 : 00 01 02 03 04 05 06 07 08 09 1 : 10 11 12 13 14 15 16 17 18 19 2 : 10 21 22 23 24 25 26 27 28 29 3 : 30 31 32 33 34 35 36 37 38 39 4 : 40 41 42 43 44 45 26 47 48 49 5 : 50 51 52 53 54 55 56 57 58 59 6 : 60 61 62 63
Pakety zo štyroch výstupných radov (queues) je možné vyberať pomocou PQ (Priority Queueing) alebo WRR (Weighted Round Robin) mechanizmu. V prípade WRR ide o tzv. Shaped Deficit WRR mechanizmus. Výber PQ alebo WRR mechanizmu má globálny význam a je spoločný pre všetky switchporty. Prednastaveným mechanizmom je PQ, pričom najvyššiu prioritu ma queue 4 a najnižšiu queue 1.
Ak sa použije WRR mechanizmus, tak jednotlivé rady majú pridelené váhy nasledovne:
Queue1 – 1/15 šírky pásma výstupného switchportu
Queue2 – 2/15 šírky pásma
Queue3 – 4/15 šírky pásma
Queue4 – 8/15 šírky pásma
Hodnotu váh si možno predstaviť ako množstvo paketov, ktoré viem vybrať z každého radu v jednom cykle, teda z queue1 jeden paket, z queue2 dva pakety, z queue3 štyri pakety a z queue4 8 paketov. Hodnoty váh je samozrejme možné konfiguračne zmeniť, tak isto je možné kombinovať PQ a WRR mechanizmus pre jednotlivé rady.
Množstvo PQ výstupných radov sa mení nasledovne:
Switch(config)# priority-queue out num-of-queues 1
Váhy WRR radom sa dajú zmeniť nasledovne:
Switch(config)# wrr-queue bandwidth 1 1 1
Príklad PQ na výstupnom switchporte:
Switch#show qos interface queuing FastEthernet 24 Ethernet fa24 wrr bandwidth weights and EF priority: qid-weights Ef - Priority 1 - N/A ena- 1 2 - N/A ena- 2 3 - N/A ena- 3 4 - N/A ena- 4
Príklad WRR na výstupnom switchporte:
Switch#show qos interface queuing FastEthernet 24 Ethernet fa24 wrr bandwidth weights and EF priority: qid-weights Ef - Priority 1 - 1 dis- N/A 2 - 2 dis- N/A 3 - 4 dis- N/A 4 - 8 dis- N/A
Príklad kombinácie PQ (queue 4) a WRR na výstupnom switchporte:
Switch#show qos interface queuing FastEthernet 24 Ethernet fa24 wrr bandwidth weights and EF priority: qid-weights Ef - Priority 1 - 1 dis- N/A 2 - 2 dis- N/A 3 - 4 dis- N/A 4 - N/A ena- 4
Advanced Mode
Advanced mode umožňuje oproti Basic mode na vstupnom switchporte nakonfigurovať navyše policy-mapu, pomocou ktorej sa dá nastaviť maximálna šírka pásma pre vybrané dátové toky. Pomocou policy-mapy sa dajú taktiež filtrovať prichádzajúce dátové toky a zároveň je policy-mapu možné využiť na nastavovanie DSCP/CoS hodnôt v prichádzajúcich paketoch. Takto nastavené QoS hodnoty sa následne používajú na zatriedenie paketov do výstupných radov.
V Advanced mode existuje tak isto možnosť globálne vypnúť dôveru v QoS hodnoty v prichádzajúcich paketoch. Aký dopad majú takéto konfiguračné kombinácie na dátové toky a ich zaraďovanie do výstupných radov bude vysvetlené na nasledovných príkladoch:
Zapnutie Advanced mode:
Switch(config)#qos advanced ! Switch#show qos Qos: Advanced mode Advanced mode trust type: dscp Advanced mode ports state: Not trusted
V globálnom “Not trusted” stave sú všetky pakety na vstupných switchportoch mapované na výstupných switchportoch do queue 1 a neuplatňuje sa na default CoS ako je tomu v Basic Mode. Toto správanie je možné zmeniť nakonfigurovaním policy-mapy na vstupný switchport, pomocou ktorej sa dajú nastavovať DSCP/CoS hodnoty v prichádzajúcich paketoch.
V Advanced mode je štandardne prednastavený “Not trusted” stav. Zapnutie dôvery v QoS hodnoty v prichádzajúcich paketoch je možne vykonať nasledovne:
Switch(config)#qos advanced ports-trusted Switch(config)#qos advanced-mode trust cos-dscp ! Switch#show qos Qos: Advanced mode Advanced mode trust type: cos-dscp Advanced mode ports state: Trusted
V globálnom “Trusted” stave sú všetky pakety na vstupných switchportoch mapované na výstupných switchportoch do queue 1 až 4 na základe DCSP/CoS hodnoty v prichádzajúcich paketoch. Toto správanie je možné zmeniť nakonfigurovaním policy-mapy na vstupný switchport, pomocou ktorej sa dajú nastavovať a meniť DSCP/CoS hodnoty v prichádzajúcich paketoch.
Nasleduje zopár príkladov čo dokáže spôsobiť policy-mapa na vstupnom switchporte:
! Switch#show qos Qos: Advanced mode Advanced mode trust type: cos-dscp Advanced mode ports state: Not trusted ! ! ip access-list extended test permit tcp any any any 1521 ace-priority 20 ! class-map class match-any match access-group test ! policy-map policy class class ! interface fastethernet12 service-policy input policy ! ! Switch#show qos interface FastEthernet 12 Ethernet fa12 Default CoS: 0 Trust mode: enable Policy applied: policy Default ACE action: deny-all !
Takáto konfigurácia odfiltruje a zahodí na vstupnom switchporte Fa12 všetky dátové toky okrem dátového toku popísaného pomocou access-listu test a na výstupnom porte bude tento dátový tok mapovaný do queue 1.
! Switch#show qos Qos: Advanced mode Advanced mode trust type: cos-dscp Advanced mode ports state: Not trusted ! ! ip access-list extended test permit tcp any any any 1521 ace-priority 20 ! class-map class match-any match access-group test ! policy-map policy class class ! interface fastethernet12 service-policy input policy default-action permit-any ! ! Switch#show qos interface FastEthernet 12 Ethernet fa12 Default CoS: 0 Trust mode: enable Policy applied: policy Default ACE action: forward-all !
Takáto konfigurácia prepustí všetky dátové toky prichádzajúce do switchportu Fa12 a na výstupnom porte budú dátové toky mapované do queue 1.
! Switch#show qos Qos: Advanced mode Advanced mode trust type: cos-dscp Advanced mode ports state: Not trusted ! ! ip access-list extended test permit tcp any any any 1521 ace-priority 20 ! class-map class match-any match access-group test ! policy-map policy class class trust ! interface fastethernet12 service-policy input policy ! ! Switch#show qos interface FastEthernet 12 Ethernet fa12 Default CoS: 0 Trust mode: enable Policy applied: policy Default ACE action: deny-all !
Takáto konfigurácia poskytne Basic Mode funkcionalitu. Prepínač dôveruje na vstupnom switchporte Fa12 prichádzajúcim QoS hodnotám v dátovom toku ktorý je popísaný access-listom test a na základe týchto hodnôt vyberá výstupný rad. Všetky ostatné pakety nepopísané v access-liste test sú zahodené.
! Switch#show qos Qos: Advanced mode Advanced mode trust type: cos-dscp Advanced mode ports state: Not trusted ! qos map policed-dscp 26 to 24 ! ip access-list extended test permit tcp any any any 1521 ace-priority 20 ! class-map class match-any match access-group test ! policy-map policy class class set dscp 26 police 100 12500 exceed-action policed-dscp-transmit ! interface fastethernet12 service-policy input policy ! ! Switch#show qos interface FastEthernet 12 Ethernet fa12 Default CoS: 0 Trust mode: enable Policy applied: policy Default ACE action: deny-all !
Všetkým paketom, ktoré sú popísané pomocou access-listu test sa bude nastavovať hodnota DSCP 26. Pokiaľ dátový tok presiahne rýchlosť 100kbps, tak všetky pakety budú označené hodnotou DSCP 24. Všetky ostatné pakety prichádzajúce na port Fa12 a nie sú popísané v access-liste test budú zahodené.
Hodnota DSCP ktorá sa bude nastavovať po prekročení 100kbps limitu nastaveného policerom (v tomto prípade DSCP24), musí byť mapovaná do toho istého výstupného radu (queue) ako predchádzajúca hodnota (DSCP 26).
Mapovacia tabuľka pomocou ktorej sa menia hodnoty DSCP po prekročení limitu sa dá zobraziť pomocou príkazu:
Switch#show qos map policed-dscp
Táto tabuľka je iba jedna a je spoločná pre všetky switchporty, na ktorých mám povolené premapovanie DSCP hodnôt po prekročení nastavených limitov.
Okrem rôznych QoS modelov popísaných vyššie podporujú SMB prepínače aj riadenie šírky pásma, nastavovanie maximálnej šírky pásma ako v prichádzajúcom, tak aj v odchádzajúcom smere:
- Ingress Rate Limit
- Egress Shaping Rate
Nastavovanie limitov na maximálnu šírku pásma vyžaduje mať zapnutý QoS Basic mode alebo Advanced mode.
Ingress Rate Limit
Ingress Rate Limit je maximálne množstvo dát vyjadrené v bitoch za sekundu, ktoré vie prepínač prijať na vstupnom switchporte. Všetky dáta čo prichádzajú na vstupný switchport a prekračujú tento limit sú zahodené. Ingress Rate Limit sa aplikuje na switchport alebo na port-channel interface (LAG).
Príklad konfigurácie:
! interface fastethernet12 rate-limit 100 3125 ! Switch#show qos interface rate-limit FastEthernet 12
Port rate-limit [kbps] Burst [Bytes] ---------- ----------------- ------------- fa12 100 3125 !
Všetkým dátovým tokom ktoré prichádzajú na switchport Fa12 nastavujem spoločný maximálny rate- limit na 100kbps.
Egress Shaping Rate
Egress Shaping Rate určuje maximálne množstvo dát v bitoch za sekundu ktoré prepínač dokáže odvysielať za časový interval. Všetky dáta nad tento limit sa ukladajú do výstupných radov (queues).
Príklad konfigurácie:
! interface fastethernet24 traffic-shape 64 ! Switch#show qos interface shapers FastEthernet 24 Ethernet fa24 Port shaper: enable Committed rate: 64 Kbps Committed burst: 128000 byte Target Target qid Status Committed Committed Rate [Kbps] Burst [bytes] 1 disable N/A N/A 2 disable N/A N/A 3 disable N/A N/A 4 disable N/A N/A !
Egress Shaping Rate je tak isto možné aplikovať nielen na odchádzajúci switchport, ale ja na výstupný rad. Tak isto je možné nakonfigurovať kombináciu maximálnej šírky pásma per queue a per switchport.
Príklad konfigurácie:
! interface fastethernet4 traffic-shape 1000 traffic-shape queue 3 256 traffic-shape queue 4 64 ! Switch#show qos interface shapers FastEthernet 4 Ethernet fa4 Port shaper: enable Committed rate: 1000 Kbps Committed burst: 128000 byte Target Target qid Status Committed Committed Rate [Kbps] Burst [bytes] 1 disable N/A N/A 2 disable N/A N/A 3 enable 256 128000 4 enable 64 128000 !
Cisco pri SMB prepínačoch neuvádza veľkosť alokovanej pamäte pre výstupné rady. Tak isto nie je zdokumentované ako sa dynamicky mení hĺbka jednotlivých výstupných radov a prispôsobuje sa meniacim sa požiadavkám. To čo výrobca uvádza je len celková veľkosť vyrovnávacej pamäte (buffer) pre potreby QoS. Jej veľkosť je závislá od konkrétneho produktového radu a modelu:
Model name | Packet Buffer Size |
all SX300 24 switchports or less | 8 MB |
all SX300 48 switchports or higher | 2 x 8 MB |
SG350XG-24T, SG35XG-24F | 16 MB |
SG350XG-48T | 32 MB |
SG350XG-2F10 | 8 MB |
all SX500 24 switchports or less | 8 MB |
all SX500 48 switchports or higher | 2 x 8 MB |
all SX500X 24 switchports | 12 MB |
all SX500X 48 switchports | 2 x 12 MB |
SG500XG-8F8T | 16 MB |
SG550XG-8F8T, SG550XG-24F,SG550XG-24T | 16 MB |
SG350XG-48T | 32 MB |
Napriek tomu že Cisco Small Business prepínače sú určené pre potreby menších firiem a domácnosti, z pohľadu implementácie QoS sa podporovanými vlastnosťami bez problémov vyrovnajú aj vyšším produktovým radám. Skúsenému sieťovému administrátorovi poskytujú dostatok nástrojov aby mal kvalitu služieb v LAN sieťach pod kontrolou