Sieci Komputerowe 2 / Ćwiczenia 2

Podobne dokumenty
NS-2. Krzysztof Rusek. 26 kwietnia 2010

Sieci Komputerowe 2 / Ćwiczenia 1

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

Laboratorium podstaw telekomunikacji

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

Instrukcja 1 - Badanie sieci współdzielonych

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

MentorGraphics ModelSim

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

DLACZEGO QoS ROUTING

Model OSI. mgr inż. Krzysztof Szałajko

TELEFONIA INTERNETOWA

Platforma e-learningowa

Jednorazowe zaplanowanie zadania program at.

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

Colloquium 1, Grupa A

Lekcja 5. Funkcje handlemessage() i initialize(), konstruktor i destruktor

Instrukcja 3 - Badanie topologii pierścieniowej

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

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

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

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

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

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Laboratorium Systemów SCADA

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

System operacyjny Linux

Opis dotyczy wykonania konfiguracji karty przy użyciu oprogramowania SimaticNet PC Software V6.2 oraz Simatic NCM PC.

WPROWADZENIE DO ŚRODOWISKA SCICOS

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

Bezpieczeństwo w M875

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

PLAN Podstawowe pojęcia techniczne charakteryzujące dostęp do Internetu prędkość podłączenia opóźnienia straty Umowa SLA inne parametry dostępność

Katedra Inżynierii Komputerowej Politechnika Częstochowska. Trasowanie i protokół RIP Laboratorium Podstaw sieci komputerowych

Warstwy i funkcje modelu ISO/OSI

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Katedra Inzynierii Komputerowej Politechnika Częstochowska. Sieci przełączane Laboratorium Podstaw sieci komputerowych

Transport. część 3: kontrola przeciążenia. Sieci komputerowe. Wykład 8. Marcin Bieńkowski

T: Konfiguracja interfejsu sieciowego. Odwzorowanie nazwy na adres.

SPIS TREŚCI Błąd! Nie zdefiniowano zakładki.

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

FDS 6 - Nowe funkcje i możliwości. Modelowanie instalacji HVAC część 1: podstawy.

Język Java część 2 (przykładowa aplikacja)

Kolejki FIFO (łącza nazwane)

MONITOROWANIE WINDOWS Z NETCRUNCHEM 7 P A G E 1

Uproszczenie mechanizmów przekazywania pakietów w ruterach

Ćwiczenie 1. Modelowanie prostego procesu

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

Aplikacje RMI

Sieci Komputerowe 2 / Ćwiczenia 8

