Simulační model pro energetické komunikační sítě

Autor: P. Jareš, J. Vodrážka <jaresp(at)fel.cvut.cz>, České vysoké učení technické v Praze, FEL, Téma: Simulace sítí, Vydáno dne: 20. 12. 2014

Simulační model sítí založený na protokolech UDP/TCP/IP/Ethernet v prostředí OMNeT. Zahrnuje knihovny pro podporu virtuálních sítí VLAN a podporu parametrů kvality služby (QoS). Pro usnadnění konfigurace simulačního modelu byl vytvořen syntaktický analyzátor (parser) pro převod nastavení z konfiguračního souboru síťového prvku Cisco do konfiguračního souboru v prostředí OMNeT++.

Pokud má datová síť sloužit k poskytování komunikačních služeb s vysokými nároky na kvalitu služby (vysoké přenosové rychlosti, vysoká dostupnost, pod.) je zřejmé, že je velmi vhodné ověřit komunikační parametry datové sítě před jejím uvedením do provozu. Pro ověření je možné vystavět kompletní model sledované datové sítě například v laboratorních podmínkách a na tomto modelu ověřovat parametry za různých provozních stavů. Toto řešení však vyžaduje vysoké pořizovací finanční náklady při realizaci modelu a navíc je takový to způsob velmi neflexibilní, neboť model umožňuje testovat pouze tu topologii sítě, pro kterou byl vytvořen. Výhodou modeluje pak vysoká věrnost výsledků. Vhodnějším způsobem pro ověření komunikačních parametrů sledované datové sítě je využití softwarových simulačních nástrojů.

1 Simulační prostředí OMNeT++

Pro vyhodnocení vlastností a chování jak síťových prvků, tak komunikačních protokolů se jeví jako nejefektivnější využití některého ze simulačních nástrojů. Z pohledu poskytovaných možností a vlastností byl pro tento projekt vybrán nástroj, simulační prostředí OMNeT++, jež je tzv. Open Source a je udržován otevřenou komunitou vývojářů. To přináší své výhody, ale i nevýhody. Zatímco velkou výhodou je možnost bezplatného využití akademické licence a jeho dostatečná robustnost a komplexnost, kterou se vyrovná profesionálním komerčním produktům, může na druhou stranu být nevýhodou nedostatečná podpora a nepravidelný vývojový cyklus.

2 Možnosti simulace reálné datové sítě v OMNeT++

V roce 2015 byla vydána nová verze knihovny INET 3.0.0, která přináší určitá vylepšení, rozhodně však ne plnou implementaci, v oblasti funkcionalit VLAN, STP/RSTP a QoS. Knihovna INET 3.0.0 nově obsahuje implementaci protokolů STP i RSTP. Složený modul EthernetSwitch pro ethernetové datové sítě, který je v knihovně hotový a připraven pro přímé použití v simulacích, s možností využití těchto protokolů počítá (jako s volitelnými). V základní struktuře tohoto modulu je realizována příprava pro implementaci virtuálních sítí VLAN. Samotná implementace VLAN však stále chybí. Problematika prioritizace provozu a zajištění kvality služby QoS není však řešena vůbec. Podpora RTSP se ukazuje jako ne příliš funkční ve spojeni s modelem EtherVlanSwitch, který byl vytvořen v rámci řešení projektu pro simulace komunikačních sítí podporujících sítě energetické, případně jiné sítě s kritickou infrastrukturou.

3 Vývoj funkcionalit pro model komunikační sítě

