CZ 
11.09.2024 VÍTEJTE V MÉM SVĚTĚ

Cisco QoS 1 - úvod do Quality of Service a DiffServ

| Petr Bouška - Samuraj |
Pokud stahujeme nějaký soubor ze sítě či prohlížíme webovou stránku, tak si ani nevšimneme řady problémů, ke kterým při přenosu dochází. Jsou to například různá zpoždění v doručení paketů nebo doručení v jiném pořadí než bylo vysílání. Komunikační protokol si s těmito problémy poradí a vše napraví. Problém nastane u operací, kdy výsledek potřebujeme okamžitě, tedy třeba VoIP a streamované audio/video. Pak se nám tyto problémy projeví v poruše obrazu a zvuku. Technologie, která řeší tyto problémy, se označuje jako zajištění kvality služby, tedy Quality of Service.
zobrazeno: 34 928x | Komentáře [2]

QoS je velice obsáhlá oblast. Já se v této sérii článků snažím shrnout základní teorii spolu s příkazy Cisco IOSu. Poslední díl bude věnovat praktickým příkladům konfigurace. Většinu věcí okolo Cisca jsem se naučil samostudiem, ale na QoS jsem absolvoval školení u AlefNula, které mohu vřele doporučit všem, kteří se chtějí o QoSu dozvědět více.

Co je to QoS

Quality of Service, dále jen QoS, je soubor řady technologií, který řeší hned několik problémů okolo traffic management (nebo traffic engineering). Cílem QoSu je umožnit nastavení určité kvality přenosu pro data přenášená sítí. Navíc QoS dokáže rozlišovat mezi jednotlivými přenosy a každému typu nastavit jinou kvalitu. Zjednodušeně můžeme říci, že QoS zajišťuje, aby se důležitý provoz doručil v pořádku a včas.

QoS je problematika značně rozsáhlá a ne zrovna jednoduchá (z teoretického hlediska, vlastní konfigurace nemusí být složitá). Skládá se z celé řady oblastí, v praxi nám často stačí použít pouze určitou část. Na druhou stranu některé příkazy v Cisco IOSu konfigurují najednou více oblastí. Pouze jednou částí QoSu je využití normy IEEE 802.1p (potažmo 802.1q).

Pozn.: Já se v tomto článku zaměřuji na to, co v současnosti používá Cisco na svých zařízeních (a převážně se věnuji ethernetu). Teorii se snažím minimalizovat, takže některé věci zde budou chybět.

QoS je v současnosti hodně populární díky přenosu hlasu (VoIP) či videa přes IP protokol, kdy je potřeba zajistit určité vlastnosti/parametry provozu. Primárně můžeme říci, že potřebujeme prioritizovat určitý provoz (upřednostnit nějaký provoz před ostatním, aby nedocházelo ke zpoždění). QoS ale nabízí i další užitečné a používané funkce. Jedná se o omezování přenosového pásma (nastavení maximálního pásmo, které může být použito) a vyhrazování přenosového pásma (nastavení minimálního pásma, které bude pro daný provoz vždy k dispozici).

Pozn.: Obecně se QoS příliš neřeší na switchích (LAN), protože jsou zde vysoké rychlosti. Hlavní nasazení je pro routery a pomalé linky do 768 kbps, pro určité účely ještě linky do 2 Mbps. Samozřejmě nějaká základní nastavení se provádí i v případě třeba IPT na LAN.

Základní problémy při přenosu dat

Zde je seznam hlavních věcí, které mohou nastat při přenosu paketů. Tyto oblasti se snaží upravovat QoS.

  • delay - zpoždění - data dorazí do cíle příliš pozdě, skládá se z propagace (jak rychle se šíří signál médiem), serializace (jak rychle můžeme data vkládat na linku, musí jít za sebou), zpracování (routery na cestě), zdržení ve frontách, dejitter buffer a další
  • jitter - variace zpoždění - pakety dosáhnou rozdílného zpoždění, hlavně záleží na frontách po cestě
  • packet loss - ztrátovost - paket se ztratí cestou (error) nebo je zahozen (kvůli propustnosti, dropped packet), pokud se ztratí, tak se musí vyslat znovu, navíc se změní pořadí
  • out-of-order delivery - doručení mimo pořadí - pakety mohou putovat různou cestou nebo se vysílají znovu
  • bandwidth - šířka pásma - je využíváno nárazově a nehospodárně (stahování velkého souboru může vzít pásmo telefonii), můžeme komprimovat hlavičky paketů (které mohou být větší než datový obsah)

Požadavky pro VoIP

Zde jsou uvedeny doporučené hodnoty, kterých by se mělo v praxi dosáhnout, pro optimální nasazení IP telefonie.

  • latence - koncové zpoždění (doba mezi vysláním paketu a jeho doručením) < 150 ms
  • jitter - kolísání zpoždění (rozdíl v intervalech mezi přijímanými pakety) < 30 ms
  • ztráta paketů - podíl přijatých a vyslaných paketů za čas < 1%
  • šířka pásma - souvisí s propustností - 12 - 106 kbit/s v závislosti na vzorkování, kodeku a L2 režii

