Virtuální laboratoř počítačových sítí

Z VirtlabWiki

Přejít na: navigace, hledání

Obsah

Brief Project Overview in English

Úvodem

Smyslem projektu Virtlab je zpřístupnit laboratorní prvky pro praktickou výuku počítačových sítí vzdáleně prostřednictvím Internetu. Studenti si mohou pomocí WWW rozhraní rezervovat laboratorní prvky na určitý časový interval a následně k nim přistupovat pomocí běžného WWW prohlížeče s podporou Java appletů. Propojení laboratorních prvků se uskuteční automaticky podle výběru konkrétní úlohy ze souboru nabízených laboratorních úloh, nebo si student může zadat svou vlastní topologii.

Základní architektura
Zvětšit
Základní architektura

Systém nyní dovoluje spolupráci více lokalit vzájemně sdílejících síťové prvky a realizaci virtuálních síťových topologií přes Internet. Fyzické síťové prvky nutné pro vytvoření studentem vybrané topologie jsou v době rezervace vyhledávány dynamicky ve všech lokalitách.


Historie

Myšlenka virtuální laboratoře se vyvinula z potřeby poskytnout možnost řešení praktických laboratorních úloh studentům kombinovaného studia a také zpřístupnit jinak méně využité a často nákladné laboratorní síťové prvky pro samostatnou práci v časech mimo výuku.

Její vznik inicioval Petr Grygárek a postupně ji realizuje s pomocí diplomantů, zejména inženýrského studia, na katedře informatiky. Základní koncepce systému byla definována v roce 2005 v diplomové práci Pavla Němce, který implementoval i základní prototyp aplikace. O rok později prototyp rozšířil formou diplomové práce Roman Kubín, který implementoval bezpečnostní prvky, podporu práce studentů s tutorem a v návaznosti na Automatizovaný systém správy síťových konfigurací (ASSSK a.k.a. Tatabazmek) vyvinutý v rámci diplomové práce Davida Seidla možnost definice vlastní topologie propojení síťových prvků podle přání studenta.

Koncepci automatizovaného systému pro spojování topologií poté Petr Grygárek zobecnil, aby bylo možné propojovat nejen sériové porty, ale i Ethernet porty včetně trunk spojů. Příslušné konfigurační skripty implementoval Jiří Dvořák, čímž vzniklo tzv. virtuální spojovací pole. Později byla s pomocí Tomáše Kučery do systému implementovány pracovní stanice simulované s použitím instancí User Mode Linux a za podpory Jiřího Dvořáka také virtuální směrovače Cisco 7200 realizované s použitím projektu DynaMIPS/DynaGen. Martin Milata následně nahradil simulaci stanic pomocí UML použitím XEN, který se ukázal se systémem Virtlab lépe integrovatelný (přístup na konzole pomocí čistého TCP spojení).

Diplomant Ing. Davida Seidla Petr Sedlář v roce 2007 reimplementoval ASSSK-1 s použitím FPGA (nové zařízení je nazýváno ASSSK-2), což zjednodušilo opakovanou realizaci a řešení výrazně zlevnilo. Ve stejné době dokončili diplomanti Jan Vavříček a Tomáš Hrabálek na distribuované verzi Virtlabu, která umožňuje vytvářet rozsáhlejší topologie z laboratorních prvků umístěných v několika lokalitách připojených k Internetu a optimálně mapovat fyzické laboratorní prvky pro topologie úloh paralelně požadovaných různými studenty. Jiří Dvořák reimplementoval podle návrhu Petra Grygárka konfigurační skripty spojovacího pole pro podporu více lokalit, což umožnilo vytváření virtuálních topologií přes Internet pomocí tunelovacího serveru Tomáše Hrabálka. Spojovací systém je nyní nazýván distribuovaným virtuálním spojovacím polem, které dovoluje tunelovat provoz mezi segmenty virtuálního spojovacího pole umístěnými v jednotlivých lokalitách.

Aktuální vývoj (duben 2008)

V současné době je provozována distribuovaná virtální laboratoř mezi VŠB-TU Ostrava a SLU OPF v Karviné. Distribuovaná topologie byla vybudována s podporou grantu Fondu rozvoje sdružení Cesnet č. 213/2006.

