zobacz spis treści

Transkrypt

zobacz spis treści
Spis treści
Wstęp
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Rozdział 1. Wprowadzenie teoretyczne . . . . . . . . . . . . . . . . . . . . .
3
1.1.
1.2.
Podstawowe definicje . . . . . . . . . . . . . . . . . .
Wprowadzenie do symulacji zdarzeń dyskretnych . .
1.2.1. Symulacja sieci komputerowych . . . . . . . .
1.2.2. Przegląd dostępnych symulatorów sieciowych
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 3
. 5
. 9
. 10
Rozdział 2. Pakiet OMNeT++ . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.
2.2.
2.3.
Instalacja pakietu . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1. Instalacja w systemie Linux . . . . . . . . . . . . . . . . .
2.1.2. Tworzenie i kompilacja nowego projektu w systemie Linux
2.1.3. Instalacja środowiska OMNeT++ w systemie Windows .
Koncepcja budowy modelu symulacyjnego . . . . . . . . . . . . .
2.2.1. Hierarchiczność modelu . . . . . . . . . . . . . . . . . . .
2.2.2. Połączenia, bramki, komunikaty . . . . . . . . . . . . . . .
Środowisko uruchomieniowe symulacji . . . . . . . . . . . . . . . .
2.3.1. Środowisko tekstowe Cmdenv . . . . . . . . . . . . . . . .
2.3.2. Środowisko graficzne TkEnv . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
14
15
16
18
19
20
21
21
23
Rozdział 3. Definicja modelu symulacyjnego . . . . . . . . . . . . . . . . . . 29
3.1.
3.2.
3.3.
Definicja modułów i tworzenie topologii połączeń modelu .
3.1.1. Składnia języka NED . . . . . . . . . . . . . . . . .
3.1.2. Definicja modułów prostych . . . . . . . . . . . . .
3.1.3. Definicja modułów złożonych . . . . . . . . . . . .
3.1.4. Wyrażenia w języku NED . . . . . . . . . . . . . .
3.1.5. Określanie parametrów połączeń . . . . . . . . . .
3.1.6. Szczegółowe zasady przesyłu komunikatów . . . . .
3.1.7. Definiowanie funkcji użytkownika . . . . . . . . . .
3.1.8. Definicja sieci symulacyjnej . . . . . . . . . . . . .
3.1.9. Właściwości graficzne komponentów . . . . . . . .
3.1.10. Graficzny edytor GNED . . . . . . . . . . . . . . .
Plik konfiguracyjny omnetpp.ini . . . . . . . . . . . . . .
3.2.1. Sekcja [General] . . . . . . . . . . . . . . . . . . .
3.2.2. Sekcja [Parameters] . . . . . . . . . . . . . . . . .
3.2.3. Znaki wieloznaczne (wildcards) . . . . . . . . . . .
3.2.4. Sekcje [Run i] . . . . . . . . . . . . . . . . . . . .
3.2.5. Pozostałe parametry konfiguracyjne . . . . . . . .
Zaawansowane możliwości parametryzowania modułów . .
3.3.1. Parametryzowanie wektorów modułów składowych
3.3.2. Parametryzowanie typów modułów . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
31
33
37
45
45
46
47
48
48
52
53
54
54
55
57
57
58
58
59
Rozdział 4. Programowanie aktywnych modułów (C++) . . . . . . . . . . 61
IV
Spis treści
4.1.
Symulacja zdarzeń dyskretnych w OMNeT++ . . . . . . . .
4.1.1. Czas symulowany . . . . . . . . . . . . . . . . . . . .
4.1.2. Wymiana informacji ze środowiskiem symulacji . . .
4.1.3. Definiowanie modułów prostych w C++ . . . . . . .
4.1.4. Metoda handleMessage(cMessage *msg) . . . . . . .
4.1.5. Obsługa bram i połączeń . . . . . . . . . . . . . . . .
4.2. Komunikaty . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1. Wysyłanie komunikatów . . . . . . . . . . . . . . . .
4.2.2. Skryptowe definiowanie własnych klas komunikatów
4.3. Parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1. Dostęp do parametrów modułu . . . . . . . . . . . .
4.4. Identyfikacja i dostęp do hierarchii modułów . . . . . . . . .
4.5. Zbieranie i przetwarzanie wyników symulacji . . . . . . . . .
4.5.1. Klasa wektorów cOutVector . . . . . . . . . . . . . .
4.5.2. Klasa statystyk cStatistic . . . . . . . . . . . . . .
4.5.3. Kontrola parametrów w oknie środowiska TkEnv . . .
4.6. Wewnętrzne struktury danych: listy, kolejki, tablice . . . . .
4.6.1. Kolejki . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.2. Tablice . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7. Generatory liczb losowych . . . . . . . . . . . . . . . . . . .
4.8. Biblioteka klas OMNeT++ . . . . . . . . . . . . . . . . . . .
4.9. Kompilacja i tworzenie bibliotek symulacyjnych . . . . . . .
4.10. OMNeT++ w wersji 4.0 . . . . . . . . . . . . . . . . . . . .
4.11. Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . .
Rozdział 5. Przykłady zastosowania . . . . . . . . . .
5.1. Uproszczone modele przesyłania pakietów pomiędzy
5.1.1. Przykład tictoc1 . . . . . . . . . . . . . . .
5.1.2. Przykład tictoc2 . . . . . . . . . . . . . . .
5.1.3. Przykład tictoc3 . . . . . . . . . . . . . . .
5.1.4. Przykład tictoc4 . . . . . . . . . . . . . . .
5.1.5. Przykład tictoc5 . . . . . . . . . . . . . . .
5.1.6. Przykład tictoc6 . . . . . . . . . . . . . . .
5.1.7. Przykład tictoc7 . . . . . . . . . . . . . . .
5.1.8. Przykład tictoc8 . . . . . . . . . . . . . . .
5.1.9. Przykład tictoc9 . . . . . . . . . . . . . . .
5.1.10. Przykład tictoc10 . . . . . . . . . . . . . .
5.1.11. Przykład tictoc11 . . . . . . . . . . . . . .
5.1.12. Przykład tictoc12 . . . . . . . . . . . . . .
5.1.13. Podsumowanie . . . . . . . . . . . . . . . .
5.2. Model przełącznika sieciowego . . . . . . . . . . . .
5.2.1. Podsumowanie . . . . . . . . . . . . . . . .
5.3. Model mechanizmu RED . . . . . . . . . . . . . . .
5.3.1. Mechanizm RED . . . . . . . . . . . . . . .
5.3.2. Implementacja mechanizmu RED . . . . . .
5.3.3. Podsumowanie . . . . . . . . . . . . . . . .
. . . . .
węzłami
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
61
62
62
64
66
68
69
72
80
84
84
85
87
87
89
91
91
92
92
94
95
96
99
101
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
103
103
103
106
106
107
108
109
110
112
114
116
118
118
119
120
124
124
124
125
132
Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133