Knihovna INET 3.0.0 aktuálně obsahuje základní podporu VLAN v modulu přepínače EtherSwitch a rozhraní EthernetInterface. Tuto podporu je možné využít k implementaci nového rozhraní s podporou VLAN. Při vlastní implementaci funkcionality VLAN byla vytvořena pracovní kopie celého modulu EtherSwitch s novým pojmenováním EtherVlanSwitch tak, aby bylo možné implementovat nové objekty nutné pro funkcionalitu VLAN, jako je například nová tabulka přiřazení port/typ/VID (VID, VLAN identifier). Dále bylo nezbytné rozšířit ethernetový datový rámec o IEEE 802.1Q značku. Z důvodu jednodušší integrace nových prvků do knihovny INET byl podprojekt umístěn do samostatného adresáře Ieee8021q. V tomto adresáři byly vytvořeny mimo následující moduly i hlavičkový soubor s definicemi základních parametrů IEEE 802.1Q pojmenovaný EtherVlanDefs.h a datový rámec se značkou IEEE 802.1q pojmenovaný Ethernet1QFrame.msg, který vychází z datového rámce pro Ethernet II ze základní knihovny INET. Logiku přepínání původních ethernetových rámců typu Ethernet II obstarává modul RelayUnit. Pro potřeby nové funkcionality VLAN byl vytvořen nový modul Ieee8021dRelay, který již pracuje s nově předpřipraveným modulem MACAddressTable z knihovny INET. Výběr modulu RelayUnit nebo Ieee8021dRelay je možné provést z konfiguračního souboru. Celý softwarový podprojekt VLAN je popsán digramem tříd definující metody a vztahy mezi jednotlivými třídami.

Implementace funkcionality prioritizace a kvality služby QoS je s ohledem na možnost řešit problematiku prioritizace a kvality služby na různých komunikačních vrstvách ISO/OSI modelu. Náročnost implementace prioritizace a QoS do simulačního modelu je také znásobena faktem, že je provedena pouze standardizace v oblasti způsobu označení přenášených dat. Není však provedena standardizace (nadefinování) konkrétních metod a algoritmů pro práci s označenými daty. Zde je vše ponecháno na výrobcích síťových zařízení a na jejich volbě využití některého z obecně známých principů a metod. Z tohoto důvodu a s ohledem na velmi vysokou úroveň dokumentace a vysokou penetraci na trhu se síťovými zařízeními, byla vybrána firma Cisco Systems, Inc, jejíž způsob zajištění prioritizace a QoS byl implementován do modelu síťového prvku v simulačním prostředí. Při implementaci prioritizace a QoS bylo využito neinvazivního přístupu k modulům v knihovně INET a to tak, že připojení modulů pro podporu prioritizace a QoS je realizováno pomocí rozhraní Input a Output Hook v modulu EthernetInterface. V rámci vývoje se také ukázalo jako nezbytné vytvořit parser konfigurace síťových prvků firmy Cisco Systems, Inc tak, aby bylo možné pro konfiguraci přepínačů v rámci simulace použít reálnou konfiguraci zařízení bez dalších úprav. Kvůli dostatečné variabilitě testovacích scénářů, se prvotní fáze implementace modulů QoS zaměřila na podporu klasifikace na třetí a vyšších vrstvách ISO/OSI modelu. Vzhledem k rozsáhlým možnostem konfigurace prioritizace a QoS na zařízeních firmy Cisco, byla funkcionalita implementována postupně. Nejprve byly implementovány především funkce pro základní přiřazení priority paketů pomocí DSCP a následně pak funkce na pro zpracování paketů a řazení do front na výstupních rozhraních.

Univerzální datový generátor (UDG) je určen pro generování libovolného datového profilu na bázi protokolu TCP. Vstupem je požadovaná datová posloupnost na 4 vrstvě RM ISO/OSI a výstupem je konkrétní datový provoz vložený do přenosového protokolu TCP. UDG je složen koncepčně z 2 částí. Příprava generovaných dat se odehrává v generátoru datového profilu. Výstupem je popis generovaného datového toku uložený ve formátu XML. Vytvořený datový předpis v XML souboru lze následně interpretovat pomocí datového interpretu v podobě modulu pro simulační prostředí OMNeT++. Popis datového toku:

Interpretace datového toku:

4 Archivy pro stažení

