Spezifikation von Kommunikationssystemen - 12. Simulation von...

39
Spezifikation von Kommunikationssystemen . Simulation von Kommunikationsnetzen Prof. Jochen Seitz Sommersemester Fachgebiet „Kommunikationsnetze“

Transcript of Spezifikation von Kommunikationssystemen - 12. Simulation von...

Page 1: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Spezifikation von Kommunikationssystemen12. Simulation von Kommunikationsnetzen

Prof. Jochen SeitzSommersemester 2019

Fachgebiet „Kommunikationsnetze“

1

Page 2: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Übersicht

Motivation

Definition

Simulationsumgebung

Simulation

Beispieltools

2

Page 3: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Motivation

Page 4: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Motivation

• Bisher → Spezifikation• ASN.1, SDL, UML• Automaten, Weg-Zeit-Diagramme

• Bewertung• Konformität• Zuverlässigkeit

• Aber: keine Realisierung und Evaluation• Simulation ganzer Knoten / Netze

• Leistungsparameter

3

Page 5: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Definition

Page 6: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Was sind Simulationen?

• Definition• Vorgänge anhand realitätsgetreuer Modelle nachbilden

und analysieren• hier: Kommunikationsnetze

• Ziele• ein komplexes System / Modell verstehen• Finden von robusten Lösungen für ein Problem• Vergleich von verschiedenen Lösungen

4

Page 7: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Warum als Simulation?

Möglichkeiten ein System zu untersuchen:

• Reales System• meist (noch) nicht verfügbar

• Testbeds / Feldtests• begrenzte Aussage zu Skalierbarkeit• eventuell unerwünschte Nebene�ekte

• Physische Modelle• unüblich

• Analytische mathematische Beschreibung• als ”closed-form expression” darstellbar• wird schnell komplex• basiert auf restriktiven Annahmen

5

Page 8: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Simulationsumgebung

Page 9: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Komponenten

• Zentrale Simulationsengine

• Sammlung von Modellen (Links, Protokolle usw.)

• Konfigurationsskripte

• Benutzerschnittstelle

• Vorverarbeitungswerkzeuge

• Werkzeuge zur Datenauswertung

6

Page 10: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Simulationsengine

• Beschreibt, wie die Simulationen ablaufen

• Abarbeitung erfolgt einheitlich, unabhängig vonAnwendungen

• Hat Zugri� auf alle Parameter / Knoten

7

Page 11: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Klassifikation

• Zeitabhängigkeit• statisch (keine Auswirkungen)• dynamisch (Änderungen über die Zeit)

• Zufälligkeit• deterministisch (ohne zufälligen Komponenten)• stochastisch (mit zufälligen Komponenten)

• Variablenänderungen• diskret (eventbasiert)• kontinuierlich (Di�erentialgleichungen)

8

Page 12: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Zeitänderung

t0 t1 t3t2

t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11

t0

t5 t6 t7t9

Eventbasiert

Feste Zeitintervalle

Kontinuierliche reale Zeit

9

Page 13: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Arten von Simulationen

• Basierend auf Auswahl an Klassifikationsmerkmalen

• Typisch: ereignisdiskrete Simulation• engl. Discrete Event Simulator (DES)• Systemzustand ändert sich nur, wenn Ereignisse auftreten• Zustand muss zwischen Ereignissen nicht betrachtet

werden• nach Abarbeiten des aktuellen Ereignisses:

• Simulationszeit auf Zeitstempel des nächsten Ereignisses• Engine berechnet neuen Systemzustand (inkl. weiterer

Ereignisse)

• Kontinuierliche Simulation• Systemzustand ändert sich zu vorgegebenen

Zeitintervallen• verwendet echte Zeit• bei ausreichend kleinen Zeitintervallen: alle

Zusandsübergänge beobachtbar 10

Page 14: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Ereignisse in DES

• Ereignisverwaltung• Ereignislisten (Ereignistyp und Zeitstempel)• Ereignisse werden an Modelle weitergegeben• Modelle können als Reaktion neue Ereignisse auslösen