V. Bortlík v rámci své DP zobecňuje konfigurační skripty distribuovaného virtuálního spojovacího pole a tunelovací server do podoby univerzálního tunelovacího systému - heterogenního distribuovaného virtuálního spojovacího pole, které má za cíl enkapsulovat potenciálně různorodé technologie používané pro spojování laboratorních prvků v jednotlivých lokalitách a sjednotit způsob předávání provozu mezi prvky různých lokalit definicí jednotného formátu enkapsulace rámců tunelovaných přes Internet. Podporováno bude tunelování provozu mezi dvojicemi LAN i WAN portů síťových prvků.

V návaznosti na vývoj heterogenního distribuovaného virtuálního spojovacího pole momentálně dále pracujeme na řešeních, která umožní přes Internet tunelovat nejen ethernetové, ale i sériové WAN linky laboratorních prvků. Jedná se zejména o vývoj vlastní víceportové synchronní sériové karty do PC s ovladači pro Linux, další rozšíření ASSSK2 a vývoj plně distribuovaného spojovacího pole na bázi převodníků Ethernet-RS232 propojených počítačovou sítí.

V rámci dokončovaných DP se do systému integruje mechanismus sond pro sledování provozu na libovolné z linek laboratorní topologie (zatím jen Ethernet, později bude zobecněno) a Honeypot server pro simulaci většího množství sítí a služeb.

K vývoji systému mezi sebou rádi uvítáme další spolupracovníky a to i formou diplomových prací (Bc. i Mgr.)

Vývojový tým

Petr Grygárek 
Ideový návrh, koordinace vývoje, integrace řešení, správa serveru v rámci pilotního projektu nasazení
Pavel Němec 
Původní návrh a implementace softwarového řešení (DP)
David Seidl 
Hávrh a implementace hardwarové konstrukce pro spojování sériových portů a portů 10BaseT laboratorních síťových prvků (DP)
Filip Staněk 
Instalace a správa operačního systému serveru Virtlabu
Martin Milata 
Správa produkčního prostředí systému Virtlab (laboratorní prvky, systém, databáze). Implementace simulovaných stanic na bázi XEN.
Roman Kubín 
Implementace bezpečnostních prvků systému, implementace role tutora, celkové vylepšení systému (DP)
Jan Vavříček 
Implementace paralelního spouštění úloh s dynamickým mapováním fyzických síťových prvků na prvky úloh (DP)
Tomáš Hrabálek 
Implementace distribuovaného řešení a realizace virtuálních topologií přes Internet (DP)
Jiří Dvořák 
Implementace systému řízení Virtuálního spojovacího pole
Adam Janošek 
Testování a podpora vývoje
Tomáš Kučera 
Podpora vývoje.
Tunelovací server, Konzolový server, (Konfigurační server),
user-mode linux - nezávislé virtuální instance Linuxu
Jiří Štěrba 
Testování a podpora vývoje.
Karel Zapletal 
Testování a podpora vývoje (zejména distribuovaný Virtlab).
Petr Sedlář 
Reimplementace ASSSK1 s použitím FPGA
Kateřina Bambušková 
Práce pro nasazení distribuovaného Virtlabu do pilotního provozu.
Ivan Doležal 
Časování systému, zpracování asynchronních událostí. Monitoring systém.
Václav Bortlík 
Distribuovaný univerzální tunelovač
Jan Rudovský 
GUI prvky, pluginy do Dia
Zdeněk Filipec 
Automatizace testování konfigurací, podpora pro hodnocení studentů


Vývojový tým mezi sebou rád uvítá další zájemce o vývoj SW i HW, design webových stránek i konfigurace a testování systému. Mnohé z vývojových prací mohou být realizovány také formou DP (Ing. i Bc.). Zájemci mohou kontaktovat koordinátora vývoje, viz Kontakty uvedené níže.

Kontakty

Koordinátor vývoje:

e-mail petr<tecka>grygarek<zavinac>vsb<tecka>cz

tel. +420 59 732 3243

Celý vývojový tým:

virtlab<zavinac>cs<tecka>vsb<tecka>cz

Osobní nástroje