Mango NS - Distribuovaný shaping

Úvod - koncepce

 MANGO  distribuovaný shaping vychází z předpokladu, že je efektivní řídit/omezovat rychlost připojení nejblíže zdroji daného provozu, tzn. možnost ovlivnit příchozí provoz (z internetu k zákazníkovi) lze nejdříve v místě vstupu provozu do sítě tj. na hraničním routeru. Odchozí provoz (od zákazníka do Internetu) může být nejdříve ovlivněn na CPE, pokud to CPE umožňuje, a nebo o úroveň výše na přístupovém zařízení (AP). Shaping je tedy oddělený a distribuovaný pro příchozí a odchozí směr, kdy na zařízení (shaperu) nejblíže hranici sítě omezuje příchozí provoz (download) a odchozí provoz (upload) je možné omezovat již na jednotlivých přístupových bodech AP nebo na CPE.

tip Mango takovýto shaping umí nezávisle na technologii vytvářet, počítat, vizualizovat a lze jej poté pomoci dalších služeb Mango aplikovat v konkrétních sítích a zařízeních.

Shapingový strom - QueueTree

Mango dynamicky generuje QueueTree informace pro zařízení v infrastruktuře v síti. Generuje je pouze pro zařízení, na kterých chceme shaping řídit. Pro sestavení stromu vychází Mango ze znalosti struktury sítě s využítím informací zadaných v parametrech služeb zákazníků a parametrech zařízení. Pomocí nich lze určit, na kterém zařízení v infrastruktuře bude probíhat shaping a pro jaký směr (upload, download, oba směry). Na základě těchto informací generuje Mango ucelený strom QueueTree pro každé takové zařízení. Z tohoto stromu lze potom vyčítat informace a provádět konfigurace pro jednotlivá konkrétní zařízení. Tyto konfigurace lze nejsnadněji provádět pomocí služeb Chatskript například přes rozhraní SSH, Telnet, SNMP nebo jiných. Tento dokument popisuje to, jakým způsobem se generuje stromová shapovací informace, nepopisuje konkrétní implementace sta ze stronu na zařízneí, která realizují shaping.

arrowbright Více info: Dx služba Chatskripty pro pokročilý provisioning zařízení a sítě
arrowbright Více info: Referenční popis modulu Chatskripty

Základní struktura QueueTree je tvořena frontami (queues) pro komncová (CPE) zařízení. CPE jsou zařazené pod frontu představující službu zakázníka, fronty sužeb mohou být zařazeny pod frontu reprezentující limit přístupového bodu nebo libovolného infrastrukturního zařízení (např. páteřní spoj) v dané větvi sítě, takovým zařízením je i vlastní shaper, jehož rychlostní limity definují nejvyšší frontu.

  • SHAPER_Queu
    • AP1_Queu
      • SERVICE_5M_Queu
        • CPE1_Queu
        • CPE2_Queu
      • SERVICE_3M_Queu
        • CPE3_Queu
        • CPE4_Queu
    • AP2_Queu
      • SERVICE_5M_Queu
        • CPE5_Queu

tip Shaping tak může být i víceúrovňový.

Pokud jsou na infrastrukturním zařízení nadefinovány maximální rychlosti na uplinkovém rozhraní, tak dojde k vytvoření fronty s těmito limity a fronty všech podřízených zařízení budou zařazeny pod tuto frontu. Nejsou-li na AP nastaveny limity rychlosti, tak všechny jeho fronty pro služby (i s podřízenými frontami pro CPE) budou zařazeny pod nejbližší frontu nadrazeného zařízení s nadefinovanými limity na uplinkovém rozhraní.

Parametry zařízení

Shapingový mechanismus potřebuje pro svou činnost na zúčastněných zařízení v síti implementované některé parametry.