V rámci projektu byla rozšířena knihovna INET 3.0.0, jež je základní knihovnou pro simulaci datových sítí v diskrétním simulačním prostředí OMNeT++. Tato knihovna je otevřenou platformou. Díky tomu je možné realizovat i komplexní simulace s využitím přesných simulačních modelů. Nevýhodou je, že jako každý OpenSource projekt je i tento v neustálém vývoji a často je nutné zasáhnout přímo do kódu jednotlivých modulů v knihovně, aby naplnil požadavky pro daný simulační scénář. Jednotlivé moduly typicky vznikají pro specifické použití a nepokrývají celou funkcionalitu danou standardem, což je i náš případ s IEEE 802.1Q.

Dodaný model energetické sítě integruje všechny vytvořené moduly a demonstruje jejich použití. Zároveň v této zprávě prezentujeme nový generátor datových toků pro OMNeT++, který stojí samostatně mimo INET a nemá v této knihovně žádnou alternativu. S vývojem UDG byla spojena i potřeba generování datových toků k simulaci, pro něž vznikl jednak analyzátor reálného toku IEC 60870-5-104, ale také generátor XML předpisů pro masivní simulační scénáře. Model sítě byl navržen modulárně tak, aby uživatel mohl jednoduše změnou parametrů v INI souboru ovlivnit nejen topologii, ale simulované datové toky. Modularita vytvořených modulu navíc umožňuje jejich použití v dalších nově vytvořených modelech síťových prvků.

Díky integraci VLAN a RSTP je možné simulovat i redundantní topologie a zároveň využít logického oddělení síťových segmentu na spojové vrstvě, což je z pohledu datových sítí v energetice na mnoha úrovních stěžejní. Navíc při propojení s externí konfigurací reálných přepínačů, je možné ověřit jejich nastavení přímo v simulačním modelu a optimalizované je zpětně nasadit do produkčního prostředí.

Při simulaci je nutné si uvědomit, že změnou parametrů v INI souboru může celá topologie velmi rychle narůst z pohledu počtu koncových stanic, RTU. To může vést obzvláště v kombinaci s velkým množstvím datových toků k neúměrně dlouhé době simulace. Je nutné vždy dopředu dobře zvážit, které části sítě je nezbytně nutné simulovat.

Celý model byl společně s doprovodnými knihovnami, samostatnou UDG a modifikovaným INET 3.0.0, zakomponován do předinstalované virtuální apliance obsahující simulační prostředí OMNeT 4.6. Je tedy možné popsané simulační modely jednoduše spustit přímo po spuštění této virtuální apliance. Podmínkou je pouze počítač s virtualizační platformou VirtualBox 5+, do které lze lehce aplianci importovat. Po naimportování apliance a jejím spuštění je uživatel přímo uveden do simulačního prostředí, kde je možné modifikovat simulační scénáře a spustit simulaci.

Uvedené modely je možné si stáhnout prostřednictvím sekce "Ke stažení" a "Projekt č. VG20132015104". Přímý odkaz zde.

Tento SW vznikl za podpory grantu Ministerstva vnitra číslo VG20132015104 „Výzkum a vývoj bezpečných a spolehlivých komunikačních síťových zařízení pro podporu rozvodu elektrické energie a dalších kritických infrastruktur“ řešeného ve spolupráci se společností TTC Telecomunikace.

Copyright © 2014 České vysoké učení technické v Praze, Fakulta elektrotechnická, Katedra telekomunikační techniky. Hégr, T. - Chlumský, P. - Vondrouš, O.

All rights reserved. Všechna práva vyhrazena. Výsledky výpočtů a simulací mohou být citovány s uvedením odkazu na zdroj obsahující autora, název programu a úplný hypertextový odkaz na program. Použití programu je možné pouze pro informativní, výukové, nekomerční nebo osobní účely. Použití za jiným účelem je trestné podle autorského, občanského nebo trestního práva. Autoři nenesou zodpovědnost za přímé či nepřímé finanční ani majetkové újmy, sníženou použitelnost majetku, poškození smluvních vztahů, protiprávní jednání, poškození zdraví ani za jakékoliv jiné újmy v souvislosti s používáním zveřejněných výsledků.