Software-Projektpraktikum: Entwurf eines Transportprotokolls

Übersicht

  • SWS: 4, ECTS: 6
  • Veranstalter: Prof. Dr. Klaus Wehrle, Dr. Dirk Thißen
  • Studiengang: Bachelor Informatik
  • Anmeldung: nur über das zentrale Platzvergabeverfahren
  • Wichtige Termine:
    • Kick-off Meeting: Termin wird in Abstimmung mit den Teilnehmenden festgelegt, voraussichtlich zweite Oktoberhälfte
    • Wöchentliche Treffen: Termin wird in Abstimmung mit den Teilnehmenden festgelegt.
    • Abschlusspräsentationen: Ende der Vorlesungszeit oder erste Hälfte 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, bei denen große Mengen an Daten verloren gehen können. 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, noch in Entwicklung befindet sich 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 und Transportprotokolle
  • Kennenlernen von Kommunikationssystemen durch einführende Aufgaben zur Socket-Programmierung
  • Einteilung in Teams zum Entwurf und zur Implementierung einzelner Funktionalitäten der Transportschicht
  • Einsatz eines Versionskontrollsystems, z.B. git

Was muss ich mitbringen?

Bei einer Teilnahme am Praktikum wird folgendes erwartet:

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