Sada parametrů Shaping u shapingového zařízení
  • ShapingUP - volba určuje, zda zařízení bude konfigurováno pro shaping odchozího provozu (upload).  MANGO  sestaví QueueTree na základě informací o podřízených zařízeních a jejich službách a pomocí chatscriptu zapíše QueueTree včetně pravidel pro markování paketů do zařízení. Před nastavením tohoto parametru je nutné nastavit maximalní odchozí rychlost na uplinkovém rozhraní. Tato rychlost se použije jako Max.Limit v nejvyšší frontě QueueTree pro upload na daném zařízení.
  • ShapingDown - volba určuje, zda zařízení bude konfigurováno pro shaping příchozího provozu (download).  MANGO  sestaví QueueTree na základě informací o podřízených zařízeních a jejich službách a pomocí chatscriptu zapíše QueueTree včetně pravidel pro markování paketů do zařízení. Před nastavením tohoto parametru je nutné nastavit maximalní příchozí rychlost na uplinkovém rozhraní. Tato rychlost se použije jako Max.Limit v nejvyšší frontě QueueTree pro download na daném zařízení.

Parametry na Interface u shapingového zařízení
Pro shaping se berou v potaz pouze rychlosti nastavené na uplinkovém interface (interface pro pripojeni k nadřazenému uzlu). Rychlosti lze definovat na libovolných infrastrukturních zařízeních např. AP. Je-li rychlost nastavena, dojde k vytvoření fronty reprezentující rychlostní limit daného zařízení. Lze nadefinovat zvlášť rychlost pro upload, download nebo obojí.
  • Max. rychlost up - nastavuje maximální rychlost uploadu v Kbit/s.
  • Max. rychlost down - nastavuje maximální rychlost downloadu v Kbit/s.

Parametry služeb zákazníků

Typicky u služeb třídy Datové služby je potřeba pro funkci shapingu implementovat nasledující parametry, které jsou pak využity při generování dat pro shaping.
  • Agregační poměr - počet členů v agregované skupině služby
  • Maximální download/upload - maximální rychlost k/od zákazníka (Max limit)
  • Garantovaný download/upload - minimální rychlost k/od zákazníka (Limit at)
  • Burst limit down - maximální rychlostsměrem k zákazníkovi při aktivním burstu
  • Burst time down - interval v sekundách, během kterého je počítána průměrná rychlost
  • Burst treshold down - mezní rychlost stahování, při které dochází a aktivaci/deaktivaci burstu
  • Priorita - hodnoty 1-8, nižší hodnota zajištuje prioritní přístup k volné kapacitě v rámci agregační skupiny

Modul Shaping v Mango

Celý modul ukazuje tři následující stromové vizualizace.

capture-20160211-165309.png

Strom Přehled shapingu

Tento strom představuje logický pohled na data týkající se shapingu v celé síti resp. všech objektů vstupujících do procesu shapingu. Zobrazena je hierarchická struktura front (queues) vytvořených na základě pametrů zadaných u zařízení a služeb.

První sloupec vedle stromu front je stavový a zobrazuje symbloly šipek určujících, zda na daném zařízení jsou nakonfigurována pravidla pro shaping uploadu, downloadu nebo obou směrů. Zařízení pak tedy provádí vlastní shaping tj. markování paketů, zařazování do front a rozdělování nastavené kapacity linky.

Sloupec ID objektu zbrazuje identifikátor odkazující do modulu, kde lze provést konfiguraci nastavení týkajících se vybrané fronty. V případě fronty pro infrastrukturní zařízení (AP, point-to-point spoj apod.) ukazuje ID do modulu síť, kde lze upravit rychlostní limity na rozhraní a nastavit, zda zařízení bude shapovat (ShapingUP/ShapingDown). ID objektu u fronty pro službu umožní proklik do modulu Služby s vyfiltrovanou službou, pro kterou byla fronta vytvořena. Proklik na ID u fronty pro CPE přepne do modulu Zákazníci na kartu vybraného zákazníka.

