P
AŃSTWOWA
W
YŻSZA
S
ZKOŁA
Z
AWODOWA W
T
ARNOWIE
I
NSTYTUT
P
OLITECHNICZNY
KIERUNEK
:
I
NFORMATYKA
ROK
:
IV
Bezprzewodowe systemy transmisji danych
Laboratoria
Ćwiczenie nr 5
Sieć IEEE 802.11 (CSMA/CA)
Celem ćwiczenia jest zapoznanie się z możliwościami symulatora COMNET III w
zakresie badania sieci standardu IEEE 802.11, dla której podstawowy algorytm dostępu
oparty jest na działaniu algorytmu CSMA/CA. Informacje na temat protokołu CSMA/CA
wraz z jego implementacją w symulatorze COMNET można znaleźć w instrukcji do
symulatora na stronach 129-132.
W ćwiczeniu wykorzystana zostanie możliwość precyzyjnego definiowania
parametrów ruchowych przy wykorzystaniu różnego rodzaju źródeł ruchu. Podpinając źródła
ruchu do określonych obiektów, można tworzyć własne aplikacje, własne rozkłady
prawdopodobieństw, lub wykorzystać rozkłady zaimplementowane w symulatorze.
Rozbudowany zestaw parametrów ruchowych pozwala na dokładniejszą analizę zachowania
się sieci w różnych przypadkach.
W trakcie ćwiczenia utworzone zostaną dwie sieci. W jednej będzie generowany ruch
FTP, natomiast w drugiej FTP i HTTP. Analizie poddany zostanie wpływ rodzaju
generowanego ruchu oraz rozbudowa sieci o nowe stacje robocze i serwery, na obciążenie
łącza, opóźnienie pakietów, czy liczbę kolizji.
Ćwiczenie składa się z następujących części:
- Zapoznanie się z graficznym interfejsem użytkownika
- Rozmieszczenie i połączenie urządzeń
- Zdefiniowanie rodzajów ruchu dla konkretnych urządzeń
- Symulacja sieci
- Przegląd wyników
- Rozbudowa istniejącej sieci i ponowna symulacja (do samodzielnego wykonania)
a) Zapoznanie się z graficznym interfejsem użytkownika
Interfejs użytkownika składa się dwóch części:
- Przestrzeni roboczej – środkowe okno
- Palety obiektów – pasek narzędziowy domyślnie umieszczony po lewej stronie
Przestrzeń robocza jest integralną częścią programu, w której umieszcza się i łączy
urządzenia, tworząc strukturę sieci. Po utworzeniu nowego projektu, w przestrzeni roboczej
pojawia się pusty obszar, w którym można umieszczać obiekty metodą “przeciągnij i upuść”.
Paleta obiektów zawiera:
− Urządzenia sieciowe: grupa komputerów, ruter, przełącznik
− Łącza: łącze punkt – punkt, łącze CSMA/CD (w parametrach łącza można ustawić
również inne protokoły), łącze token-passing
− Różnego rodzaju źródła: źródło wiadomości, źródło odpowiedzi, źródło aplikacji.
b) Utworzenie nowego projektu oraz przykładowej sieci
Nowy projekt tworzony jest automatycznie przy każdym uruchomieniu programu lub
po wybraniu z menu głównego programu opcji File->New. Aby zbudować sieć, z paska
narzędziowego należy wybrać i umieścić w obszarze roboczym następujące obiekty:
2
− Łącze CSMA/CA (CSMA/CD Link) - to samo, co łącze CSMA/CD (po dwukrotnym
kliknięciu ikony obiektu, w oknie szczegółów, w polu Type należy wybrać typ łącza:
CSMA/CA),
- Węzeł przetwarzający (Processing Node) - serwer FTP,
- Grupa komputerów (Computer Group) - grupę powinno stanowić 10 komputerów.
W wyniku połączenia powstanie następujący schemat sieci:
Rysunek 1 Schemat przykładowej sieci bezprzewodowej
Wartości parametrów dla poszczególnych obiektów:
PC GROUP:
Type: Computer Group
Parameters -> DEFAULT -> Number In Group: 10
CSMA/CA
Type:
CSMA/CA
Parameters: Po wybraniu przycisku z dwoma kropkami należy na listę po prawej
stronie przenieść opcję IEEE 802.11 Wireless LAN, a następnie po wybraniu przycisku
Edit ustawić następujące parametry:
Bandwidth:
11000
kbit/s
Frgmt thrshld: 2304 B
Frame
OH:
42
B
Frame max: 2304 B
Pozostałe parametry należy pozostawić z wartościami domyślnymi.
c) Przypisanie parametrów ruchowych dla utworzonej sieci
COMNET III oferuje kilka metod generowania ruchu w sieci. Dwie najpopularniejsze
z nich to generowanie ruchu przy użyciu źródeł aplikacji oraz generowanie ruchu przy użyciu
źródeł ruchu. W ćwiczeniu wykorzystane zostaną obydwie z nich.
COMNET III definiuje trzy rodzaje źródeł ruchu:
− Źródło wiadomości
− Źródło odpowiedzi
− Źródło sesji
Źródło wiadomości (Message Source) to generator wiadomości odpowiedzialny za ich
dostarczenie do jednego lub więcej węzłów przeznaczenia. Źródło wykorzystywane jest
między innymi do symulacji ruchu związanego z przesyłaniem plików lub wiadomości e-
mail. Edycji źródła można dokonać poprzez dwukrotne kliknięcie ikony obiektu.
3
Źródło odpowiedzi (Response Source) jest generatorem wiadomości zwrotnych dla
otrzymanych wiadomości. Wykorzystywane jest w przypadku generowania zapytań
bazodanowych, odpowiedzi na wiadomości e-mail i innych wiadomości będących
odpowiedzią dla wiadomości, które do węzła nadeszły. Wiadomości generowane przez to
źródło zawsze są wysyłane tylko do węzła, który wiadomość nadał.
Źródło sesji (Session Source) jest takim źródłem wiadomości, które najpierw tworzy
sesję pomiędzy dwoma węzłami sieci, a następnie przesyła wiadomości między nimi. Źródło
tego typu może być wykorzystywane w przypadku symulacji ruchu paczkowego lub w
przypadku analizy ruchu zorientowanego połączeniowo.
W poniższej tabeli znajduje się opis najważniejszych parametrów źródeł ruchu:
Nazwa parametru
Opis
Message Name
Nazwa obiektu (musi być unikalna w skali całego projektu).
Message Scheduling
Sposób generowania wiadomości. W przypadku źródła
wiadomości i sesji dostępne są dwie metody: iteration time
(wykorzystanie rozkładów prawdopodobieństwa) oraz received
message (lista utworzonych przez użytkownika wiadomości).
Źródła odpowiedzi wykorzystują tylko metodę received
message.
Interarrival
Czas między generowaniem kolejnych wiadomości.
First arrival
Czas wygenerowania pierwszej wiadomości.
Last arrival
Czas wygenerowania ostatniej wiadomości.
Message Priority
Parametr określa porządek pakietów w buforze. Im wyższa
wartość pola Priority tym większy priorytet ma dany pakiet.
Priorytet musi być liczbą naturalną od 1 do 99. Pakiety z tym
samym priorytetem umieszczane są w kolejce zgodnie z FIFO.
Message Routing Class
Jest to etykieta nadawana wiadomości, określająca
wykorzystywany protokół rutingu.
Message Transport
Protocol
Określa protokół warstwy transportowej wykorzystywany do
przenoszenia wiadomości wygenerowanych przez dane źródło.
Jeśli wykorzystywany jest protokół z kontrolą przepływu (pole
Flow ctl), to wcześniej należy ustawić rozmiar okna oraz liczbę
potwierdzanych pakietów. Jeśli w danym protokole kontrola
przepływu nie jest wykorzystywana, to wtedy pole flow control
powinno zostać ustawione na NONE.
Packetize
Czas przetwarzania pakietu w buforze.
Message size
Wielkość wiadomości.
Message Destination
Określa węzeł przeznaczenia danej wiadomości. Nie występuje
w przypadku źródeł odpowiedzi, gdyż domyślnie węzłem
docelowym dla wiadomości wygenerowanych przez ten typ
źródła jest źródło, które tą wiadomość nadesłało.
Tabela 1 Opis ważniejszych parametrów źródeł ruchu
4
Nazwa parametru
Opis
Message/session
Ilość wiadomości transmitowanych podczas jednej sesji
Message IAT
Interwał czasowy pomiędzy kolejnymi wiadomościami w jednej
sesji.
Setup packet
Liczba bajtów w pakiecie startowym.
Confirm packet
Liczba bajtów w pakiecie potwierdzającym.
Tabela 2 Opis parametrów dla źródła sesji
Oprócz
wyżej wymienionych źródeł, występują jeszcze źródła aplikacji, które
pozwalają na zaawansowaną analizę sieci pod kątem konkretnych zastosowań. Źródła
aplikacji korzystają ze specjalnie przygotowanych w projekcie poleceń (commands). Źródła
aplikacji mogą być stosowane tylko w przypadku takich obiektów jak: komputery, grupy
komputerów, rutery. W ćwiczeniu źródło aplikacji wykorzystane zostanie do przesyłania
plików z serwera FTP do węzła przeznaczenia.
W ćwiczeniu wykorzystane zostaną:
− Źródło aplikacji (Message Source)
− Źródło odpowiedzi (Application Source)
Obiekty te należy przenieść z paska narzędziowego na obszar roboczy i połączyć z
dwoma węzłami w sposób przedstawiony na poniższym rysunku:
Rysunek 2. Schemat sieci po podłączeniu źródeł
Zanim
źródła zostaną skonfigurowane, należy zdefiniować polecenia wykorzystywane
przez źródło aplikacji. W tym celu, z menu głównego programu należy wybrać opcję Define -
> Global Commands, a po pojawieniu się okna szczegółów zaznaczyć opcję Answer Message
i przenieść ja na listę znajdującą się po prawej stronie. Nazwa polecenia powinna mieć
wartość FTP_ANSWER, natomiast pozostałe parametry należy pozostawić z wartościami
domyślnymi. Tak zdefiniowane polecenie jest poleceniem globalnym. W ćwiczeniu należy
również zdefiniować polecenie lokalne (za pomocą opcji Commands w szczegółach obiektu
FTP SERWER). Idea tworzenia polecenia lokalnego jest taka sama jak w przypadku polecenia
zdefiniowanego globalnie. Polecenie lokalne powinno mieć typ Read File i nazwę
FTP_FILE_READ1.
W opcjach węzła przetwarzającego (FTP SERVER), po przejściu do edycji
parametrów węzła, w sekcji File List, należy wpisać nazwy i rozmiary (od 600 MB do
800MB) dziesięciu plików do pobrania. Po zdefiniowaniu listy plików, w opcjach polecenia
FTP_FILE_READ1 należy wybrać plik, który będzie odczytywany. Dodatkowo należy
zdefiniować dziewięć poleceń lokalnych, odpowiadających za odczyt każdego z pozostałych
plików.
Aby serwer FTP obsługiwał żądania FTP, musi posiadać niezerową pojemność dysku,
na którym będzie przechowywał zdefiniowane wcześniej pliki (Node Properties ->
Parameters -> Computer Group Parameters parametr Disk (Mb) w sekcji Disc Storage).
5
Pozostałe parametry powinny posiadać wartości:
Sekcja Application Processing
Proccesing/cycle:
Poi(10.0)
Time
slice:
none
Sekcja Packet processing
Pozostawić wartości domyślne
Sekcja Port processing
Port default: 0.000 ms
Buffer max -> Input: 100000000
Buffer max -> Output: 100000000
Buffer units: Bytes
Sekcja Disk Storage:
Disk size: 100000 MB
Parametry, które nie zostały wymienione powyżej, należy pozostawić z wartościami
domyślnymi.
Po utworzeniu poleceń i stworzeniu listy plików do pobrania należy otworzyć okno
szczegółów źródła aplikacji (FTP) i ustawić w nim następujące parametry:
− Tryb generowania wiadomości na Received Message
− Do listy Edit Received Message dodać FTP_REQUEST
− Do pola Command Sequence należy dodać zdefiniowane wcześniej polecenia, przy
czym każde z poleceń powinno zostać wywołane dokładnie jeden raz (pole Number of
executions w szczegółach polecenia na liście Command Sequence). Polecenie
polegające na odczycie pliku powinno się wykonać przed poleceniem FTP_ANSWER
Rysunek 3. Kolejność zapytań i odpowiedzi w źródle aplikacji
6
Po ustawieniu parametrów serwera FTP i źródła aplikacji należy ustawić parametry
źródła generującego żądania FTP:
Schedule:
Iteration
time
Arrival times -> Interarrival: Exp(1.0)
Arrival
times
->
First arrival: none
Arrival times -> Last arrival: none
Msg size calc: Probability distribution
Prob distrib: Poi(10.0)
Dest type: Random neighbor
Pozostałe parametry należy pozostawić z wartościami domyślnymi.
d) Symulacja sieci
Celem symulacji jest sprawdzenie, jak się będzie zmieniało obciążenie łącza
CSMA/CA w zależności od częstości generowanych zapytań FTP_REQUEST. Za częstość
generowanych wiadomości odpowiada sekcja parametrów Arrival Times we właściwościach
źródła wiadomości (FTP REQUEST).
Jeszcze przed symulacją, wybierając z menu głównego programu opcję Simulate ->
Verify Model, należy sprawdzić poprawność modelu sieci. Jeśli model jest prawidłowy, to w
lewym dolnym rogu programu powinien pojawić się komunikat: No Verification Errors
Detected.
Aby
ustawić czas trwania symulacji, z menu głównego programu należy wybrać opcję
Simulate -> Run Parameters, a po ukazaniu się okna z parametrami, w polu Replication
Length wpisać odpowiedni czas symulacji, na przykład 3600s.
W ćwiczeniu monitorowane będą następujące parametry:
− Liczba dostarczonych zapytań FTP do serwera FTP (Nodes -> Recived Message
Count)
− Wykorzystanie łącza CSMA/CA (Links -> Channel Utilization)
− Liczba kolizji dla łącza CSMA/CA (Links -> Collision Stat)
− Opóźnienie wiadomości w węźle PC2 (Message + Response Sources -> Message
Delay)
− Opóźnienie pakietów w węźle PC2 (Message + Response Sources -> Packet Delay)
Raporty z symulacji można wybrać otwierając okno Select Reports (opcja Repors ->
Select Reports w menu głównym programu). Aby zmienić nazwę pliku z wynikami symulacji
należy wybrać opcję Report -> Set File Name. Samo uruchomienie symulacji wywołuje się za
pomocą polecenia Start Simulation lub za pomocą ikony
. Aby przyspieszyć symulację
należy wyłączyć animację podczas symulacji (Simulate -> Animate – odznaczyć opcję
Animate Packet Flow).
Plik z wynikami można otworzyć bezpośrednio z programu COMNET (Report ->
Browse Report) lub za pomocą dowolnego edytora tekstowego. Otrzymane wyniki należy
umieścić w sprawozdaniu.
COMNET III umożliwia również podgląd danych podczas symulacji. Wyboru
odpowiedniego podglądu można dokonać w oknie Select Snapshots (Reports -> Select
Snapshots). Możliwe jest również zbieranie statystyk. W tym celu, we właściwościach danego
7
obiektu należy wybrać opcję Statistics i włączyć odpowiednią statystykę (zaznaczona opcja
Collect Stats we właściwościach danej statystyki).
e) Rozbudowa istniejącej sieci
Jako zadanie do samodzielnego wykonania pozostaje rozbudowanie istniejącej
infrastruktury sieciowej. Należy utworzyć nową grupę komputerów oraz serwer WWW.
Komputery z jednej grupy powinny generować zapytania do serwera WWW, natomiast z
drugiej do serwera FTP. Poniżej zaprezentowane zostały wartości parametrów dla
poszczególnych źródeł i urządzeń. Wcześniej należy zdefiniować własny rozkład
prawdopodobieństwa o nazwie MY_SAMPLE (Define -> User distributions), jako Sample
only: Nor(19.4,3.8).
Źródło WWW REQUEST:
Schedule:
Iteration
time
Arrival times -> Interarrival: MY_ SAMPLE
Arrival
times
->
First arrival: none
Arrival times -> Last arrival: none
Msg size calc: Probability distribution
Prob distrib: Uni(10.0,100.0)
Dest type: Random neighbor
Trans protocol: TCP/IP
Źródło WWW:
Schedule: Received Message
Edit Received Message: WWW REQUEST
Serwer WWW:
Application Processing -> Processing/cycle: 0.02
Application Processing -> Time slice: Nor(100000.0,10000.0)
Packet Processing: pozostawić wartości domyślne
Port processing -> Port default -> Input/Output: 4194304
Port processing -> Buffer max -> Input/Output: 0.050
Port processing -> Buffer units -> bytes
Disk Storage -> Disk: 1075 MB
Disk Storage -> Sector: 8748 KB
Disk Storage -> Xfer: 109284
Disk Storage -> Seek: 8500
Pozostałe parametry należy pozostawić z wartościami domyślnymi.
Należy również zdefiniować polecenia do odczytu strony WWW (WWW Page Read)
oraz polecenie do odpowiedzi na żądanie WWW (WWW_ANSWER). Dla lokalnego polecenia
WWW Page Read należy utworzyć własną tablicę rozkładu prawdopodobieństwa
WWW_READ (Define -> Tabular distribution).
8
WWW_ANSWER:
Use “Echo” in reports: zaznaczone
Msg size calc: (A x File Bytes) + B
A = 1
B = 0
WWW Page Read:
Bytes Read Calculation: Probability distribution: WWW_READ
Pozostałe parametry pozostawić z wartościami domyślnymi
WWW_READ:
Type:
discrete
Tabela: Cum prob - prawdopodobieństwo występowania wartości, Value – wartość
Prawdopodobieństwo
Wartość
0.00000 0.00000
0.05230 2154.00000
0.09630 6618.00000
0.11500 8673.00000
0.14070 9975.00000
0.19420 14494.00000
0.22910 16650.00000
0.27350 17040.00000
0.28810 17053.00000
0.31560 18197.00000
0.34770 21797.00000
0.36910 25875.00000
0.40890 28188.00000
0.43720 30167.00000
0.45460 30365.00000
0.49540 30420.00000
0.51230 36514.00000
0.54120 39625.00000
0.67360 41829.00000
0.71060 62230.00000
0.72800 69609.00000
0.75040 72317.00000
0.77150 96015.00000
0.78640 127800.00000
0.81370 134370.00000
0.93240 136681.00000
0.97870 296816.00000
1.00000 526065.00000
Tabela 3 Rozkład prawdopodobieństwa dla żądań wysyłanych do serwera WWW
9
W
przypadku
żądań przesyłanych do serwera WWW nie definiuje się, jak to miało
miejsce w przypadku żądań FTP, wielkości pobieranych plików. Zakłada się, że generowane
wiadomości są nieduże i zbliżone do rozmiaru pakietów. Przykładowy schemat sieci
przedstawia poniższy rysunek:
Rysunek 4. Rozbudowana sieć bezprzewodowa
Po rozbudowie należy powtórnie przeprowadzić wszystkie symulacje, zaobserwować
jak się zmienia obciążenie w sieci w zależności od częstości generowanych wiadomości, czy
liczby komputerów w grupach. Można monitorować parametry innych urządzeń oraz łączy, a
także zmieniać rozkład ruchu w sieci.
Zadania:
− Jak częstość wysyłanych wiadomości oraz dołączanie kolejnych stacji wpływa na
wydajność sieci oraz liczbę pakietów ulegających kolizji (Links -> Collision Stats)?
− Zbadać wpływ wielkości pakietów (pomiędzy 50 B a 1500 B) na wydajność sieci.
Dlaczego dla pakietów o małych rozmiarach wydajność sieci jest taka mała?
− Dla jakich rozmiarów pakietów wydajność sieci jest największa (dla sieci utworzonej
w podpunkcie e)?
− Zbadać wpływ bitowej stopy błędów na wydajność pracy sieci dla 5, 25 i 100 stacji.
10