Virtlab:Společná část diplomové práce
Z VirtlabWiki
Verze z 08:59, 8. 3. 2007 Hra196 (Diskuse | příspěvky) (wikiizace) ← Předchozí porovnání |
Verze z 21:33, 20. 3. 2007 Vav166 (Diskuse | příspěvky) (→Omezení současné verze Virtlabu) Následující porovnání → |
||
Řádka 1: | Řádka 1: | ||
== Omezení současné verze Virtlabu == | == Omezení současné verze Virtlabu == | ||
+ | Nejstarším omezením byla pevná fyzická topologie. Pokud byla potřeba jiná fyzická topologie, musel odpovědný člověk jednotlivé prvky lokality fyzicky propojit do této požadované topologie. Tento výrazně omezující faktor se podařílo překonat pomocí ASSSK-1. Toto zařízení dokáže propojovat seriové linky na základě příkazů, které jsou mu předáváný. Zapojení určené fyzické topologie, lze tedy jednoduše automatizovat. | ||
+ | I když ASSSK-1 dokaže propojovat seriová linky i ethernet, tak pro propojování ethernetu byla časem použita jiná technika, aby se množství propojitelných linek nesnižovalo - když pro propojování seriovývh 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í nepoznaly, že jsou propojeny 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 == | == Distrubuovaný Virtlab == |
Verze z 21:33, 20. 3. 2007
Obsah |
Omezení současné verze Virtlabu
Nejstarším omezením byla pevná fyzická topologie. Pokud byla potřeba jiná fyzická topologie, musel odpovědný člověk jednotlivé prvky lokality fyzicky propojit do této požadované topologie. Tento výrazně omezující faktor se podařílo překonat pomocí ASSSK-1. Toto zařízení dokáže propojovat seriové linky na základě příkazů, které jsou mu předáváný. Zapojení určené fyzické topologie, lze tedy jednoduše automatizovat. I když ASSSK-1 dokaže propojovat seriová linky i ethernet, tak pro propojování ethernetu byla časem použita jiná technika, aby se množství propojitelných linek nesnižovalo - když pro propojování seriovývh 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í nepoznaly, že jsou propojeny 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
- 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]
- ↑ 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,0 2,1 2,2 UTF-8 znaky
- ↑ 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.
- ↑ emulátor procesoru MIPS. Pomocí něj lze na PC simulovat Cisco směrovač 7200.
- ↑ 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,0 6,1 6,2 6,3 O tomto zařízení pojednává část diplomové práce Tomáše Hrabálka.
- ↑ Toto zařízení je předmětem diplomové práce Jana Vavříčka.