Software-Projektpraktikum: Entwurf eines Transportprotokolls

Übersicht

  • SWS: 4, ECTS: 6
  • Veranstalter: Prof. Dr. Klaus Wehrle, Dr. Dirk Thißen
  • Studiengang: Bachelor Informatik
  • Wichtige Termine:
    • Kick-off Meeting: Termin wird in Abstimmung mit den Teilnehmenden festgelegt
    • Wöchentliche Treffen: Termin wird in Abstimmung mit den Teilnehmenden festgelegt
    • Abschlusspräsentationen: Ende der Vorlesungszeit bzw. Anfang der vorlesungsfreien Zeit.

Inhalte des Praktikums

Ziel des Praktikums ist es, ein sogenanntes Transportprotokoll zu entwerfen, umzusetzen und seine Implementierung zu testen.

Aber was ist denn ein Transportprotokoll? Dieses Wissen wird begleitend in der Vorlesung Datenkommunikation und Sicherheit vermittelt: bei der Realisierung eines Kommunikationssystems implementiert man nicht alle Funktionalitäten in einem monolithischen Block, sondern gruppiert benötigte Funktionalitäten in logische Gruppen, die aufeinander aufbauen - man realisiert Kommunikationssysteme als geschichtete Systeme. Die sogenannte Netzwerkschicht (realisiert als Internet Protocol, IP) hat die Aufgabe, Daten über komplexe Netze hinweg zum Zielrechner zuzustellen. IP ist allerdings unzuverlässig - Datenpakete können verlorengehen, verzögert zugestellt werden oder in falscher Reihenfolge ausgeliefert werden. Es gibt keine generelle Kontrolle über das Netz, so dass es auch zu Datenstaus kommen kann und große Mengen an Daten verloren gehen. Die Transportschicht baut auf IP auf und hat die Aufgabe, diese Fehler zu erkennen und zu korrigieren, z.B. durch Neuübertragung verlorengegangener Datenpakete. In der Praxis werden hier vorwiegend TCP und UDP eingesetzt, in Entwicklung befindet sich gerade zudem QUIC, welches die Datenübertragung performanter gestalten soll. QUIC dient als Ausgangspunkt innerhalb dieses Praktikums.

Inhalte des Praktikums:

  • Einführende Vorträge zum Thema geschichtete Kommunikationssysteme, Transportprotokolle und Protokolldesign
  • Kennenlernen von Kommunikationssystemen durch einführende Aufgaben zur Socket-Programmierung
  • Einteilung in Teams zum Entwurf und zur Implementierung einzelner Funktionalitäten der Transportschicht, orientiert an QUIC
  • Einsatz eines Versionskontrollsystems, z.B. git

Was muss ich mitbringen?

Bei einer Teilnahme am Praktikum wird folgendes erwartet:

  • Vorkenntnisse in Datenkommunikation sind hilfreich, aber keine Voraussetzung
  • Anwesenheit bei den Treffen und fristgerechte Bearbeitung
  • Einhalten von Codingstandards
  • Teamfähigkeit und aktive Teilnahme in der Gruppe
  • C-Kenntnisse
- Impressum -