Následující sloupce zobrazují hodnoty jednotlivých rychlostních parametrů, některé z nich lze přímo nastavovat pomocí editačního tlačítka - tužka nebo proklikem přes ID do konkretního modulu. Hodnoty těchto parametrů jsou kontrolovány vzhledem k pravidlům, která mezi nimi platí.
  • Součet minimálních rychlostí front potomků nesmí přesáhnout minimální rychlost u fronty rodiče a zároveň musí být menší nebo rovná než maximální rychlost fronty rodiče v daném směru (Up/Down).
    • První část pravidla nelze ovlivnit konfigurací, jelikož systém automaticky počítá minimální rychlosti u rodičovských front.
  • Maximální rychlost fronty potomka musí být menší nebo rovná maximální rychlosti fronty rodiče. Platí pro každý směr (Up/Down).
Pokud dojde k porušení některé z uvedených podmínek, tak systém označí červeně řádek s frontou, kde došlo ke kolizi a v poznámce uvede důvod. Nadřazené rodičovské fronty budou také označeny žlutě, což nazčuje, že existuje kolize u některého z potomků a usnadňuje jeho dohledání při sbaleném stromu front. V tomto stavu také nedojde k aktualizaci konfigurace na žádném zařízení.

capture-20160212-114435.png

Ve stromu Přehled shapingu dochází k automatickým výpočtům minimálních rychlostí (viz výše), dále pak dochází k automatické úpravě maxilmální rychlosti u fronty služby, pokud je v její definici nastaven burst limit na hodnotu vyšší než je maximální rychlost služby tzn. je-li rychlost burstu vyšší než maximální rychlost služby, tak dojde k nastavení maximální rychlosti fronty služby na hodnotu Burst limit.

Systém také hlídá nastavený agregační poměr v definici služby a v případě, kdy dojde k jeho překročení, tak je vypočítána nová maximální rychlost fronty pro službu, tak aby zůstal zachován agregační poměr. Například existuje definice služby s maximální rychlostí downloadu 10Mbit a nastaveným agregačním poměrem 1:10, připojením jedenáctého zákazníka s touto službou by došlo ke zvýšení agreganího poměru (1:11), systém automaticky upraví maximální rychlost fronty pro službu na 11Mbit pro download, tím zůztane zachován agregační poměr a stejná minimální rychlost 1Mbit pro každého účastníka.

Sloupec Využití zobrazuje u front infrastrukturních zařízení klínový graf, který představuje využití maximálních rychlostí rodičovské fronty pro upload a download vůči sumě maximálních rychlostí přímo podřízených front tzn. jedná se maximílní možné využití kapacity na dané úrovni, pokud by všechny podřízené fronty využily svoje nastavené maximum. Graf zobrazuje vždy směr s vyšším využitím. Konkretní hodnoty lze vidět v hintu po najetí kurzorem na graf.

Pro fronty služeb je zobrazen symbol plochého grafu představující využití agregace v dané službě. Má-li služba např. nastaven agregační poměr 10 ( tj 1:10) a službu má aktivní 5 zákazníků, tak bude zobrazeno 50% využití agregace u služby. Konkretní hodnoty lze vidět v hintu po najetí kurzorem na graf.

Úpravy paranetrů shapingu

V tabulce Přehled shapingu je možné provádět akci editace a odskoku do zavislého modulu (symbol tužka a šipka v pravém horním rohu). Tlačítko šipka je alternativou k prokliku na ID ve sloupci ID objektu. Pomocí editačního tlačítka lze u infrastrukturní fronty editovat rychlosti na uplinkovém rozhraní.

editace infrastrukturní fronty a rychlosti na uplinkovém rozhraní

U fronty služby je možné upravit parametry z definice služby.

capture-20160211-165635.png

Hodnoty parametrů front pro CPE se přebírají z definice služby, nicméně lze změnit parametry konkrétní fronty pro CPE, tyto změny budou uloženy k aktivní službě daného zákazníka. Pokud takto upravenou hodnotu parametru u aktivní služby smažu, tak bude hodnota opět převzata z definice služby.

capture-20160211-165737.png

Pokud v definici služby smažu parametr agregační poměr, fronta pro CPE se vytvoří přímo pod shaperem (mikrotikem).

shaping bez agregace.PNG

Strom Fronty na zařízení - download

Pokud v tabulce Přehled shapingu vybereme frontu zařízení, která má ve stavovém sloupečku zobrazenu šipku dolu (tj. na zařízení probíhá shapig downloadu), tak v této tabulce je pak zobrazena reálná struktura front, tak jak budou vygenerovány do daného zařízení.

Strom Fronty na zařízení - upload

Má-li fronta zařízení ve stavovém sloupečku zobrazenu šipku nahoru (tj. na zařízení probíhá shapig uploadu), tak v této tabulce je pak zobrazena reálná struktura front, tak jak budou vygenerovány do daného zařízení.

tip Stromy front v tabulkách Fronty na zařízení se mohou lišit strukturou, i když zadané zařízení bude shapovat pro oba směry. Důvodem je, že systém řeší strom pro upload a download odděleně a proces generování stromů mohou ovliňovat různé paramery a topologie sítě.

Jak může probíhat konfigurace shapovacích zařízení

Jednou z nejpoužívanějších metod je nastavování pomocí Mango Chatskriptů. Při konfiguraci se tak systém připojí pomocí Telnetu, SSH, SNMP, konfiguračního souboru atp. na zařízení. Je vytvořen Chatskript, který polde údajů ze stromu QueueTree zařízení nakonfiguruje. V případě chyby konfigurace je také vytvořena událost s chybovým stavem, na kterou lze navázat další alerting, procesy apod.

Logování konfigurace zařízení

Při každém přístupu systému na zařízení za účelem aktualziace shapingu je vytvořena událost, která obsahuje i transcript komunikace systému se zařízením a lze v něm vidět konkrétní příkazy posílané do zařízení. Údálosti jsou zobrazeny u vybraného zařízení v modulu Síť v tabulce Události zařízení. Kliknutím na název události se uobrazí okno s dialogem mezi systémem a zařízením. Proklikem na ID události sedostaneme do modulu Události a alerting, kde lze s událostí dále pracovat viz dokumentace pro daný modul.

capture-20160212-130058.png

Příklady implementace shapingu pro konkrétní řešení

arrowbright Implementace Mango shapingu v síti s routery Mikrotik
Topic attachments
I Attachment Action Size Date Who Comment
MK_LOGIN_CONFIGURATIONS.PNGPNG MK_LOGIN_CONFIGURATIONS.PNG manage 27 K 29 Mar 2017 - 08:05 SulakResalCz  
capture-20160211-165309.pngpng capture-20160211-165309.png manage 90 K 01 Mar 2016 - 14:53 NovotnyResalCz  
capture-20160211-165550.pngpng capture-20160211-165550.png manage 58 K 01 Mar 2016 - 15:05 NovotnyResalCz  
capture-20160211-165635.pngpng capture-20160211-165635.png manage 75 K 01 Mar 2016 - 15:12 NovotnyResalCz  
capture-20160211-165737.pngpng capture-20160211-165737.png manage 77 K 01 Mar 2016 - 15:18 NovotnyResalCz  
capture-20160212-114435.pngpng capture-20160212-114435.png manage 65 K 12 Feb 2016 - 10:50 NovotnyResalCz  
capture-20160212-130058.pngpng capture-20160212-130058.png manage 119 K 01 Mar 2016 - 15:30 NovotnyResalCz  
capture-20160212-144556.pngpng capture-20160212-144556.png manage 52 K 01 Mar 2016 - 14:32 NovotnyResalCz  
capture-20160212-161001.pngpng capture-20160212-161001.png manage 56 K 01 Mar 2016 - 14:51 NovotnyResalCz  
shaping.PNGPNG shaping.PNG manage 225 K 11 May 2016 - 06:56 SulakResalCz  
shaping_bez_agregace.PNGPNG shaping_bez_agregace.PNG manage 100 K 11 May 2016 - 06:40 SulakResalCz  
Topic revision: r11 - 31 Jul 2023, JaroslavKopeck
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback