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.
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.
Více info:
Dx služba Chatskripty pro pokročilý provisioning zařízení a sítě
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
- SERVICE_3M_Queu
- AP2_Queu
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.
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í.
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í.
U fronty služby je možné upravit parametry z definice služby.
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.
Pokud v definici služby smažu parametr
agregační poměr, fronta pro CPE se vytvoří přímo pod shaperem (mikrotikem).
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í.
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.
Příklady implementace shapingu pro konkrétní řešení
Implementace Mango shapingu v síti s routery Mikrotik