NS-2. Krzysztof Rusek. 26 kwietnia 2010

Podobne dokumenty
Sieci Komputerowe 2 / Ćwiczenia 2

Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

Cyfrowe Przetwarzanie Obrazów i Sygnałów

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

ANALIZA SYMULACYJNA WYDAJNOŚCI PROTOKOŁU RTP REALIZUJĄCEGO USŁUGĘ MULTIKASTOWĄ TYPU SSM

MentorGraphics ModelSim

Instrukcja 3 - Badanie topologii pierścieniowej

Aplikacje WWW - laboratorium

Mazowiecki Elektroniczny Wniosek Aplikacyjny

Zaawansowane aplikacje internetowe

LABORATORIUM SYSTEMY I SIECI TELEKOMUNIKACYJNE CZĘŚĆ 2 MODELOWANIE SIECI Z WYKORZYSTANIEM SYMULATORA NCTUNS

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Instalacja protokołu PPPoE w systemie Windows 98

Programowanie Obiektowe GUI

Systemy zarządzania produkcją - MES

Bezpieczeństwo informacji oparte o kryptografię kwantową

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Aplikacje internetowe - laboratorium

TELEFONIA INTERNETOWA

Laboratorium podstaw telekomunikacji

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Konfiguracja połączenia szerokopasmowego na Windows98/98SE Instalacja PPPoE w systemie Windows 98 i 98SE

Generatory pomocy multimedialnych

Ćwiczenie 1. Przygotowanie środowiska JAVA

Podstawowe protokoły transportowe stosowane w sieciach IP cz.2

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Akceleracja symulacji HES-AHDL. 1. Rozpoczęcie pracy aplikacja VNC viewer

Projektowanie systemów zrobotyzowanych

Projektowanie baz danych za pomocą narzędzi CASE

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Instalacja protokołu PPPoE

Aplikacje RMI

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Aplikacje internetowe i rozproszone - laboratorium

Instalacja PPPoE w systemie Windows 98SE i Me

Wykaz zmian w programie SysLoger

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Instytut Teleinformatyki

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Sieci i Aplikacje TCP/IP. Ćwiczenie nr 1

Laboratorium 3 Sieci Komputerowe II Nazwisko Imię Data zajęd

Wyszukiwanie plików w systemie Windows

Opis instalacji i konfiguracji programu HW Virtual Serial Port z kasą PS3000Net

Instrukcja 1 - Badanie sieci współdzielonych

GNU GProf i GCov. przygotował: Krzysztof Jurczuk Politechnika Białostocka Wydział Informatyki Katedra Oprogramowania ul. Wiejska 45A Białystok

Równoważenie obciążenia w sieci robotów internetowych. Adam Grycner, nr indeksu Łukasz Kornek, nr indeksu czerwca 2011

Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

SAS Institute TECHNICAL SUPPORT )

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Instrukcja instalacji aplikacji Comarch Smart Card ToolBox

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Informatyka I : Tworzenie projektu

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

dr inż. Tomasz Krzeszowski

Instrukcja pobrania i instalacji wersji testowej Invest for Excel

Laboratorium 6.7.2: Śledzenie pakietów ICMP

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux

Programowanie obiektowe zastosowanie języka Java SE

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

Instrukcja integratora - obsługa dużych plików w epuap2

UNIFON podręcznik użytkownika

Analiza możliwości złośliwego oprogramowania vjw0rm w kampanii phishingowej PayU

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Instrukcja do laboratorium. Wprowadzenie do problematyki wirtualizacji. Wirtualizacja sieci.

Instrukcja uruchomienia usługi KurJerzyAPI dla OsCommerce 2.2

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

Edytor tekstu OpenOffice Writer Podstawy

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Sieci Komputerowe 2 / Ćwiczenia 1

Laboratorium nr 1 Skanowanie sieci i ataki aktywne

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

PSK. Jak przygotować maszynę wirtualną? 1. Utworzenie maszyny wirtualnej

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

Zaawansowane aplikacje WWW - laboratorium

Rok szkolny 2014/15 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. SIECI KOMPUTEROWE kl. 2c

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

Aplikacje WWW - laboratorium

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Symulacja Packet Tracer - Komunikacja z użyciem protokołów TCP i UDP