QoS mechanismy - implementace QoSu

  • Best-effort service - znamená žádný QoS, klasický TCP/IP provoz, bitrate a doba doručení je proměnlivá a nespecifikovatelná a mění se podle zatížení sítě
  • Integrated services - IntServ -dnes málo používaná technologie garantovaného QoS, musí být podpora u aplikace a všech routerů na cestě, nejprve se vyjedná a rezervuje cesta, pak se posílají data, používá Resource ReSerVation Protocol (RSVP) pro rezervace cesty, je značně náročné na zdroje
  • Differentiated services - DiffServ - dnešní hlavní metoda, řeší se per router, pakety se rozdělí do tříd podle typu při příchodu na router,  tato klasifikace se může zaznamenat do hlavičky paketu, s třídami se zachází podle konfigurovaných parametrů

Pozn.: Veškerý další popis se týká DiffServ implementace QoSu.

DiffServ  - Differentiated services

  • klasifikace se provádí na hranici sítě a nastavuje Differentiated Services Code Point (DSCP)
  • vše se děje na aktivních prvcích a ne v aplikaci (i když i to je možné)
  • protože se řeší na každém hopu (routeru), tak projde i přes router, který QoS nepodporuje, ale nejedná se pak o ucelené QoS řešení
  • používá se několik front a odbavuje se podle určitého algoritmu

Základní body aplikace DiffServ jsou

  1. identifikace provozu
  2. rozdělení do tříd
  3. definování politik pro jednotlivé třídy

Základní oblasti/akce

  • Classification and Marking - rozlišení a označení provozu 
  • Traffic Rate Management - Shaping and Policing - správa datového toku, omezování a vyhrazování
  • Congestion Management - Queuing - správa zahlcení pomocí front
  • Congestion Avoidance - zabránění zahlcení  pomocí řízeného zahazování
  • Signaling - vyjednávání end-to-end spojení, IntServ RSVP
  • Link Efficiency Management - správa efektivního využití (pomalé) linky, komprese, fragmentace

Pozn.: Posledním dvěma oblastem se zde nebudu věnovat.

Určité akce se aplikují na vstupu a určité na výstupu. Detaily závisí na zařízení (počet front, algoritmy, akce). Následující obrázek ukazuje možné akce na Cisco switchi.

QoS akce na vstupu a výstupu

Detailnější zobrazení (pochází z webu cisco.com)

QoS diagram Cisco

Obecný princip je takový, že se nejprve datový tok (paket) rozliší (klasifikuje). Poté se označí pro další pohyb v síti. Zajišťuje se, aby odpovídal konfigurovanému využití zdrojů (politiky a výběr) a definovanému chování (fronty a plánování).  U výstupního profilu se ještě zajišťuje, aby odpovídal definovanému profilu (shaping).

Akce na vstupním portu (ingress action)

  • classifying - rozlišuje typ trafiku podle ACL či konfigurace a přiřadí mu QoS label.
  • policing - určuje, zda paket spadá do profilu policeru, ten limituje pásmo pro trafik a výsledek předá do markeru
  • marking - vyhodnotí údaje z policeru a rozhoduje podle profilu. Následně se buď zahodí, sníží priorita nebo pošle dál
  • queuing - vyhodnotí QoS label (a odpovídající CoS nebo DSCP) paketu a určí, do které ze dvou vstupních front (jedna je prioritní) se zařadí. Je rozšířeno o WTD (weighted tail-drop) algoritmus, který zabraňuje zahlcení. Pokud se překročí práh, tak se paket zahodí.
  • scheduling - obsluhuje fronty pomocí nakonfigurované váhy - Shaped Round Robin (SRR)

Akce na výstupním portu (egress action)

  • queuing - vyhodnotí QoS label (a odpovídající CoS nebo DSCP) paketu a určí, do které výstupní fronty (ze 4) se zařadí. Protože může dojít k zahlcení, když několik vstupních portů posílá data na stejný výstupní port, používá se WTD pro rozlišování třídy paketu. Pokud se překročí práh, tak se paket zahodí.
  • scheduling - obsluhuje fronty pomocí váhy - SRR nebo shaped weights. Jedna fronta může být jako expresní a ta je obsluhována dokud není prázdná, pak se teprve obsluhují ostatní.

Související články:

Cisco IOS

Velký seriál o operačním systému aktivních prvků firmy Cisco. Obsahuje jedny z nejčtenějších článků na tomto webu. Články popisují konfiguraci switchů a routerů, primárně s Cisco IOS. Věci ohledně portů, VLAN, STP, ACL, QoS, apod.

QoS - Quality of Service

Tato série článků se věnuje obsáhlé problematice zajištění kvality při přenosu dat, tedy Quality of Service. Vše je řešeno s přihlédnutí k aktuálním trendům používaným na Cisco aktivních prvcích, spolu s příklady konfigurace.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře
  1. [1] mandriel

    Co k tomu? Akurat dakujeme :) pekny clanok obsazny a naucny

    Čtvrtek, 22.01.2009 23:42 | odpovědět
  2. [2] Roger

    Fakt dobrej web, jen tak dál ;-) Do školy jsem potřeboval něco o QoS, tak jsem si pěkně početl :-) Díky

    Pátek, 09.04.2010 14:15 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách