http://www.tu-ilmenau.de

Logo TU Ilmenau


Ansprechpartner

Prof. Dr.-Ing. Günter Schäfer

Telefon +49 3677 69 4576

E-Mail senden

INHALTE

Projektseminar Simulation von Internet-Protokollfunktionen

Simulation von Internet-Protokollfunktionen

Studiengänge

Informatik, Ingenieurinformatik, Wirtschaftsinformatik

(Es gibt keine Beschränkung auf einen Studiengang von unserer Seite. Wenn Ihnen ihr Prüfungsamt dieses Projektseminar anrechnet, dann sind Sie herzlich willkommen.)

Betreuer

M. Sc. David Schatz

Einschreibung, Termine und Ort

Am Freitag, den 05.04.2019 um 10:00 Uhr, wird es im Raum Z2086 (Zusebau) eine Einführungsveranstaltung geben. In der Einführungsveranstaltung wird auf die Motivation sowie den Ablauf des Projektseminars eingegangen. Sollten Sie zum genannten Termin verhindert sein und dennoch am Seminar teilnehmen wollen, so kontaktieren Sie bitte rechtzeitig Herrn David Schatz. Eine verbindliche Einschreibung für die Veranstaltung kann nach erfolgreicher Terminfindung über das Thoska-System vorgenommen werden.

Der wöchentliche Termin (Raum Z1021/1022) für dieses Projektseminar wird in Absprache mit den teilnehmenden Studierenden festgelegt, um sich möglichst gut in die bestehenden Stundenpläne zu integrieren.

Der wöchentliche Termin findet immer Freitags, um 09:00 Uhr im Raum Z1021/1022 statt.

Inhalt

Simulation ist ein wichtiges Instrument bei dem Entwurf und der Bewertung von Kommunikationsprotokollen, da das Protokollverhalten und kritische Leistungskenngrößen oft nicht mit anderen Techniken vor einer großflächigen Einführung eines Protokolls adäquat bewertet werden können. In diesem Projektseminar sollen grundlegende Protokollmechanismen wie Paketweiterleitung, Routing, Fehlerkontrolle sowie Fluss- und Staukontrolle simulativ erprobt werden, so dass die wesentlichen im Internet zum Einsatz kommenden Konzepte anschaulich erfahren und experimentell untersucht werden können. Die Programierung erfolgt hierbei mit dem Open-Source-Werkzeug OMNeT++ in der Programmiersprache C++ (grundlegende Vorkenntnisse in Java sollten bei entsprechender Bereitschaft zum Erlernen von C++ ausreichend sein).

Empfehlung

Wir empfehlen Ihnen dieses Seminar frühestens im 2. FS durchzuführen, sodass Kenntnisse aus den Vorlesungen "Algorithmen und Programmierung" sowie "Telematik 1" vorhanden sind. Falls Sie dieses Seminar ohne jegliche Grundkenntnisse in C++ durchführen so planen Sie bitte im Vorfeld mehr Zeit zur Bearbeitung der Aufgaben, sowie zum Erlernen der Programmiersprache ein. Die Vorbereitungszeit für jedes Seminar kann mit etwa einer Stunde angesetzt werden.

Zu Beginn des ersten Seminars sind Grundkenntnisse zur Simulationstechnik und der eingesetzten Werkzeuge unbedingt notwendig. Zur Aneignung dieser Kenntnisse soll das auf dieser Seite angegebene Selbststudienmaterial dienen. Für das erste Seminar ist das gesamte Material (ausgenommen Chapter 5: Obtaining Data) relevant. Zusätzlich ist es hilfreich die Vorlesung Telematik2/Leistungsbewertung gehört zu haben, da dort die Konzepte der Simulation und die im Projektseminar verwendeten Werkzeuge ausführlich behandelt werden.

Ablauf

Die Lösungen (pdf) der Vorbereitungsaufgaben müssen dem Seminarleiter mittels Email einen Tag vor dem Seminar zugesendet werden. Die Lösungen der Aufgabenblätter sind jeweils einen Labortermin nach dem entsprechenden Projektseminar abzugeben.

Arbeitsumgebung