• Eventtypen• Basisereignisse

ändern den Zustand des Systems(ankommende / erzeugte Pakete)

• Hilfsereignissewerden für Auswertung und Steuerung der Simulationbenötigt

11

Page 15: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Allgemeiner Ablauf

• Initialisierung• Setzen der Simulationszeit (idealerweise auf 0.0)• Startzustand der Simulation festlegen• Ereignislisten erzeugen und erstes Ereignis laden

• Ereignisverarbeitung während der Simulation• Aktualisierung der Simulationszeit mit Zeitstempel des

nächsten Ereignisses• Bearbeitung des Ereignisses → alle entsprechenden

Aktionen ausführen• Entsprechende Aktualisierung des Systemzustands

• Beenden der Simulation

• Was fehlt?• Sammlung statistischer Daten• Auswertung der Daten

12

Page 16: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Simulation

Page 17: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Benötige Informationen

• Netztopologie• Knoten (Endsysteme, Router, Server, ...)• Verbindungen (mit ihren Eigenschaften)

• Protokollstack auf den Knoten• Modularer Aufbau• Standardisierte Protokolle / eigene Entwicklungen• Anwendung mit realistischem Verkehrsaufkommen

• Auswertemodule• Animation• Sammlung / Darstellung der ermittelten Werte

13

Page 18: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Anforderungen an Simulationen

• Realistische Modellierung von• Signalausbreitung• Protokollen (den Schichten entsprechend)• Mobilität der Knoten• Zu analysierender Algorithmus

• Szenarien / Netztopologie• Rahmenbedingungen

normales Verhalten von KnotenStraßen, Wege, Verkehrsregeln

• AnwendungsfallKatastrophe, Unfall

• Metriken• Was soll gemessen werden?

Durchsatz, Erfolgsrate, Verzögerungen . . .• Bezug zum Use Case

z.B. im Straßenverkehr: Bremsweg, Schadsto�austoß,aber auch: Dauer des Staus

14

Page 19: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Simulation Aufbauen

• Simulationsumgebung erzeugen

• Netzwerk erzeugen

• Protokollstapel erzeugen

• Anwendungen konfigurieren

• Module zur Sammlung von Messdaten konfigurieren

15

Page 20: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Problemdefinition - Welche Art von Simulation

• Simulationen mit Abbruchkriterium• verwenden definierte Start- und Abbruchbedingungen• Messwerte abhängig von Start- und Abbruchbedingungen• ähnlich zur Analyse von Einschwingverhalten (aber nicht

identisch)

• Simulation stabiler Zustände – Einschwungphase• Ergebnisse einer Start- oder Warmlaufphase• schwanken stark und

• Simulation stabile Zustände – stationäre Phase• Langzeitverhalten eines Systems unter normaler Last• ausreichend großer Beobachtungszeitraum notwendig• entspricht einer Analyse von stationären Zuständen

16

Page 21: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Eingaben

• Trace-basiert• vorher gesammelte Daten in der Simulation verwenden• sehr realitätsnah, zeigt was aufgezeichnet wurde• unflexibel:

andere Fälle werden eventuell nicht berücksichtigtAnpassung des Systems an einen Spezialfall möglich

• Empirische Verteilung• aus Messwerten ableiten, indem Messpunkte verbunden

werden• einfach, relativ genau• Änderungen schwierig, limitierte Anzahl Fälle abbildbar

• Statistische Verteilung• eine passende statistische Verteilungsfunktion (z.B.

Exponential, Gamma) verwenden• kompakte Darstellung der Werte mit wenigen Parametern• geglättete Daten, passende Funktion schwer zu finden 17

Page 22: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Warum Wahrscheinlichkeiten und Statistik?

• Um ein Gefühl für die Daten zu bekommen

• Ergebnisse der Experimente vorstellen und vergleichen

• Wie vergleicht man Statistiken?• graphisch• statistische Hypotesentests

