Practical Internet eXperience (PIX)

Inhalte des Praktikums

Netzwerke wie das Internet benötigen eine Vielzahl an Diensten und Protokollen um zu funktionieren. In diesem Praktikum lernt ihr zwei praktische Aspekte davon kennen:

  • Wie werden Computer und Systeme logisch zusammengeschaltet um ein Netz mit weltweiter Erreichbarkeit zu bilden?
  • Wie kann dieses Netz genutzt werden um Ende-Zu-Ende Verbindungen aufzubauen um zuverlässig einen Datenstrom zu übertragen?

Im ersten Teil des Praktikums bauen wir dazu zunächst ein Mini-Internet. Jede Gruppe bekommt ein eigenes Autonomes System (AS) und sorgt für Konnektivität zuerst innerhalb des eigenen AS und dann auch zu den ASen der anderen Gruppen. Ihr lernt dabei die Konfiguration von Routing Protokollen wie OSPF und BGP.

Im zweiten Teil des Praktikums implementiert ihr ein Transport-Protokoll, welches im Mini-Internet oder auch globalen Internet eingesetzt werden kann. Ihr bekommt dazu eine Spezifikation des Transport Protokolls (ähnlich einem RFC) und implementiert dies in einer Sprache eurer Wahl. Durch eine einheitliche Spezifikation sollte es euch dann möglich sein sowohl innerhalb eurer Gruppe als auch mit den anderen Gruppen Verbindungen aufzubauen und zuverlässig Datenströme zu übertragen.

Während der einzelnen Phasen wendet ihr bekannte Techniken aus der Software-Entwicklung wie zum Beispiel die Definition von Meilensteinen, Feedbackrunden und Versionskontrollsysteme (git) an. Mithilfe von Softwaretests und systematischer Messungen bewertet ihr zudem die Funktionalität und empirische Performance eurer Systeme unter Last und ggf. Störeinflüssen.

Bevor ihr die einzelnen Themen bearbeitet, werden wir jeweils einführende Vorträge dazu halten. Ausgewählte Themen und Ergebnisse bringt ihr den anderen Gruppen dann im Rahmen von Kurz-Präsentationen näher.

Organisatorisches

Der Kickoff-Termin wird voraussichtlich in der ersten Vorlesungswoche stattfinden; wir werden euch nach möglichen Terminen befragen, sobald die Vorlesungszeiten des Sommersemesters feststehen.

Bildung von Gruppen

Das Praktikum wird von euch in Gruppen zu 3 Personen bearbeitet. Die Zuteilung über Supra erfolgt allerdings grundsätzlich personenbezogen; eine Anmeldung von Gruppen ist daher auf direktem Wege nicht möglich. Wenn ihr in Gruppen mit bekannten Personen arbeiten wollt, habt ihr bei der Anmeldung aber folgende Möglichkeit:

  1. Wählt das Praktikum alle mit höchster Priorität
  2. Wählt dann einen gemeinsamen Gruppennamen und schreibt diesen für uns gut sichtbar in am Anfang des Freitextfeldes (“Wunschgruppe: XY”)

Es ist dabei wichtig, dass ihr die höchste Priorität für das Praktikum angebt, da wir euch ansonsten systembedingt nicht auswählen können. Wir werden dann Gruppen nach Möglichkeit immer komplett auswählen. Es sind auch 2er-Gruppen oder Einzelanmeldungen möglich; ihr findet euch dann beim Kick-Off zu 3er-Gruppen zusammen. Eine Garantie, dass eine Gruppe einen Platz bekommt, gibt es allerdings nicht. Schreibt daher dazu, ob ihr auch bereit wärt, einzeln oder zu zweit einer anderen Gruppe zugewiesen zu werden. Vergesst bitte auch nicht ein paar einigermaßen aussagekräftige Motivationspunkte in das Freitextfeld zu schreiben (diese können sich bei den Gruppenmitgliedern natürlich unterscheiden).

Was muss ich mitbringen?

Bei einer Teilnahme an unseren Software-Praktika wird generell Folgendes erwartet:

  • Anwesenheit bei den Treffen und fristgerechte Bearbeitung von Aufgaben
  • Teamfähigkeit und aktive Teilnahme in der Gruppe
  • Programmier-Kentnisse in einer höheren Programmiersprache (z.B.: C, C++, Java und/oder Python)
  • Einhalten von grundlegenden Codingstandards

Für das PIX im Speziellen darüber hinaus:

  • Die Inhalte der Vorlesung “Datenkommunikation und Sicherheit” bzw. “Datenkommunikation”. Wer keines dieser bzw. keine äquivalenten Module bestanden hat, kann am PIX nicht teilnehmen.
  • Keine Abneigung gegenüber Kommandozeilenprogrammen (Editoren, textbasierte User Interfaces, SSH)

Eine vorherige Belegung von “IT-Sicherheit” ist nicht notwendig. Bitte beachtet aber, dass ihr euch in diesem Fall gegebenenfalls bestimmte Grundzüge von Konzepten wie (Diffie-Hellman-)Schlüsselaustausch, RSA und Authentifizierung für das Verständnis und die Umsetzung bestimmter Teile der praktischen Übungen selbst aneignen müsst. Wir stellen euch dazu auf Anfrage entsprechende Materialien zur Verfügung.