Virtlab:Společná část diplomové práce

Z VirtlabWiki

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

Obsah

Omezení současné verze Virtlabu

Nejstarším omezením byla pevná fyzická topologie. Jestliže bylo potřeba změnit fyzickou topologii, musel zodpovědný člověk jednotlivé prvky lokality ručně propojit do nově požadované topologie. Tento výrazně omezující faktor se podařilo překonat pomocí ASSSK-1. Toto zařízení dokáže propojovat seriové linky na základě příkazů, které jsou mu předávány. Zapojení určené fyzické topologie, lze tedy jednoduše automatizovat. I když ASSSK-1 dokáže propojovat seriové linky i ethernet, byla pro propojování ethernetu časem použita jiná technika, aby se množství propojitelných linek nesnižovalo – když pro propojování seriových linek nemáme žádné jiné řešení.

Zmíněné propojování ethernetu bylo časem realizováo technikou zvanou Q-in-Q na Cisco přepínačích řady 3550. Tato technika, jak už zkratka napovídá, je založena na technologii 802.1q, která zavádí VLANy. Přidáním 2B dat do hlavičky ethernetového rámce lze identifikovat jednotlivé VLANy. V našem případě se ono přidání provádí ve skutečnosti dvakrát. Jedno označení mohou provádět propojovaná zařízení (musíme jim umožnit se propojovat 802.1q ethernetem), druhá označení provede propojovací-tunelovací zařízení, aby odlišilo jednotlivé toky dat, které odpovídají logickým spojům mezi propojovanými zařízeními.

Pro úplnost je třeba dodat, že musíme tunelovat i protokoly druhé vrstvy ISO modelu (STP, CDP, VTP), aby propojovaná zařízení nepoznala, že jsou propojena pomocí přepínače.

I když byl vyřešen problém automatického zapojování logických topologií, stále bylo třeba vyřešit několik věcí.

...

Distrubuovaný Virtlab

Použitá terminologie [1]

Lokalita 
Lokalita je jedna lokální, autonomní instance Virtlabu schopná samostatného provozu i spolupráce s jinými lokalitami prostřednictvím připojení k volnému Internetu. Spolupráce spočívá jednak v nabízení svých laboratorních prvků pro fyzické topologie požadované uživateli z jiných lokalit (tím vznikají distribuované topologie pomocí propojovacích tunelů) a jednak v používání laboratorních prvků nabízených jinými lokalitami pro fyzické topologie požadované uživateli vlastní lokality. Lokality jsou pojmenovávány textovými řetězci[2].
Lokalita obsahuje:
  • laboratorní prvky lokality
    • mohou volitelně zahrnovat jeden či více serverů simulujících stanice (UML[3]) a Cisco 7200 (Dynamips[4])
  • řídící server lokality (Virtlab server)
  • konzolový server
  • segment virtuálního spojovacího pole
  • konfigurační server spojovacího pole
  • rezervační server


Laboratorní prvky 
Laboratorní prvky jsou síťové prvky v jednotlivých lokalitách, připojené k lokálnímu segmentu virtuálního spojovacího pole, které jsou k dispozici pro práci studentů na jednotlivých úlohách. Může jít o fyzické síťové prvky nebo prvky simulované (UML, Dynamips). Laboratorní prvky jsou globálně pojmenovávány ve tvaru jmeno@lokalita[2]. Vlastnosti jednotlivých laboratorních prvků jsou popsány v XML.


Uživatelé 
Uživatelé jsou zaváděni v jednotlivých lokalitách. Mají jména jednoznačná v rámci lokalit. Globálně jednoznačné jméno uživatele má tvar jmeno@lokalita[2]. Uživatelé se autentizují v lokalitě, do které náleží. V rámci lokality mohou být definovány lokální skupiny uživatelů. Přiřazení uživatele požadujícího sestavení úlohy do skupiny uživatelů může ovlivnit práva na výběr prvků při mapování logické topologie úlohy na fyzickou (toto mapování sestavuje mapovací algoritmus běžící v lokalitě uživatele, takže má definice skupin uživatelů k dispozici), nebo další funkce Virtlabu.


