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:
- Datový profil nemusí respektovat informační obsah přenášených dat.
- Datový profil je generován z četnosti výskytu datového obsahu TCP
paketůsegmentů.
- Jednotný předpis pro generovaná data – XML syntaxe.
- Možnost vytvářet synteticky generované datové profily.
- Možnost vytvářet datové profily z reálných záchytů v síti.
Interpretace datového toku:
- Možnost generovat TCP a UDP datové toky v následující konfiguraci:
- TCP relace s čistým potvrzováním ACK.
- TCP relace s potvrzováním ACK s neseným datovým obsahem (piggybacking).
- Datová relace s kontinuálním přenosem paketů.
- Datová relace s impulsním dávkovým režimem (burst) přenosu.
- Přenos několika současných nezávislých datových relací.
- Přenos několika současných závislých datových relací.
- Možnost generovat data v aplikacích OMNeT++.
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ů.