NetDrive czyli jak w prosty sposób zarządzać zawartością FTP

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Linux

Wykaz zmian w programie SysLoger

Program emulatora GPS pobieramy ze strony z działu Pobieralnia.

WPROWADZENIE DO ŚRODOWISKA SCICOS

Podstawy technologii WWW

NPS-520. Serwer druku do urządzeń wielofukcyjnych. Skrócona instrukcja obsługi. Wersja 1.00 Edycja 1 11/2006

Wprowadzenie do tworzenia własnego modułu w kontrolerze Floodlight.

Instrukcja instalacji aplikacji Comarch Smart Card ToolBox

Transkrypt:

NS-2 Krzysztof Rusek 26 kwietnia 2010 1 Opis ćwiczenia Symulator ns-2 jest potężnym narzędziem, szeroko stosowanym w telekomunikacji. Ćwiczenie ma na cele przedstawić podstawy symulatora oraz symulacji dyskretnych zdarzeń. 1.1 Środowisko Ćwiczenie wykonujemy w systemie Linux. Na potrzeby ćwiczenie zastała przygotowana skompilowana wersja symulatora ns-2, którą należy pobrać ze strony: http://pbz.kt. agh.edu.pl/~krusek/ns.tar.gz. Plik należy zapisać w katalogu /media/disk/ po wcześniejszym zamontowaniu dysku twardego w katalogu /media/disk/. Pobrany plik należy rozpakować poleceniem: tar xvf ns.tar.gz lub skorzystać z aplikacji graficznej. Po rozpakowaniu aplikacji należy przejść do katalogu /media/disk/ns/ns-allinone-2.34 i wykonać polecenie source env.sh 1, które przygotuje środowisko dla symulatora. Poprawne działanie symulatora należy zweryfikować poleceniem ns test.tcl. Wynik ok oznacza, że środowisko zostało skonfigurowane poprawnie. 1.2 Symulacje Nową symulację tworzy się pisząc plik w języku OTcl, w którym definiowane są parametry symulacji oraz topologia sieci. Symulację uruchamiamy poleceniem ns nazwa_pliku.tcl. Proszę pobrać przykładowy plik symulacji z http://home.agh.edu.pl/~krusek/dydaktyka/pst/ns2/ i przeanalizować jego zawartość. Po zapoznaniu się z treścią proszę wykonać polecenia z sekcji 1.3. Pobrany plik zawiera opis symulacji sieci przedstawionej na rysunku: 1. Poniżej znajduje się opis najważniejszych części symulacji. Podstawowym obiektem wymaganym w każdej symulacji jest obiekt symulatora tworzony następująco: set ns [new Simulator] 1 Skrypt env.sh nie jest częścią standardowej dystrybucji symulatora. Został on przygotowany na potrzeby ćwiczenie, aby ułatwić pracę z symulatorem 1

Rysunek 1: Topologia symulowanej sieci Topologia symulowanej sieci w ns-2, podobnie jak rzeczywistej sieci, składa się z węzłów i łączy. W węzłach dokonywany jest ruting oraz generowanie ruchu poprzez tzw. agentów. Węzły i łącza pomiędzy nimi tworzone są poprzez wywołanie odpowiednich metod z globalnego obiektu symulatora. Łącza mogą być zarówno jedno, jak i dwukierunkowe (łącza niekoniecznie muszą odpowiadać fizycznym przewodom, mogą to być też kanały radiowe). Dla każdego łącza precyzuje się jego przepustowość, opóźnienie oraz dyscyplinę kolejkowania. W poniższym przykładzie tworzone są cztery węzły, oraz trzy łącza pomiędzy nimi. DropTail oznacza dyscyplinę FIFO. #Create four nodes set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] 2