• Aber: nicht Äpfel und Birnen vergleichen!

18

Page 23: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Statistik - Wieviele Experimente sind notwendig?

• Abhängig von der Anzahl variabler Parameter• n Parameter mit jeweils 10 möglichen Werten

ergeben 10n mögliche Konfigurationen• Jede Konfiguration sollte mehrfach wiederholt werden• exponentieller Anstieg der Durchläufe

• Sinvolle Auswahl der Konfigurationen notwendig• aber: alle Zusammenhänge zwischen Parametern erfassen

19

Page 24: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Statistik - Daten sammeln

• Verwendung von Tools der Simulationsumgebung• Mittelwerte, Histogramme, Quantilschätzung• Erkennung von transientem Verhalten• Erkennung von vorgegebener Genauigkeit der Ergbnisse

• Speichern von Rohdaten• Standardmethode der jeweiligen Programmiersprache• Logging-Funktion des Simulators

20

Page 25: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Statistik - Von Rohdaten zum Diagramm

• Werte aus Rohdaten aufbereiten• Skripte (perl, bash)

• Metriken berechnen (inkl. Standardabweichung fürVarianz)

• berechnete Werte in gefordertes Datenformatabspeichern• csv

• plotten der Daten• gnuplot• R

• gegebenenfalls fitten einer Verteilung

21

Page 26: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Notwendige Arbeitsschritte

Problemdefinition

Datenanalyse

Modelle definieren

Konzeption prüfen

Programmierung

Testläufe / Debugging

Modell prüfen

Experiment planen

Simulation

Ergebnisse auswerten

Ergebnisse präsentieren

Modelle kombinieren

22

Page 27: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Vorteile von Simulationen

• oft die einzig mögliche Analyseform• ermöglicht den Vergleich verschiedener

Alternativlösungen• erlaubt die Beobachtung des Systems unter

vorgegebenen Umgebungsparametern• bietet Kontrolle über Umgebungsparameter• ermöglich Analyse von

• Systemem mit großem Zeithorizont in verkürzter Zeit• detaillierten Abläufen bei verzögerter Ausführung

• erfordert weniger / keine restriktiven Annahmen• ermöglicht schnellen Austausch von Modellen,

Algorithmen und Variablen• erlaubt die Verwendung externer Traces aus Messungen

als Eingabe23

Page 28: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Nachteile von Simulationen

• teilweise sehr zeitaufwendig (Entwicklung undAusführung)

• sehr rechenintensiv• Ergebnisse immer nur eine Schätzung des realen

Verhaltens aufgrund im Modell getro�ener Annahmen• Auswertung und Prüfung der Ergebnisse erfordert

zusätzliche Zeit• Ungenaue Ergebnisse möglich, wenn

Beobachtungszeitraum zu kurz• Eventuell hörere Komplexität als notwendig• Abhängigkeiten zwischen Variablen schwer zu erklären

und zu visualisieren• Analyse der Sensitivität schwierig• viele Daten und realistische Animationen verleiten zu

ungerechtfertigtem Vertrauen in Ergebnisse24

Page 29: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Typische Probleme

• zu Beginn oft unpräzise Zieldefinition• falsche Detaillierungs- / Abstraktionsebene• ungeeignete Simulationsumgebung• Simulationsumgebung mit schlecht dokumentierten

Funktionen• Missbrauch von Animationen• falsche Messwerte verwenden• einfaches Nachbilden eines Systems und

Ergebnisse als ”einzig wahre Lösung” ansehen• kein Verständnis für Statistik• fehlende Betrachtung der zufälligen Elemente• fehlende Erfassung von Messwerten• Betrachtung als Programmieraufgabe

25

Page 30: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Beispieltools

Page 31: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Simulatoren

• Freiverfügbare Simulatoren• OMNeT++• ns2• ns3• ONE• QualNet

• Kommerzielle Simulatoren• Matlab• OPNET/SteelCentral

• weitere

26

Page 32: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Beispiel: Drahtlose Sensornetze

