Środowisko graficzne do generowania wirtualnego środowiska

Transkrypt

Środowisko graficzne do generowania wirtualnego środowiska
Środowisko graficzne do generowania wirtualnego
środowiska badawczego do badania algorytmów trasowania
w sieciach komputerowych
Michał Żmuda, Mateusz Radko
Cel projektu
Stworzenie funkcjonalnego
narzędzia do automatycznego
generowania środowiska o
zadanych przez użytkownika
parametrach
Cel projektu
Środowisko to zestaw
odpowiednio
skonfigurowanych maszyn
wirtualnych (klientów i
routerów oraz odpowiednio
skonfigurowanych sieci
pomiędzy nimi)
Cel projektu
Środowisko będzie
wykorzystywane do badania
algorytmów trasowania w
sieciach komputerowych
Co zrobimy
● GUI (definiowanie
schematu sieci)
Zakres
● Instancjonowanie
(umożliwienie
uruchomienia maszyn)
Architektura
& technologie
● GUI jako webaplikacja
○ serwer - python,
django
○ Interfejs - widget
jQuery UI
● Wirtualizacja
○ kontenery - Docker
Compose
Docker
Docker
● lekka wirtualizacja
● działa jak VM ale
znaczne sprawniej
● Windows/Linux/MacOS
Docker
● wspóldzielenie kernela
● izolacja dzięki cgroup i
namespaces
● umożliwia tworzenie
wirtualnych sieci
Docker
Docker
Compose
● umożliwia
konfigurowanie całych
środowisk składajacych
się z kontenerów
● opis przez prosty plik
yml
Szczegóły
GUI
● Pozwala ustawić:
○ lan segment
○ adres IP
○ maska podsieci
○ brama domyślna
○ nazwa hosta
○ i inne...
GUI
● Produkuje pliki (projekt):
○ docker-compose.yml
opisujący środowisko
○ pliki z konfiguracją
routerów
○ skrypt uruchamiający i
konfigurujący
kontenery
GUI
Oprócz eksportu plików
umożliwia uruchomienie
środowiska na maszynie na
której GUI jest
uruchomione
Wirtualizacja
● Bazujemy na dostępnych
obrazach kontenerów
dockera
● Poszerzamy je o
niezbędne narzędzia
Wirtualizacja
● Korzystamy z
funkcjonalności
definiowania sieci w
Docker Compose
● Nadpisujemy część
ustawień w skrypcie
uruchamiającym
(np. default gateway)
Workflow
1. skonfigurowanie sieci
poprzez GUI
2. eksport projektu
3. uruchomienie skryptu
(w projekcie)
uruchamiającego i
konfigurującego
4. uruchomienie skryptu
sprzątającego
Ewaluacja narzędzi
● Zestawiliśmy proste
środowisko z uzyciem
Docker Compose
Przykładowe
środowisko
● Po wykonaniu skryptu
ruch sieciowy działał
zgodnie z oczekiwaniami
Harmonogram
01.04 - testy instancjonowania środowiska
21.04 - możliwość generowania plików projektu (bez GUI)
11.05 - funkcjonalne GUI
01.06 - zintegrowane środowisko + pełne pokrycie testami
?
- ewaluacja systemu
Pytania?