Benutzer-Werkzeuge

Webseiten-Werkzeuge


fach:simulation-von-internet-protokollfunktionen:start

Simulation von Internet-Protokollfunktionen

Das Projektseminar arbeitet mit C++ und OMNeT++, um Simulationen diverser Protokolle und Mechanismen zu implementieren, die z.T. auch im Internet stattfinden. Nebenbei werden Parameter der Simulation erfasst und ausgewertet. Das Seminar findet jedes Semester statt, wird aber im Wintersemester üblicherweise von weniger Personen besucht, wodurch der Betreuer im Wintersemester mehr Zeit für Debugging-Sessions mit den jeweiligen Teams hat.

Jede Woche müssen Vorbereitungsaufgaben alleine gelöst und eingereicht werden, welche im Seminar besprochen werden. Eine Bewertung nach Punkten o.Ä. findet dabei nicht statt (oder zumindest scheinen die Aufgaben nicht in die Bewertung einzufließen, da es auch schon möglich war, eine 1,0 zu erzielen, ohne alle Vorbereitungsaufgaben abgegeben zu haben). Stattdessen dienen die Aufgaben primär dazu, das nötige Wissen für die folgenden praktischen Aufgaben wieder aufzufrischen bzw. anzueignen.

Die praktischen Aufgaben werden im Seminar und üblicherweise in Zweier-Teams gelöst, können aber auch davor und danach (bis zur Abgabefrist) selbstständig erarbeitet werden. Während Vorbereitung der Aufgaben keine Voraussetzung ist, ist es dringend empfohlen, die Aufgaben so weit wie möglich im Vorhinein zu lösen, um die begrenzte Zeit im Seminar für betreutes Debugging benutzen zu können. Es ist aber ggf. auch möglich, mit dem Betreuer auch außerhalb der vereinbarten Seminar-Zeiten an den Aufgaben zu arbeiten, sofern der Betreuer Zeit und Lust hat.

Themen im Seminar sind unter Anderem:

  • Einführung in die Simulationsumgebung (wir bauen uns eine Ping-Pong-Applikation)
  • Forwarding und Routing (Link-State und Distance-Vector)
  • Interface-Queues
  • ARQ und Go-Back-N
  • Implementierung einer einfachen TCP-Variante
  • TCP Flow-Control
  • TCP Congestion-Control

Material

Angeboten werden immer:

  • Folien als Vorbereitungs- und Begleitmaterial zum Seminar
    • Einführung, C++-Primer, OMNeT++-Einführung, ProtSim-Framework-Einführung, Einführung zur Erfassung von Daten
  • Vorbereitungsaufgaben
  • praktische Aufgaben
  • ein Repository mit dem Framework-Code für die Bearbeitung der Aufgaben

Die Materialien verbleiben i.d.R. dauerhaft auf der Website. Die aktuellen Aufgabenblätter gibt es im Moodle-Kurs. Das SVN-Repository für den Framework-Code ist dauerhaft verfügbar (URL auf der Website), aber die URL hat sich in der vergangenen Zeit auch schon mal geändert.

Nützliches Zusatzmaterial

Vorbereitungsaufgaben / Grundwissen

Als Zusatzmaterial eignen sich die Folien zur Vorlesung Telematik 1 sowie telematik-2. Wenn die Infos aus den Folien nicht ausreichen, eignet sich auch die eine oder andere Wikipedia-Seite.

Praktische Aufgaben

Es bietet sich an, Debugging von C++-Code mithilfe von gdb zu üben. Der Betreuer kann dabei aber auch behilflich sein.

Hinweise zur mündlichen Prüfung

Zum Abschluss des Seminars gibt es eine praktische Prüfung. Zur Einschreibung sucht man sich passende Termine von der Telematik-Website1) heraus und kontaktiert die dort angegebene E-Mail-Adresse unter angabe des Namens und der Matrikelnummer, um den Termin zu erhalten.

Für die mündliche Prüfung sollte man Grundwissen zu den behandelten Themen besitzen. Allgemein reicht eine aktive Teilnahme am Seminar sowie ein Rekapitulieren der bereitgestellten Folien als Vorbereitung.

Themen in der Prüfung sind u.A.:

  • OMNeT++-Umgebung (Abbildung der Realität mit welchen Klassen/Mechanismen/etc.? Wie wurde OMNeT++ benutzt? Kapitel 3 der Vorbereitungs-Folien)
  • ProtSim-Umgebung (Welche wichtigen Klassen? Wie benutzt? Kapitel 4 der Vorbereitungs-Folien)
  • Datenerfassung und Auswertung (Kapitel 5 der Vorbereitungs-Folien)
  • angewandte Techniken während des Seminars (z.B. Debugging-Techniken, Simulation laufen lassen)
1)
Link wird auf den Fach-Websiten bzw. Moodle-Kursen veröffentlicht
fach/simulation-von-internet-protokollfunktionen/start.txt · Zuletzt geändert: 2022-03-26 23:02 von 127.0.0.1