#Create links between the nodes $ns duplex-link $n0 $n2 2Mb 10ms DropTail $ns duplex-link $n1 $n2 2Mb 10ms DropTail $ns duplex-link $n2 $n3 1.7Mb 20ms DropTail #Set Queue Size of link (n2-n3) to 10 $ns queue-limit $n2 $n3 10 Mając zdefiniowaną topologię sieci, kolejnym krokiem jest dodanie do niej ruchu. Ruch dodawany jest przy pomocy agentów, którzy z kolei współpracują z aplikacjami, czyli źródłami ruchu.większość implementacji protokołu TCP ma swojego agenta ns-2, dodatkowo istnieją agenci UDP, RTP i inni. #Setup a TCP connection set tcp [new Agent/TCP] $tcp set class_ 2 $ns attach-agent $n0 $tcp set sink [new Agent/TCPSink] $ns attach-agent $n3 $sink $ns connect $tcp $sink $tcp set fid_ 1 Aplikacje w ns-2 znajdują się nad warstwą agentów transportowych. Po utworzeniu obiektu aplikacji trzeba go dołączyć do agenta transportowego. Istnieją dwa podstawowe typy aplikacji: generatory ruchu i symulowane aplikacje #Setup a FTP over TCP connection set ftp [new Application/FTP] $ftp attach-agent $tcp $ftp set type_ FTP Powtórzenie powyższych kroków, dla UDP. #Setup a UDP connection set udp [new Agent/UDP] $ns attach-agent $n1 $udp set null [new Agent/Null] $ns attach-agent $n3 $null $ns connect $udp $null $udp set fid_ 2 #Setup a CBR over UDP connection set cbr [new Application/Traffic/CBR] $cbr attach-agent $udp $cbr set type_ CBR $cbr set packet_size_ 1000 $cbr set rate_ 1mb $cbr set random_ false 3

Symulator ns-2 jest symulatorem zdarzeniowym tzn. każda akcja jest wynikiem jakiegoś zdarzenie np. przyjście pakietu lub zakończenie wysyłania pakietu. W poniższym kodzie dodawane są zdarzenia początku i końca aplikacji w odpowiednich chwilach czasu. #Schedule events for the CBR and FTP agents $ns at 0.1 "$cbr start" $ns at 1.0 "$ftp start" $ns at 4.0 "$ftp stop" $ns at 4.5 "$cbr stop" Symulacja zaczyna się w momencie wywołania metody run z symulatora. Raz uruchomiona symulacja nie zakończy się, dlatego należy dodać zdarzenie końca symulacji, czyli wywołanie metody finish, która kończy wykonywanie programu. #Call the finish procedure after 5 seconds of simulation time $ns at 5.0 "finish" #Run the simulation $ns run #Define a finish procedure proc finish {} { exit 0 } Oprócz opisanych fragmentów kodu, plik symulacyjny zawiera dodatkowo instrukcje logowania. Po wykonaniu symulacji tworzone są pliki nam, oraz log wszystkich zdarzeń. Opracowując log można wyznaczyć wiele przydatnych informacji np. stosunek liczby utraconych pakietów do wysłanych (nazywany współczynnikiem strat) itp. Analizę otrzymanych wyników nalerzy przeprowadzić korzystając ze skryptu util.awk dostępnego pod adresem http://home.agh.edu.pl/~krusek/dydaktyka/pst/ns2/. Skryptu util.awk używamy w następujący sposób: awk -f util.awk trace.txt, gdzie trace.txt jest plikiem logu otrzymanym z symulacji. 1.3 Polecenia 1. Uruchomić symulację, korzystając z programu nam obejrzeć przebieg symulacji. 2. Proszę zmienić czas trwania symulacji i sprawdzić czas wykonywania symulacji. Czas wykonywania symulacji można łatwo sprawdzić poleceniem time. 3. Łącze n2-n3 jest wąskim gardłem sieci. Zbadać i wyjaśnić wpływ przepustowości n2-n3 na współczynnik strat. 4. Łącze n2-n3 jest wąskim gardłem sieci. Zbadać i wyjaśnić wpływ długości kolejki w n2 na współczynnik strat. 4

5. Zbadać i wyjaśnić wpływ rozmiaru pakietu źródła CBR na współczynnik strat. 6. Dlaczego obserwujemy ruch z n3 do n0 a nie obserwujemy ruchu z n3 do n1? 1.4 Sprawozdanie Sprawozdanie (w formacie pdf) zawierające odpowiedzi na pytania z sekcji 1.3 należy wysłać na adres krusek@agh.edu.pl wpisując w temacie PST2010NS2. Dokument może mieć maksymalnie 2 strony A4 i koniecznie musi zawierać numer indeksu w nazwie pliku. 5