• Herausforderungen:• Modellierung der beschränkten Ressourcen

(Prozessorleitsung, Speicher, Energiee�zienz)• Spezielle Hardware und Betriebssysteme• Physikalischer Prozess, der überwacht werden soll

• Spezielle Simulatoren• TOSSIM - TinyOS• COOJA - Contiki• Castalia - allgemein, basiert auf OMNeT++

27

Page 33: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Beispiel: Delay Tolerante Netze

• Herausforderungen:• Lange Simulationszeiten• Interaktionen zwischen Overlay und Underlay• Verschiedene Mobilitätsarten

• Spezielle Simulatoren• ONE

28

Page 34: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Beispiel: Car-2-X-Kommunikation

• Herausforderungen:• Fahrzeugverkehr realistisch nachbilden• Hohe Geschwindigkeiten

• Spezielle Simulationserweiterungen• Veins (OMNeT++ und SUMO)• iTetris (ns3 und SUMO)

29

Page 35: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Beispiel: Click

• Herausforderungen:• Wiederverwendbarkeit des Simulationsmodells für

Implementierung

• Click Modular Router• Routing-Funktionalität als Click-Graph entwerfen• Graph

• in ns-3 integrierbar• unter Linux lau�ähig

im Kernel als Thread oder im User-Space

30

Page 36: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Zusammenfassung

• Auswahl des geeigneten Tools• Erkennen der Möglichkeiten des Tools• Verfügbarkeit von Modulen• Beherrschen der betre�enden Programmiersprache

• Kein optimales Tool für alle Fragestellungen

31

Page 37: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Literatur i

Literatur

Dressler, Falko und Christoph Sommer (2014). Network Simulation. University ofPaderborn. Distributed Embedded Systems. url:http://www.ccs-labs.org/teaching/nwsim/2014s/.

Kohler, Eddie, Robert Morris, Benjie Chen, John Jannotti und M. Frans Kaashoek (Aug.2000). „The Click Modular Router“. In: ACM Transactions on Computer Systems 18(3), S. 263–297.

Levis, Philip, Nelson Lee, Matt Welsh und David Culler (Nov. 2003). „TOSSIM: Accurateand Scalable Simulation of Entire TinyOS Applications“. In: 1st ACM Conference onEmbedded Networked Sensor Systems (SenSys). ACM, S. 126–137.

MiXiM project (2011). url: http://mixim.sourceforge.net/.

32

Page 38: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Literatur ii

Moltchanov, Dmitri A. (2012). Network Simulation and Simulators. Vorlesungfolien.Tampere University of Technology, Institute of Communication Engineering. url:http://www.cs.tut.fi/kurssit/SGN-5876/netSimSGN.pdf.

Network Simulator 3 (ns-3) (2018). url: http://www.nsnam.org/.

OMNeT++ Network Simulation Framework (2018). url: http://www.omnetpp.org/.

Osterlind, Fredrik, Adam Dunkels, Joakim Eriksson, Niclas Finne und Thiemo Voigt(Nov. 2006). „Cross-Level Sensor Network Simulation with COOJA“. In: 31stConference on Local Computer Networks. IEEE, S. 641–648.

QualNet (2018). url:https://web.scalable-networks.com/qualnet-network-simulator-software.

The Network Simulator (ns-2) (2011). url:http://nsnam.sourceforge.net/wiki/index.php/User_Information.

The Opportunistic Network Environment simulator (2015). url:https://akeranen.github.io/the-one/.

TOSSIM (2013). url: http://tinyos.stanford.edu/tinyos-wiki/index.php/TOSSIM.

33

Page 39: Spezifikation von Kommunikationssystemen - 12. Simulation von …midas1.e-technik.tu-ilmenau.de/~webkn/Webdaten/Lehre... · 2019-07-04 · Arten von Simulationen • Basierend auf

Literatur iii

Veins (Vehicle in Network Simulation) – The Open Source Vehicular NetworkSimulation Framework (2018). url: http://veins.car2x.org/.

34