|
ISSN 1214-9675 Server vznikl za podpory Grantové agentury ČR. 21. ročník |
Témata
Doporučujeme
Kontakt
|
Semivirtuální distribuovaná platforma pro výuku a testování konfigurací počítačových sítíVydáno dne 18. 08. 2009 (11712 přečtení)Článek popisuje distribuované prostředí pro testování, výuku a výzkum konfigurací počítačových sítí vyvinuté v rámci projektu Virtlab na FEI VŠB-TU Ostrava a provozované v pilotní konfiguraci spolu s pracovištěm Slezské univerzity v Karviné. The Semivirtual Distributed Platform for Training and Testing of Computer Network Configurations - AbstractThe article describes a distributed semivirtual environment for testing, teaching and research of computer network configurations which was developed in scope of Virtlab project at DCSE of VSB-Technical university of Ostrava and is operated together with partner site of Silesian University at Karvina. After a brief description of Virtlab project history, the system philosophy, architecture and key features are presented, together with experience gained during usage of Virtlab system in university networking courses for teaching the practical network devices' configuration. Keywords: virtual laboratory, networking testbed, networking education ÚvodPro testování síťových konfigurací před jejich nasazením do reálného provozu, experimentování s novými síťovými technologiemi i nácvik praktické konfigurace počítačových sítí ve výuce je vhodné mít k dispozici dostatečně rozsáhlé laboratorní prostředí, které by takováto použití dovolovalo. Protože jsou však vybudování a trvalá aktualizace kvalitního testovacího prostředí finančně velmi nákladné, je žádoucí při jeho výstavbě integrovat zdroje z více pracovišť, zajistit nepřetržitý provoz a formou vhodně řízeného vzdáleného přístupu maximalizovat využití uživateli ze všech participujících institucí. Následující článek popisuje infrastrukturní technologii pro takovéto prostředí, kterou postupně vytváříme v rámci projektu Virtlab na fakultě elektrotechniky a informatiky VŠB-Technické univerzity v Ostravě a za podpory sdružení Cesnet od roku 2007 také provozujeme v pilotní distribuované konfiguraci ve spolupráci s karvinskou Obchodně-podnikatelskou fakultou Slezské univerzity v Opavě. V současné době využívá služeb této distribuované virtuální laboratoře přes 350 studentů předmětů vysokoškolského studia orientovaných na počítačové sítě a kurzů programu Cisco Networking Academy obou spolupracujících univerzit. Historie projektuPrvní práce na projektu Virtlab započaly již v roce 2005 [1][2]. Prvotním cílem bylo vzdáleně zpřístupnit laboratorní síťové prvky propojené na počátku ještě do pevné topologie. Již od počátku byl systém orientován na nabízení konkrétních laboratorních úloh, poskytujících studentům smysluplná zadání a návody k procvičování konfigurací konkrétních síťových technologií a protokolů. Z důvodu nutnosti manuálního zapojování laboratorní topologie administrátorem byly laboratorní úlohy s různou topologií poskytovány tak, že systém nabízel formou nástěnky k rezervaci časová okna z úseků, v nichž byla k dispozici vždy konkrétní úloha. Mezi úseky s úlohami vyžadujícími různé topologie prvků administrátor přepojoval topologie manuálně (obr. 1). Obr. 1 Prvotní koncepce Virtlabu - vzdálené zpřístupnění laboratorních prvků s manuálně zapojovanou topologií Protože tento režim neumožňoval laboratorní zařízení využít příliš efektivně a zohlednit aktuální zájem uživatelů o konkrétní úlohy, vybudovali jsme postupně systém automatizující propojování topologií a tím dokázali přejít na způsob rezervace, kdy si vzdáleně pracující uživatelé sami volí, jakou úlohu chtějí v jimi určeném časovém intervalu zpřístupnit. Zavedli jsme i možnost propojit laboratorní prvky do libovolné, uživatelem požadované topologie pro vlastní experimenty nezávislé na souboru nabízených předdefinovaných úloh. Topologie je nyní před vzdáleným zpřístupněním laboratorního zařízení na dobu rezervace propojena automaticky pomocí k tomu účelu vyvinutého virtuálního spojovacího pole, tvořeného jednak vlastními hardwarovými prototypy a jednak komerčně dostupnými Ethernet přepínači s podporou VLAN (obr. 2, blíže viz kap. Distribuované virtuální spojovací pole). Obr. 2 Propojení laboratorních prvků pomocí virtuálního spojovacího pole Dalším důležitým krokem bylo oddělení popisu požadované topologie od identit konkrétních fyzických prvků, které budou v dané rezervaci použity. Principem tohoto rozšíření je vyhledávání fyzických zařízení vhodných pro realizaci laboratorní topologie konkrétní úlohy dynamicky, čímž jsme dosáhli oproti předchozí variantě statického přiřazení význačného omezení konfliktů o konkrétní zařízení. Do systému jsme postupně integrovali vedle reálných síťových prvků také simulovaná zařízení, zejména koncové počítače provozované na virtualizační platformě XEN. Rovněž jsme experimentovali s možností simulace části sítě s množstvím služeb s použitím volně dostupného software honeypotd [3]. Výsledné semivirtuální prostředí tak může vhodně kombinovat reálné prvky, jejichž chování a konfiguraci není možné snadno simulovat, s cenově, prostorově i energeticky výhodnými prvky virtualizovanými. Po určité době provozu výše uvedených řešení jsme si uvědomili potenciál sdílení laboratorního vybavení mezi více pracovišti a navrhli distribuovanou verzi Virtlabu, která umožnila dynamicky vytvářet rozsáhlejší distribuované virtuální topologie z laboratorních prvků umístěných v několika lokalitách připojených k Internetu (obr. 3). K tomu účelu bylo třeba jednak vyvinout distribuovanou variantu virtuálního spojovacího pole a jednak zobecnit architekturu systému tak, aby umožňovala spolupráci několika lokalit, které však v případě organizační potřeby nebo rozpadu konektivity mohou pracovat také v plně autonomním režimu. Obr. 3 Vytváření distribuovaných virtuálních topologií z prvků ve více lokalitách Následující odstavce si kladou za cíl stručně seznámit čtenáře s architekturou semivirtuálního distribuovaného systému Virtlab, způsobem jeho nasazení do reálného použití a novými vlastnostmi, které jsou do systému postupně implementovány pro zvýšení pohodlí uživatelů i jeho celkové užitné hodnoty. Základní architekturaZákladní myšlenkou distribuované architektury systému Virtlab je jeho plná decentralizace, tj. nezávislost funkce jednotlivých lokalit, které si mezi sebou mohou pouze vzájemně "vypůjčovat" laboratorní prvky a úlohy [4]. Systém neobsahuje žádný centrální prvek, na jehož funkčnosti by byly jednotlivé lokality jakkoliv závislé. Každá lokalita může nezávisle definovat, které své laboratorní prvky bude ve specifikovaných časových obdobích zapůjčovat pro rezervaci uživatelům jednotlivých spolupracujících lokalit. Koncepci celého řešení jsme se snažili pojmout jako maximálně modulární a tudíž flexibilní a rozšiřitelnou. Každá lokalita hostuje několik komponent s přesně vymezenými funkcemi a způsobem interakce s odpovídajícími komponentami v partnerských lokalitách. Nejviditelnější komponentou, která je přítomna ve všech lokalitách, je řídící server lokality, který tvoří uživatelský webový portál a plánuje koordinaci interakcí ostatních komponent lokality. Komponenta rezervačního serveru eviduje informace o zápůjčkách lokálních laboratorních prvků a naopak zajišťuje i vyjednání pronájmu laboratorních prvků v cizích lokalitách pro uživatele místní lokality. Konzolový server zprostředkovává přístup ke konzolám laboratorních prvků lokality s tím, že monitoruje a autorizuje aktivity uživatelů na jednotlivých síťových prvcích, aby nedošlo k nežádoucímu poškození iniciální předkonfigurace nebo k zablokování přístupu pro následující uživatele. Tunelovací servery lokalit jsou jádrem implementace distribuovaného virtuálního spojovacího pole a umožňují vytvářet distribuované virtuální topologie mezi rozhraními laboratorních prvků rozprostřených v jednotlivých lokalitách. Další komponenty zajišťují pomocné servisní činnosti, jako smazání konfigurace nebo požadovanou předkonfiguraci síťových prvků před začátkem každé rezervace. Interakce jednotlivých komponent jsou detailněji popsány v [4]. Protože je předpoklad postupné distribuce systémů do lokalit pracujících v různých časových zónách, probíhají veškeré interakce mezi komponentami s odkazy na UTC s tím, že GUI portálu jednotlivých lokalit provádí převod do lokálního času preferované časové zóny nastavitelné individuálně pro každého uživatele. Ze stejného důvodu jsou architektura GUI a zadání úloh navržena tak, aby uživatelé mohli volit jazyk, ve kterém chtějí se systémem interagovat. Výběr laboratorních prvků pro rezervace uživatelůAbychom předešli konfliktům plynoucích z explicitního předpisu fyzických zařízení nutných pro realizaci topologie konkrétní úlohy (obr. 4), rozhodli jsme se oddělit popis požadavků na laboratorní prvky a jejich propojení (označovaný jako logická topologie) od fyzických identit konkrétních použitých laboratorních prvků. Oddělení jsme realizovali definicí popisu požadavků na prvky a jejich propojení pro konkrétní úlohu na logické úrovni a vložením mezivrstvy mapující tento předpis na fyzické laboratorní prvky, které jsou v časovém intervalu požadované rezervace k dispozici (obr. 5). Aktuálně dostupné fyzické laboratorní prvky pro požadovaný časový interval jsou v okamžiku rezervace úlohy poptávány ve všech lokalitách. Toto řešení se ukázalo nezbytné i s ohledem na fakt, že udržovat globální přehled o veškerém potenciálně využitelném laboratorním vybavení dostupném v celém distribuovaném systému není pro tvůrce úloh reálné a z hlediska správy systému ani žádoucí. Cílem je naopak zajistit, aby správcové jednotlivých lokalit mohli sami a pružně stanovovat, která zařízení jsou kdy ochotni nasdílet do ostatních lokalit a měli i možnost některá svá zařízení před ostatními lokalitami "ukrýt" a zpřístupnit pouze svým vlastním uživatelům. Explicitní předpis fyzických laboratorních prvků použitých v úlohách se rovněž neosvědčil v poměrně častém modelu použití, kdy je třeba paralelně vytvořit velké množství instancí téže úlohy pro více skupin studentů současně řešících tentýž úkol. Dynamické mapování rovněž automaticky řeší problém porouchaných nebo dočasně odstavených laboratorních prvků. Vložením mezivrstvy mapování uživatelem předepsané topologie na vyhovující fyzické laboratorní prvky jsme naopak dosáhli možnosti velmi pružného využití laboratorního vybavení, protože je možné paralelně provozovat různé laboratorní úlohy podle okamžitého zájmu uživatelů, pokud pro ně ve spolupracujících lokalitách existuje dostatečné množství libovolných vyhovujících laboratorních prvků. Obr. 4 Konflikt o fyzické zařízení v případě pevné specifikace fyzických identit laboratorních prvků pro realizaci topologie Obr. 5 Dynamické mapování požadovaných zařízení na konkrétní fyzická zařízení O optimální výběr fyzických zařízení reprezentujících jednotlivé (logické) prvky předpisu požadované topologie se stará tzv. mapovací algoritmus. Jeho vstupy jsou požadovaná topologie a seznam fyzických laboratorních prvků dostupných v uživatelem požadovaném časovém intervalu v místní lokalitě nebo nabízenými ke sdílení z cizích lokalit. Technicky jsou oba tyto vstupy mapovacího algoritmu definovány v jazyce XML. Nabídku prvků z ostatních lokalit získá řídící server místní lokality rezervujícího uživatele dotazem na ostatní lokality prostřednictvím lokálního rezervačního serveru. Mapovací algoritmus při své činnosti bere ohled na všechny požadavky kladené v popisu požadované topologie. Mimo možnosti specifikace typů zařízení (směrovač, přepínač, firewall, PC, ...), jejich platformy a topologie propojení se jedná zejména o požadavky na speciální hardwarové nebo softwarové vlastnosti laboratorních prvků (např. přítomnost určitého hardwarového modulu nebo podpory jisté funkce ve firmware). U spojů můžeme předepsat požadovanou technologii (Ethernet, Serial), přenosovou rychlost, případně pak i zvláštní vlastnosti síťových rozhraní laboratorních prvků přiléhajících k danému spoji (např. podpora funkce v režimu trunk). Obecně mapovací algoritmus preferuje použití laboratorních prvků z lokality uživatele, který o rezervaci úlohy požádal. Výsledkem mapovacího algoritmu je stanovení globálních identifikátorů laboratorních prvků určených pro fyzickou realizaci jednotlivých logických prvků požadované topologie a definice způsobu jejich propojení konkrétními fyzickými síťovými rozhraními těchto prvků. Následně je nutné na dobu rezervace příslušné úlohy zajistit automatické propojení příslušných rozhraní a to buďto přímo (u prvků v téže lokalitě) nebo virtuálně vhodným tunelováním provozu v případě spoje mezi fyzickými prvky umístěnými v různých lokalitách.Distribuované virtuální spojovací pole
Funkci automatického propojení zajišťuje tzv. Distribuované virtuální spojovací pole (Distributed Virtual Crossconnect, DVC), které umožňuje podle požadavků propojovat (reálné i simulované) laboratorní prvky ve všech lokalitách a vytvářet tak distribuované virtuální topologie (obr. 3). DVC je tvořen jednak hardwarovými spojovacími zařízeními nejrůznějších typů (komerčních i vlastních prototypů) a jednak vlastním softwarem tzv. tunelovacího serveru, který koncentruje provoz od lokálních laboratorních zařízení, přemosťuje jej mezi lokálními zařízeními a zajišťuje jeho tunelování mezi lokalitami distribuovaného Virtlabu. Některá spojovací zařízení tunelovací server může také konfigurovat (např. aktivace a deaktivace jednotlivých portů LAN přepínače přivádějícího provoz od Ethernet rozhraní laboratorních prvků pomocí VLAN).
Laboratorní úlohy a jejich využití ve výuce
Vedle technických možností Virtlabu je jeho praktická použitelnost spoluutvářena i rozsahem a zaměřením laboratorních úloh, které jsou v něm uživatelům k dispozici. K nejužívanějším úlohám momentálně patří soubor orientovaný na přepínání a směrování v LAN a WAN tvořený cca 20 úlohami vyvinutými instruktory RCNA Ostrava a vypracovaných paralelně v češtině a angličtině. V rámci řešení bakalářských prací [9][10] byly rovněž vyvinuty soubory úloh pro kurzy Network Security I a II programu Cisco Networking Academy, které doplňují a zkvalitňují původní úlohy poskytované v rámci standardního curricula firmou Cisco. Úlohy jsou navíc na rozdíl od původních úloh zaměřených na zařízení Cisco PIX koncipovány pro perspektivnější řadu firewallů Cisco ASA. Z úloh implementovaných do systému Virtlab dále stojí za zmínku semestrální projekt předmětu Počítačové sítě (Bc.) (http://www.cs.vsb.cz/grygarek/PS/projekt0910Z.html) zahrnující kompletní návrh sítě WAN včetně síťových služeb a semestrální projekt kombinovaného studia předmětu Směrované a přepínané sítě (http://wh.cs.vsb.cz/sps/index.php/SPS_projekty_2008_2009).
Další plányArchitekturu Virtlabu i jeho implementaci hodláme i v budoucnu nadále rozšiřovat. Mezi nejvýznamnější plánovaná a již částečně implementovaná rozšíření patří možnost vzájemného dynamického propojování nezávisle rezervovaných virtuálních topologií pomocí tzv. konektorů, což studentům umožní snadno vytvářet i velmi rozsáhlé síťové topologie pro nejrůznější experimenty. Spojovací mechanismus bychom chtěli rozšířit o garanci kvality služby na virtuálních linkách a zavést do něj podporu pro simulaci chybovosti jednotlivých spojů. S použitím softwarového rozhraní SOAP [14] chceme dále rozšířit řízenou výměnu informací mezi lokalitami, zejména se zaměřením na sdílení zadání úloh vypracovaných pedagogy v jednotlivých lokalitách. Virtuální laboratoř se rovněž snažíme integrovat se simulátorem PacketTracer, aby mohla část topologie být simulována na PacketTraceru a část obsahující speciální prvky hostována na systému Virtlab [15]. Uživatelům také chceme dát možnost integrace jejich vlastního počítače přímo do laboratorní topologie a využít tam veškerý software, který mají na svém počítači instalován. Od září 2009 počítáme s masivním nasazením systému automatického testování studentských konfigurací do výuky pro cca 300 studentů. O zkušenostech s realizovanými rozšířeními a vybraných zajímavých částech architektury systému Virtlab se budeme snažit postupně referovat v dalších článcích navazujících na toto všeobecné seznámení. PoděkováníProjekt distribuované virtuální laboratoře Virtlab byl postupně podpořen projekty Fondu rozvoje sdružení Cesnet č.213/2006 a 280/2008 a granty Fondu rozvoje vysokých škol č. 2247/2007 a 1212/2008. Literatura
[1] GRYGÁREK, Petr, SEIDL, David, NĚMEC, Pavel. Zpřístupnění prvků laboratoře počítačových sítí pro praktickou výuku prostřednictvím Internetu. In Technologie pro e-vzdělávání. Praha : ČVUT, 2005. s. 10. ISBN 80-01-03274-4. Autor: P. Grygárek, M. Milata, J. Vavříček Pracoviště: Vysoká škola báňská - Technická univerzita Ostrava |
Zprávy
UPOZORNĚNÍ
Činnost serveru byla ukončena.
|
Tento web site byl vytvořen prostřednictvím phpRS - redakčního systému napsaného v PHP jazyce.
Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
nebo registrovanými ochrannými známkami příslušných vlastníků.