Um die Materialien auszuchecken, benötigen Sie SVN Software auf Ihrem Rechner. Unter Debian/Ubuntu genügt dazu die Eingabe des Befehls "sudo apt-get install subversion" auf der Kommandozeile; hierfür benötigen Sie Administratorrechte. Unter OSX können Sie z.B. das Tool "svnX" benutzen (grafisch). Anschließend führen Sie in Ihrem Benutzerverzeichnis den folgenden Befehl aus:

svn co https://telsv3.prakinf.tu-ilmenau.de/svn/Projekte/protsim --username=svnuser

Die Zugangsdaten erhalten Sie von Ihrem Betreuer. Machen Sie sich mit dem Inhalt des herunter geladenen Ordners vertraut. Hier finden Sie auch die Aufgabenblätter in Deutsch und Englisch. Eine Dokumentation zu Subversion finden sie unter [SVN11].

Anleitung zur Installation als PDF: Download

Themen
PDF-FileInhaltSeminartermin
Projekt 1Die Simulationsumgebung, Einstieg12.04.19, 09:00
Projekt 2Forwarding, Shortest Path Routing, Metriken26.04.19, 09:00
Projekt 3Random Routing, Backward Learning, Flooding03.05.19, 09:00
Projekt 4Distance Vector Routing10.05.19, 09:00
Projekt 5Link State Routing, Dijkstra17.05.19, 09:00
Projekt 6FIFO-Queue, Messung statistischer Größen24.05.19, 09:00
Projekt 7Transientenerkennung, Konfidenzintervalle, 31.05.19, 09:00
Projekt 8ARQ Send and Wait07.06.19, 09:00
Projekt 9Go Back N14.06.19, 09:00
Projekt 10Verbindungsauf- und -abbau21.06.19, 09:00
Projekt 11Zustandsmaschine und Go Back N, Flusskontrolle28.06.19, 09:00
Projekt 12Staukontrolle05.07.19, 09:00
Ausweichtermine bei Bedarf

Sie können alle Versuche remote auf unseren PCs im Rechnerpool durchführen und müssen sich deshalb keine Software installieren um die Aufgaben zu bearbeiten.

Literatur
[Wolf09] Jürgen Wolf. C++ von A bis Z. 2009. Galileo Press
[WGG10] K. Wehrle, M. Günes, J. Gross. Modelling and Tools for Network Simulation. Springer Berlin Heidelberg, 1st Edition, 2010.
[SVN11] http://svnbook.red-bean.com/nightly/de/svn-book.pdf
[Tan10] A.S. Tanenbaum. Computer Networks. 5th edition, Prentice Hall, 2010.
Eines der meistgelesenen Standardlehrbücher zu Rechnernetzen.
[Var11] A. Varga. OMNeT++: Object-Oriented Discrete Event Simulator. http://www.omnetpp.org/
Die offizielle Web-Seite zu OMNeT++. Enthält Links zum Download der Software sowie des Referenzhandbuchs (User Manual, API Documentation).
 
Selbststudienmaterial
FileContent
01_IntroSimulation Introduction
02_C++Java to C++ Primer
03_OMNeT++Introduction to OMNeT++⁽¹⁾
04_ProtsimOverview of the Protsim Framework
05_ObtainingDataObtaining Data from Simulations & Short Probability Primer
CppTutorialJava to C++ Transition Tutorial
(1) Während die Grundkonzepte von OMNeT++ gleichbleiben, unterliegt die genaue Syntax (z.B. von *.ned und *.msg Dateien) Veränderungen. Daher wird die aktuellste Version der Dokumentation sowie der API das gesamte Projektseminar über Ihr Freund sein :)
 
Abschluss

Die erfolgreiche Teilnahme an der Lehrveranstaltung wird durch eine regelmäßige Abnahme der zu erstellenden Simulationsprogramme und abzugebenden Projektprotokolle erfolgen. Eine regelmäßige Teilnahme an der Veranstaltung ist hierfür eine notwendige Voraussetzung. Zu jedem Projektseminar gehört eine gründliche Vorbereitung und die Lösung der Vorbereitungsaufgaben. Wir behalten uns vor, dies durch mündliche Rücksprachen zu überprüfen.

Am Ende des Semesters wird es ein mündliche Prüfung geben, in dem die endgültige Note festgelegt wird, welche sich aus den Leistungen im Seminar und den Leistungen der Prüfung zusammensetzt.