Deutsch Intern
Chair of Computer Science III

Hardwarepraktikum Internet-Technologien

Übersicht

Betreuer: Alexej Grigorjew M. Sc.
Einführungsveranstaltung: Mittwoch, 17.04.2024, 16:00 Uhr, Übungsraum I
WueCampus Kurs: WueCampus Link
Gruppengröße: 3 Personen

Anmeldung und Ablauf

Für die Teilnahme am Praktikum sind erforderlich:

  • Teilnahme an der Einführungsveranstaltung
  • Anmeldung in WueStudy
  • Anmeldung im WueCampus Kursraum
  • Gruppenanmeldung (nach Einführungsveranstaltung, über WueCampus)
  • Vorwissen aus der Vorlesung "Rechnernetze und Informationsübertragung" dringend empfohlen

Genauere Informationen dazu werden in der Einführungsveranstaltung bekannt gegeben. Vorher muss noch keine Anmeldung erfolgen.

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.

Inhalte

HWP Overview

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
  • Gezielte Fehlersuche