Logická topologie úlohy 
Logická topologie úlohy je popis požadavků na laboratorní prvky požadovaných pro řešení určité úlohy včetně popisu požadavků na jejich vzájemné propojení. Každý laboratorní prvek je v popisu zastoupen jedním logickým laboratorním prvkem. Logická topologie je popsána v XML. [5]


Fyzická topologie úlohy 
Fyzickou topologií úlohy rozumíme soubor laboratorních prvků-zařízení (i z různých lokalit) namapovaných, algoritmem mapování logické topologie na fyzickou, na jednotlivé logické prvky odpovídající logické topologie úlohy, včetně přiřazení fyzických rozhraní laboratorních prvků ke spojům logické topologie. Fyzická topologie může být distribuovaná, tedy obsahovat laboratorní prvky z různých lokalit a spoje mezi nimi realizovat prostřednictvím propojových tunelů.


Úloha 
Úlohou rozumíme definici zadání úkolu pro uživatele popisující mimo jiné logickou topologii úlohy. Úloha může dále obsahovat i vzorové řešení v podobě konfigurace jednotlivých zařízení.


Spuštění úlohy 
Spuštěním úlohy rozumíme v čase vymezené propojení laboratorních prvků pro práci studentů podle požadavků popsaných logickou topologií úlohy. Časový interval sestavení úlohy (timeslot) je chápán obecně a není vázán na žádný fixní časový rastr. Zdrojem logické topologie může být buďto tabulka předdefinovaných úloh nebo GUI (u topologie na přání studenta).


Timeslot 
Timeslotem je nazýván časový úsek rezervovaný studentem pro řešení určité úlohy. Začátek ani konec není vázán žádným pevným časovým rastrem. Prvních 5 minut timeslotu je vyhrazeno na vymazání předchozí konfigurace z laboratorních prvků použitých v úloze a spojení fyzické topologie, student během nich nemůže přistupovat na laboratorní prvky.


Virtuální spojovací pole 
Distribuovaný spojovací systém založený na technologii VLAN a tunelování VLAN (802.1q rámců) pomocí UDP (vlastní enkapsulační formát) přes volný Internet. Spojování laboratorních síťových prvků v lokalitách se děje jejich zařazováním do stejných VLAN (příp. VLAN tunelů QinQ při spojování trunků) na přepínačích Cisco 3550, tunely přes Internet jsou zajišťovány vlastním SW – tunelovacím démonem běžícím na tunelovacím serveru.


Řidící skripty virtuálního spojovacího pole 
Skripty, které na základě konfiguračních souborů a textového popisu propojení požadované fyzické topologie vygenerují konfigurační příkazy pro všechny prvky všech lokálních segmentů virtuálního spojovacího pole (vč. tunelovacích serverů) ve všech lokalitách. Textový popis propojení fyzické topologie obsahuje v jednotlivých řádcích dvojice jmen prvků a jejich rozhraní, které mají být propojeny. Skripty spouští před zahájením úlohy cron na virtlab serveru lokality, jejíž uživatel rezervaci úlohy vyžádal. Konfigurační příkazy budou zaslány do segmentů virtuálních spojovacích poli všech lokalit zúčastněných v distribuované topologii dané úlohy prostřednictvím jejich konfiguračních serverů spojovacího pole.

Hlavní části laboratoře

Rezervační server [6]

Konzolový server [6]

Tunelovací server [6]

Konfigurační server [6]

Webový server [7]


  1. Terminologie je výsledkem dlouhodobé diskuze, celého vývojářského týmu, ale přesné ji definoval až Ing.Petr Grygárek Ph.D., jako hlavní vedoucí celého projektu Virtlab.
  2. 2,0 2,1 2,2 UTF-8 znaky
  3. User Mode Linux - simulace koncových počítačových stanic, ke kterým se student může vzdáleně připojit a konfigurovat je.
  4. emulátor procesoru MIPS. Pomocí něj lze na PC simulovat Cisco směrovač 7200.
  5. V rámci logické topologie mluvíme o vrcholech (logický prvek topologie) a hranách-linkách (propojení dvou logických prvků). Terminologie byla převzata z Teorie grafů.
  6. 6,0 6,1 6,2 6,3 O tomto zařízení pojednává část diplomové práce Tomáše Hrabálka.
  7. Toto zařízení je předmětem diplomové práce Jana Vavříčka.
Osobní nástroje