Dr Michał Tanaś(

Współpraca z platformą Emp@tia. dokumentacja techniczna

Ćwiczenie 2 Badanie praw dostępu do zasobów w systemie Windows 2000.

Sage Connect. Instrukcja dla użytkownika.

Z pojedynczym obiekcie zasady grupy znajdziemy dwa główne typy ustawień:

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

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

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Transport. część 3: kontrola przeciążenia. Sieci komputerowe. Wykład 8. Marcin Bieńkowski

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

Sieci Komputerowe Modele warstwowe sieci

Symfonia Mała Księgowość 2013 Specyfikacja zmian

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

System Call Center IVR Kolejka. Case Study

Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Zarządzanie korespondencją

Zaawansowane aplikacje internetowe - laboratorium

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

Pytanie 1 Z jakich protokołów korzysta usługa WWW? (Wybierz prawidłowe odpowiedzi)

Rysunek 8. Rysunek 9.

Bezpieczeństwo systemów informatycznych

Edytor tekstu OpenOffice Writer Podstawy

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory

Współpraca z platformą dokumentacja techniczna

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Klasy i obiekty cz I Klasy, obiekty, podstawy używania obiektów

Protokół wymiany sentencji, wersja 1

Podstawy programowania w środowisku Totally Integration Automation Portal

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4

STEKOP SA. Odbiornik dialerowy. Zakład Pracy Chronionej Białystok, ul. Młynowa 21 tel./fax : (+48 85) ,

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.

Windows Serwer 2008 R2. Moduł 5. Zarządzanie plikami

Klient poczty elektronicznej - Thunderbird

FAQ: /PL Data: 26/11/2008 Komunikacja w protokole MPI za pomocą Global Data (GD) pomiędzy sterownikami S7-300

Ćwiczenie 1. Podstawowa terminologia lokalnych sieci komputerowych. Topologie sieci komputerowych. Ocena. Zadanie 1

Program BEST_RE. Pakiet zawiera następujące skoroszyty: BEST_RE.xls główny skoroszyt symulacji RES_VIEW.xls skoroszyt wizualizacji wyników obliczeń

Rozdział 4 KLASY, OBIEKTY, METODY

Replikacja kolejkowa (Q-replication) w IBM DB2

Problem kolejkowania dostępu czyli zarządzanie przepustowością sieci

7. zainstalowane oprogramowanie zarządzane stacje robocze

asix4 Podręcznik użytkownika CtSNPX - drajwer protokołu SNPX sterowników GE Fanuc Podręcznik użytkownika

Industrial Ethernet Dokumentacja techniczna połączenia Sterowniki S7-400(300) firmy Siemens - System PRO-2000 firmy MikroB

Packet Tracer - Sprawdzenie ścieżki za pomocą poleceń ping i traceroute Topologia

Transkrypt:

Tematyka Sieci Komputerowe 2 / Ćwiczenia 2 Opracował: Konrad Kawecki <cogi@pjwstk.edu.pl> na podstawie materiałów: http://www.isi.edu/nsnam/ns/tutorial/index.html Na ćwiczeniach zapoznamy się z symulatorem ns-2 oraz narzędziem do wizualizacji symulacji nam. Napiszemy własne skrypty w języku tcl opisujące modele sieci komputerowych. Podstawy NS-2, definiowanie węzłów Symulacje opisujemy za pomocą skryptów w języku tcl. Na początku definiujemy obiekt symulatora. set ns [new Simulator] Następnie tworzymy plik w którym znajdą się wynikowe dane potrzebne do wizualizacji symulacji (dane dla programu nam). set nf [open out.nam w] $ns namtrace-all $nf W pierwszej linii otwieramy plik (tylko do zapisu) out.nam i przypisujemy go do uchwytu nf. W drugiej linii informujemy obiekt symulatora aby wszystkie dane niezbędne do wizualizacji przesyłał do tego pliku. Następnym krokiem jest napisanie procedury kończącej symulację. W procedurze tej zamykamy otwarte pliki i uruchamiamy program nam. proc finish {} { global ns nf $ns flush-trace close $nf exec nam out.nam & exit 0 } Kolejnym krokiem jest zdefiniowanie węzłów oraz połączenia między węzłami. Zaczniemy od definiowania węzłów. set n0 [$ns node] set n1 [$ns node] Za pomocą polecenia $ns node tworzymy nowy węzeł. Węzły przypisujemy do uchwytów n0 i n1. Poniższa linia definiuje dwustronne połączenie między węzłami. Połączenie ma przepustowość 1Mbit/s, opóźnienie 10ms oraz kolejkę typu droptail (pakiety przychodzące, które nie mieszczą się w kolejce, są odrzucane). $ns duplex-link $n0 $n1 1Mb 10ms DropTail 1/6

Następnie umieszczamy informacje o zakończeniu symulacji (symulację kończymy po 5 sekundach). $ns at 5.0 "finish" Ostatnia linia w naszym pierwszym skrypcie uruchamia symulację. $ns run Zakładając, że nasz skrypt zapisaliśmy w pliku o nazwie symulacja1.tcl, symulator ns-2 uruchamiamy wykonując poniższe polecenie. ns symulacja1.tcl Ilustracja 1: Wynik uruchomienia naszej pierwszej symulacji. Na ilustracji 1 widoczny jest efekt uruchomienia naszego pierwszego skryptu. Ćwiczenie 1 Utwórz plik z powyższą symulacją i sprawdź jego działanie Strumienie danych W naszej symulacji nie dzieje się zbyt wiele. Czas na zdefiniowanie strumieni danych. Do węzłów przypiszemy agentów wysyłających/odbierających informacje. Agent w węźle n0 2/6

będzie wysyłał informacje a agent w węźle n1 będzie je odbierał. #Tworzymy agenta UDP i przypisujemy go do węzła n0 set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 #Tworzymy źródło danych CBR i przypisujemy je do agenta $udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packetsize_ 500 $cbr0 set interval_ 0.005 $cbr0 attach-agent $udp0 Powyższy fragment skryptu tworzy agenta UDP udp0 i przypisuje go do węzła n0. Następnie tworzymy źródło danych typu Constant Bit Rate (CBR). Ustawiamy wielkość pakietu na 500 bajtów a czas pomiędzy transmisją pakietów wynosi 0.005 sekundy (wysyłamy 200 pakietów na sekundę). Do węzła n1 przypisujemy agenta odbiorce. set null0 [new Agent/Null] $ns attach-agent $n1 $null0 Aby przeprowadzić transmisję musimy połączyć agentów: nadawcę i odbiorcę. $ns connect $udp0 $null0 Następnie informujemy agenta wysyłającego dane o tym kiedy ma rozpocząć transmisję. $ns at 0.5 "$cbr0 start" $ns at 4.5 "$cbr0 stop" Ćwiczenie 2 Po wprowadzeniu powyższych zmian uruchom symulację. Poeksperymentuj z parametrami źródła danych CBR oraz z interfejsem programu nam. Sprawdź czy można uzyskać informacje o pojedynczych pakietach. Sprawdź status łącza. Samodzielnie dodaj kolejny węzeł i kolejne źródło danych. Określ odpowiednie połączenia. Wykonaj symulację. Dodajemy ruter W tej sekcji zajmiemy się topologią z czterema węzłami. Jeden węzeł będzie pełnił funkcję rutera przekazując informacje wysyłane przez dwa węzły do węzła czwartego. Na początku definiujemy cztery węzły. set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] Zestawiamy połączenia między węzłami. 3/6

$ns duplex-link $n0 $n2 1Mb 10ms DropTail $ns duplex-link $n1 $n2 1Mb 10ms DropTail $ns duplex-link $n3 $n2 1Mb 10ms DropTail Ćwiczenie 3 Uruchom powyższą symulację. Sprawdź jak wygląda rozłożenie węzłów. Sprawdź działanie funkcji re-layout. Poniższy fragment skryptu kontroluje rozłożenie węzłów. $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right Ćwiczenie 4 Uruchom powyższą symulację. Sprawdź jak wygląda rozłożenie węzłów. Następnie dodamy dwa źródła danych typu CBR i przypisujemy je do węzłów n0 i n1. Do węzła n3 przypisujemy agenta odbiorcę. #Tworzymy agenta UDP i dodajemy go do węzła n0 set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 #Tworzymy źródło danych CBR i przypisujemy je do agenta udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packetsize_ 500 $cbr0 set interval_ 0.005 $cbr0 attach-agent $udp0 #Tworzymy agenta UDP i dodajemy go do węzła n1 set udp1 [new Agent/UDP] $ns attach-agent $n1 $udp1 #Tworzymy źródło danych CBR i przypisujemy je do agenta udp1 set cbr1 [new Application/Traffic/CBR] $cbr1 set packetsize_ 500 $cbr1 set interval_ 0.005 $cbr1 attach-agent $udp1 set null0 [new Agent/Null] $ns attach-agent $n3 $null0 Tworzymy połączenia pomiędzy agentami. $ns connect $udp0 $null0 $ns connect $udp1 $null0 4/6

Chcemy aby pierwszy agent CBR zaczął nadawać w pół sekundy po uruchomieniu symulacji i skończył nadawanie cztery sekundy później. Drugi agent CBR ma zacząć nadawanie w pierwszej sekundzie i skończyć po trzech sekundach. $ns at 0.5 "$cbr0 start" $ns at 1.0 "$cbr1 start" $ns at 4.0 "$cbr1 stop" $ns at 4.5 "$cbr0 stop" Ćwiczenie 5 Uruchom powyższą symulację. Zwróć uwagę na straty pakietów. Możemy zauważyć, że ruch na łączach n0 do n2, n1 do n2 jest większy od przepustowości łącza n2 do n3. Na pierwszy rzut oka nie możemy stwierdzić, które pakiety są odrzucane. Strumienie danych są pokazane na czarno. Ćwiczenie 6 Oblicz ruch generowany na łączach n0 do n2, n1 do n2. Czy ruch generowany na tych łączach rzeczywiście przekracza możliwości łącza n2-n3? Kolorowanie strumieni danych Dodajmy poniższe dwie linie do definicji agentów. $udp0 set class_ 1 $udp1 set class_ 2 Kolejny fragment programu dodajmy pod definicją obiektu symulatora. $ns color 1 Blue $ns color 2 Red Dzięki tym zmianom możemy rozróżnić strumienie danych. Ćwiczenie 6 Uruchom symulacje, zaobserwuj zmienione kolory strumieni danych. Monitorowanie kolejki Aby monitorować kolejkę pomiędzy węzłami n2 i n3 dodajmy poniższą linię $ns duplex-link-op $n2 $n3 queuepos 0.5 Ćwiczenie 7 Uruchom symulację. Zaobserwuj straty pakietów. Kolejka typu droptail nie jest sprawiedliwa. Zmienimy rodzaj kolejki tak, by łącze n2-n3 było dzielone w sposób sprawiedliwy. Poniższy fragment ustawia kolejkę typu SFQ. $ns duplex-link $n3 $n2 1Mb 10ms SFQ 5/6

Ćwiczenie 8 Sieci Komputerowe 2 / Ćwiczenia 2 Uruchom symulację. Zaobserwuj straty pakietów. Czy kolejka SFQ różni się od kolejki typu droptail? Czy możemy zauważyć to na symulacji? 6/6