English Intern
Lehrstuhl für Informatik III

Hardwarepraktikum Internet-Technologien

Übersicht

Betreuer: Alexej Grigorjew M. Sc.
Einführungsveranstaltung: Mi, 21.04.2021, 14:00-15:00 Uhr
WueCampus Kurs: WueCampus Link
Gruppengröße: 3 Personen
Kapazität: max. 36 Studierende / 12 Gruppen

Aktuelles

Aufgrund des aktuellen Infektionsgeschehens findet die Zusammenarbeit in diesem Praktikum weitgehend über den virtuellen Weg statt. Dies bedeutet, dass nur ein Teilnehmer aus jeder Gruppe die entsprechende Hardware ausleihen kann und die praktischen Aufgaben umsetzen kann. Die anderen Teilnehmer sollten über Online-Konferenzen und das Teilen des Bildschirms eingebunden werden, und sich konzeptionell an der Lösungsfindung beteiligen. Weitere Details folgen in der Einführungsveranstaltung.

Anmeldung und Ablauf

Für die Teilnahme am Praktikum sind erforderlich:

  • Anmeldung in WueStudy
  • Anmeldung im WueCampus Kursraum
  • Gruppenanmeldung (über Email)

Genauere Informationen dazu werden in der Einführungsveranstaltung bekannt gegeben. Vorher muss noch keine Anmeldung erfolgen. Als Vorwissen wird die Veranstaltung "Rechnernetze und Informationsübertragung" (ehemals "Informationsübertragung") dringend empfohlen.

Die Bearbeitung findet in Gruppen aus 3 Personen statt. Nach einer kurzen Einarbeitungsphase muss jede Woche eine Reihe von Aufgaben erledigt werden, ähnlich zu Übungsblättern bei Vorlesungen. Die Ergebnisse dieser Aufgaben sind von jeder Gruppe in einem Git-Repository abzulegen. Zusätzlich werden kurze Verständnisfragen gestellt. Die Aufgaben werden nicht bepunktet, sie geben nur den Fortschritt im Praktikum vor und sollen langfristige Probleme verhindern. Am Ende des Praktikums wird es für jede Gruppe eine kurze Abnahme geben, in der die wichtigsten Funktionen vorgeführt werden.

Aktuell gibt es genügend Hardware, damit 10 Gruppen parallel arbeiten können. Falls sich mehr als 30 Personen für das Praktikum anmelden, wird je nach Situation (Anzahl Teilnehmer) individuell entschieden, ob die Teilnehmergröße beschränkt werden muss oder ob alternative Lösungen existieren.

Inhalte

Ziel des Praktikums ist es, nach und nach das abgebildete Netzwerk zu bauen, zu konfigurieren und Applikationen darin auszuführen. Für die Einzelaufgaben werden entsprechende Informationen, Hilfestellung und weiterführende Leseinhalte zur Verfügung gestellt. Sie umfassen unter anderem:

  • Konfiguration eines Linux-Endgeräts (Hier: Raspberry Pi)
    • IP-Adressen
    • SSH
    • Grundlegende Orientierung im System
  • Einrichtung eines Temperatursensors
    • Verbindung der Komponenten zum Raspberry mit Hilfe eines Breadboards
    • Auslesen der Daten im System
  • Konfiguration der Hauptkomponenten im Switch und im Router
    • Grundlegende Orientierung in der Kommandozeile der Geräte
    • Initialkonfiguration (Login, Clock, ...)
    • Switch-Ports zur Bridge hinzufügen
    • MAC-Adresstabelle, ARP-Tabelle, ... ansehen
    • Router-Ports zu Subnetzen zuordnen
    • Routen ansehen
    • NAT konfigurieren
    • Konnektivität prüfen
  • Implementierung einer simplen Client/Server Applikation
    • Versenden der Temperaturwerte in die "Cloud" (wird durch einen einzelnen PC abstrahiert)
    • Darstellen der Temperaturwerte in einer einfachen Grafik
  • Arbeit mit Tonübertragung und -aufnahme
    • Aufnahme des Mikrofonsignals in Python mit unterschiedlichen Abtastraten, Chunk-Größen, ...
    • Einfache Modifikationen: Verstärken des Signals, ...
    • Fouriertransformation, Tiefpassfilter, Rücktransformation
  • Untersuchung der Auswirkungen von Paketverlust und Latenz auf unterschiedliche Protokolle
    • Emulation von Paketverlust und Verzögerung durch Net-Em
    • Sprachübertragung über UDP
    • Sprachübertragung über TCP
  • Einstieg in Software-Defined Networking
    • Ersetzen des Routers durch einen SDN-fähigen Switch
    • Verständnis der Match-Action Abstraktion
    • Manuelles Einfügen von Match-Action-Regeln zur Wiederherstellung der bisherigen Funktionalität
    • Einfache Netzwerkapplikation: Firewall

Lernziele

  • Verständnis der unterschiedlichen OSI Layer
    • Aufgabenbereiche: Switching, Routing, Zuverlässigkeit, ...
    • Umsetzung in Netzwerkkomponenten (High Level)
    • Konfiguration der jeweiligen Layer und Geräte
  • Aufbau eines Ende-zu-Ende Kommunikationspfades
  • Einführung in digitale Verarbeitung von Sprache
  • Simple Anwendung der Raspberry GPIO Pins
  • Verständnis des SDN Konzepts und einer typischen Abstraktion der Data Plane