Symulator zawodnej sieci IP do badania aplikacji multimedialnych i

Transkrypt

Symulator zawodnej sieci IP do badania aplikacji multimedialnych i
Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ
Symulator zawodnej sieci IP
do badania aplikacji
multimedialnych i peer-to-peer
Plan prezentacji
1. Cel projektu
2. Cechy systemu
3. Budowa systemu:
●
Agent
●
Serwer
●
Nadzorca
4. Podsumowanie
Cel projektu
Stworzenie programowego symulatora zawodnych
sieci IP, w których występują opóźnienia, straty
pakietów, błędy bitowe i inne niepożądane zjawiska.
W rzeczywistych sieciach wymienione zdarzenia
są ulotne i trudne do przewidzenia lub występują
w określonych warunkach.
Dysponując symulatorem, można zapewnić pożądane
zachowanie łącza w dowolnym momencie (uzyskuje się
deterministyczną podstawę do testów).
Cechy systemu
●
●
●
●
Umożliwia badanie systemów z kilkunastoma węzłami.
Umożliwia badanie systemów w architekturze
peer-to-peer (P2P) i overlay.
Umożliwia przeprowadzenie eksperymentów w istniejącej
sieci lokalnej bez angażowania administratora, ingerencji w
połączenia i konfigurację urządzeń sieciowych,
Ułatwia identyfikowanie pakietów związanych z sesjami
multimedialnymi opierającymi się na protokołach RTP, RTCP,
RTSP, SIP itp.
Cechy systemu, cd.
●
●
●
●
Udostępnia praktyczne funkcjonalności, które uzupełniają
symulację sieci IP: rejestrowanie ruchu pakietów i
symulowanych zdarzeń, analizę statystyczną zbieranych danych i
wizualizację wyników w postaci wykresów.
Jest łatwy w zarządzaniu dzięki automatyzacji zadań,
centralizacji zarządzania, działaniu i w Windows, i w Linux.
Jest wyposażony w oprogramowanie towarzyszące i materiały
instruktażowe, które ułatwiają testy aplikacji i szkolenia z zakresu
QoS: generator ruchu, rejestrator pakietów przychodzących,
scenariusze eksperymentów itp.
Może stanowić podstawę badań nad symulatorem sprzętowym.
Budowa systemu
●
Symulator obejmuje dwa typy programów: agent i serwer.
–
–
●
Zarządzanie środowiskiem zapewnia serwer nadzorczy.
–
●
Agent będzie instalowany na komputerach, na których działają
instancje/komponenty badanej aplikacji.
Zadaniem serwera będzie modelowanie zawodnych łączy.
Konfiguracja poszczególnych agentów i serwerów oraz
środowiska jako całości będzie odbywała się za pośrednictwem
serwera nadzorującego.
Środowisko symulacyjne będzie działać w obrębie jednej
wydajnej sieci lokalnej LAN, w której narzut związany z
przekierowywaniem pakietów nie będzie wpływał znacząco
na dokładność symulacji.
Środowisko symulacyjne
Terminal kontroli
symulacji
Serwer
nadzorujący
Platforma TEWI
Switch
Serwery
symulacyjne
Komputery
z testowaną
aplikacją
LAN
Ogólny schemat środowiska symulacyjnego
Przepływ danych
Testowana aplikacja
(węzeł nadający)
Jądro system
operacyjnego
Agent
symulacyjny
Testowana aplikacja
(węzeł odbierający)
Stos TCP/IP
Stos TCP/IP
Sterownik
symulacyjny
Karta sieciowa
Karta sieciowa
Serwer
symulacyjny
Istota symulacji opierającej się na przekierowaniu ruchu
aplikacji do serwera symulacyjnego
Elementy systemu symulacyjnego
System symulacyjny składa się z trzech współdziałających
elementów:
●
Agenta symulacyjnego.
●
Sewera symulacyjnego.
●
Nadzorcy.
Agent symulacujny
●
●
●
Agent symulacyjny pracuje na wszystkich
komputerach, na których będą działać aplikacje
składające się na badany system informatyczny.
Sterownik (będący podstawę agenta) integruje się z
systemowym stosem protokołów sieciowych, tak że
jest on w stanie przechwytywać pakiety IP, które wysyła
aplikacja.
Przechwycone pakiety IP spełniające zadane kryteria
(adres IP, numer portu, protokół) są przekazywane do
serwera symulacyjnego.
Architektura agenta symulacyjnego
Systemowy
stos
protokołów
sieciowych
port UDP
do wysyłania
pakietów
pośredniczących
do symulatora
[protokół
specjalizowany]
port UDP
do komunikacji
z nadzorcą
[protokół
specjalizowany]
Sterownik
przechwytujący
pakiety IP
aplikacji
Dane
połączeń
aplikacyjnych
i symulatorów
Wątek
wysyłający
komunikaty
Kolejka
FIFO
Wątek
odbierający
komunikaty
Kolejka
FIFO
interfejs sieciowy
LAN
środowiska
symulacyjnego
Wątek
przetwarzający
komunikaty
Serwer symulacyjny
●
●
●
Serwer symulacyjny pośredniczy w ruchu sieciowym
oraz wprowadza do niego zamierzone błędy.
Na podstawie miar statystycznych i charakterystyki
podejmowana jest decyzja o odrzuceniu pakietu
(strata pakietu w wirtualnym łączu) lub określany jest
czas jego wyjścia z symulatora (opóźnienie pakietu w
wirtualnym łączu).
Agent z symulatorem tworzą jednokierunkowe
wirtualne łącze, przez które przechodzą wybrane
pakiety wysyłane przez aplikacje na komputerach z
zainstalowanym agentem.
Architektura serwera symulacyjnego
Systemowy
stos
protokołów
sieciowych
port UDP
do odbierania
pakietów
pośredniczących
z agentów
[protokół
specjalizowany ]
„surowe”
gniazdo IP
do wysyłania
pakietów w
imieniu
komputera z
agentem
port UDP
do komunikacji
z nadzorcą
[protokół
specjalizowany ]
Wątek
odbierający
pakiety
Kolejka
FIFO
Wątek
wysyłający
pakiety
Czasowa
priorytetowa
kolejka
FIFO
Wątek
przetwarzający
pakiety
Dane łączy
wirtualnych
Wątek
wysyłający
komunikaty
Kolejka
FIFO
Wątek
odbierający
komunikaty
Kolejka
FIFO
interfejs sieciowy
LAN
środowiska
symulacyjnego
Wątek
przetwarzający
komunikaty
Nadzorca
●
●
●
●
Nadzorca jest węzłem nadrzędnym, który centralizuje
zarządzanie środowiskiem symulacyjnym, czyli agentami
i symulatorami.
Agenci i serwery symulacyjne cyklicznie przesyłają do
nadzorcy informacje o swoim stanie.
Nadzorca przypisuje symulatory do agentów, by
zrównoważyć ich obciążenie, a także gromadzi dane na
temat przebiegu symulacji.
Nadzorca jest wyposażony we wbudowany serwer
HTTP, który umożliwia zarządzanie środowiskiem
symulacyjnym za pomocą przeglądarki WWW
obsługującej HTML5 i CSS3.
Architektura serwera nadzorującego
Systemowy
stos
protokołów
sieciowych
Wątek
wbudowanego
serwera
HTTP
port TCP
do komunikacji
z przeglądarką
internetową
[protokół HTTP]
Obiektowy model
środowiska
symulacyjnego
port UDP
do komunikacji
z agentami
i symulatorami
[protokół
specjalizowany]
Wątek
odbierający
komunikaty
Kolejka
FIFO
Dane przebiegu
symulacji
Wątek
przetwarzający
komunikaty
Kolejka
FIFO
interfejs sieciowy
LAN
środowiska
symulacyjnego
Wątek
wysyłający
komunikaty
Aplikacja symulacyjna
Podsumowanie
●
Symulator będzie służył do prowadzenia badań lub umożliwi podjęcie
badań w nowych kierunkach:
–
–
–
–
–
●
●
●
●
architektury systemów multimedialnych,
algorytmy kodowania obrazu i dźwięku ukierunkowane na transmisję sieciami
pakietowymi,
zoptymalizowane implementacje protokołów,
modelowanie zawodnych łączy,
sprzętowa symulacja sieci z użyciem układów programowalnych FPGA.
Symulator może być wykorzystywany w dydaktyce do uatrakcyjnienia
zajęć z przedmiotów takich jak „Sieci komputerowe”, „Inżynieria systemów
multimedialnych” i „Komunikacja multimedialna”.
Symulator może stanowić podstawę interesujących prac dyplomowych.
Symulator potencjalnie może przyczynić się do powstania innowacyjnych
aplikacji i urządzeń, które będą stanowić, przynajmniej w części, własność
intelektualną uczelni.
Wyniki projektu będą stanowić postawę publikacji naukowych i
technicznych.

Podobne dokumenty