Spośród metod oceny wydajności sieci teleinformatycznych na szczególną uwagę zasługują metody symulacyjne. Są one niezwykle ważne, zwłaszcza tam, gdzie zastosowanie rozwiązań analitycznych jest utrudnione (a często wręcz niemożliwe) ze względu na zbyt dużą złożoność systemu.
Ns-2 jest symulatorem zdarzeniowym, przeznaczonym do symulacji sieci teleinformatycznych. Jest on wykorzystywany do modelowania sieci przewodowych i bezprzewodowych. Może on być stosowany do badań naukowych, a także w dydaktyce. Wykorzystanie symulatora ns-2 do celów edukacyjnych jest wspomagane przez program. CONSER Narodowej Fundacji Nauki (National Science Foundation, USA). Korzystanie z ns-2 do celów edukacyjnych jest nieodpłatne.
Skrypt ?SIECI KOMPUTEROWE - laboratorium symulacyjne" przeznaczony jest dla studentów IV roku specjalności "Telekomunikacja", uczęszczających na zajęcia laboratoryjne z przedmiotu ?Sieci komputerowe" (w wymiarze 30 godzin, prowadzonych w blokach czterogodzinnych). Treść skryptu stanowi przypomnienie i uzupełnienie wybranego materiału prezentowanego na wykładzie.
Skrypt składa się z 8 rozdziałów, z których każdy przeznaczony został na omówienie jednego ćwiczenia laboratoryjnego. Pierwsze ćwiczenie zawiera wprowadzenie do symulatora ns-2. Celem ćwiczenia jest zapoznanie studentów z językiem tcl oraz z możliwością pracy z symulatorem ns-2 (w trybie interaktywnym i wsadowym). Drugie ćwiczenie zostało poświęcone mechanizmowi powolnego startu protokołu TCP. Mechanizm ten jest wykorzystywany zarówno w początkowej fazie transmisji TCP, jak również stanowi jeden z istotnych elementów składowych mechanizmu zapobiegania przeciążeniom: Trzecie ćwiczenie ma na celu zapoznanie Studentów z mechanizmem sterowania przepływem danych użytkownika, przenoszonych przez protokół TCP. Celem czwartego ćwiczenia jest pogłębienie wiedzy Studentów z zakresu zapobiegania przeciążeniom w sieciach opartych o stos protokołowy TCP/IP. Piąte ćwiczenie zapoznaje Studentów z metodami detekcji i korekcji błędów stosowanymi w protokole TCP. Szóste ćwiczenie jest poświęcone jednej z najważniejszych cech protokołu TCP - zdolności do sprawiedliwego podziału zasobów sieciowych pomiędzy konkurujące ze sobą połączenia TCP. Ćwiczenie siódme ma na celu zapoznanie Studentów z kolejką RED jako elementem dokonującym detekcji wstępnych stadiów przeciążenia. Ostatnie, ósme ćwiczenie, jest poświęcone wpływowi czasu RTT na wydajność protokołu TCP.
Pierwszą częścią każdego z rozdziałów jest wprowadzenie, które ma na celu zapoznanie Studenta z tematyką ćwiczenia. Druga część rozdziału zawiera informacje na temat praktycznej realizacji ćwiczenia oraz wskazówki pomocne podczas pisania sprawozdania z przebiegu ćwiczenia. Znajdują się tutaj, między innymi, polecenia symulatora ns-2, których znajomość jest niezbędna do realizacji ćwiczenia oraz, w razie potrzeby, przykłady skryptów języka awk, które mogą być pomocne przy obróbce raportów tekstowych zawierających wyniki symulacji. W drugiej części każdego rozdziału zawarte są również szczegółowy program ćwiczenie oraz propozycje opracowania wyników symulacji. Każdy z rozdziałów kończy spis literatury (w tym również literatury uzupełniającej).
Na końcu skryptu zamieszczono pięć Dodatków. Dodatek A zawiera wybór przykładowych skryptów symulacyjnych, napisanych w języku tcl, które mogą być wykorzystywane podczas realizacji ćwiczeń laboratoryjnych. Dodatek B zawiera wybór przykładowych skryptów w języku awk, które mogą być wykorzystane do obróbki wyników symulacji otrzymanych podczas realizacji ćwiczeń laboratoryjnych. Wyboru dokonano kierując się stopniem skomplikowania skryptu symulacyjnego (obróbki danych) oraz trudnościami, z jakimi borykali się Studenci w trakcie dotychczas prowadzonych zajęć laboratoryjnych z przedmiotu ?Sieci komputerowe". Dodatek C zawiera opis najważniejszych instrukcji języka tcl oraz metod wykorzystywanych podczas zajęć laboratoryjnych, które są przedmiotem niniejszego skryptu. W Dodatku D zamieszczone zostały diagramy najważniejszych klas języka tcl, wykorzystywanych w niniejszym skrypcie. Dodatek E zawiera przykład raportu wyjściowego, wraz z omówieniem formatu raportu.
Spis treści:Wprowadzenie
1. Symulacja zdarzeniowa sieci teleinformatycznych
1.1. Wstęp do symulacji sieci teleinformatycznych
1.1.1. Modelowanie i symulacja systemów dyskretnych
1.1.2. Symulacja sieci teleinformatycznych
1.1.3. Symulator ns-2
1.2. Cel i zakres ćwiczenia
1.2.1. Cel ćwiczenia
1.2.2. Wprowadzenie do języka tcl
1.2.3. Praca z symulatorem ns-2
1.2.4. Skrypt symulacyjny
1.2.5. Wizualizacja wyników symulacji
1.2.6. Format raportu symulacji
1.2.7. Program ćwiczenia
1.2.8. Zawartość sprawozdania
Literatura
2. Powolny start protokołu TCP
2.1. Ogólna charakterystyka protokołu TCP
2.2. Algorytm powolnego startu
2.3. Cel i zakres ćwiczenia
2.3.1. Cel ćwiczenia
2.3.2. Wybrane polecenia języka tcl
2.3.3. Wstępne przetwarzanie wyników symulacji
2.3.4. Program ćwiczenia
2.3.5. Zawartość sprawozdania
Literatura
3. Mechanizm sterowania przepływem zastosowany w protokole TCP
3.1. Sterowanie przepływem danych
3.2. Cel i zakres ćwiczenia
3.2.1. Cel ćwiczenia
3.2.2. Wybrane polecenia języka tcl i opracowanie wyników symulacji
3.2.3. Program ćwiczenia
3.2.4. Zawartość sprawozdania
Literatura
4. Mechanizm przeciwdziałania przeciążeniom zastosowany w protokole TCP
4.1. Przeciwdziałanie przeciążeniam pojawiającym się w trakcie transmisji TCP
4.1.1. Przeciążenia - detekcja i sygnalizacja
4.1.2. Protokół TCP a detekcja i sygnalizacja przeciążeń
4.1.3. Charakterystyka mechanizmu przeciwdziałania przeciążeniom stosowanego w protokole TCP
4.2. Cel i zakres ćwiczenia
4.2.1. Cel ćwiczenia
4.2.2. Wybrane polecenia języka tcl
4.2.3. Program ćwiczenia
4.2.4. Zawartość sprawozdania
Literatura
5. Mechanizm korekcji błędów zastosowany w protokole TCP
5.1. Korekcja błędów transmisji TCP
5.2. Cel i zakres ćwiczenia
5.2.1. Cel ćwiczenia
5.2.2. Wybrane polecenia języka tcl
5.2.3. Program ćwiczenia
5.2.4. Zawartość sprawozdania
Literatura
6. Sprawiedliwy podział zasobów sieciowych pomiędzy konkurujące połączenia TCP
6.1. Sprawiedliwy podział zasobów sieciowych
6.2. Cel i zakres ćwiczenia
6.2.1. Cel ćwiczenia
6.2.2. Wybrane polecenia języka tcl
6.2.3. Program ćwiczenia
6.2.4. Zawartość sprawozdania
Literatura
7. Kolejka RED
7.1. Ogólna charakterystyka kolejki RED
7.2. Cel i zakres ćwiczenia
7.2.1. Cel ćwiczenia
7.2.2. Wybrane polecenia języka tcl
7.2.3. Program ćwiczenia
7.2.4. Zawartość sprawozdania
Literatura
8. Wpływ czasu RTT na wydajność protokołu TCP
8.1. Zjawisko przesunięcia
8.2. Cel i zakres ćwiczenia
8.2. L Cel ćwiczenia
8.2.2. Program ćwiczenia
8.2.3. Zawartość sprawozdania
Literatura
DODATEK A. Skrypty symulacyjne
A.1. Przykładowe skrypty symulacyjne do ćwiczenia 1
A.2. Przykładowe skrypty symulacyjne do ćwiczenia 2
A.3. Przykładowy skrypt symulacyjny do ćwiczenia 3
A.4. Przykładowy skrypt symulacyjny do ćwiczenia 4
A.5. Przykładowe skrypty symulacyjne do ćwiczenia 5
A.6. Przykładowy skrypt symulacyjny do ćwiczenia 6
A.7. Przykładowe skrypty symulacyjne do ćwiczenia 7
A.8. Przykładowe skrypty symulacyjne do ćwiczenia 8
DODATEK B. Skrypty do obróbki raportów
B.1. Przykładowe skrypty awk do ćwiczenia 2
B.2. Przykładowe skrypty awk do ćwiczenia 5
B.3. Przykładowy skrypt awk do ćwiczenia 6
B.4. Przykładowe skrypty awk do ćwiczenia 7
B.5. Przykładowy skrypt awk do ćwiczenia 8
DODATEK C. Wybrane elementy języka tcl
DODATEK D. Hierarchia klas
DODATEK E. Format raportu ns-2