Deutsch Intern
Lehrstuhl für Informatik III

Practical Course in Hardware: Internet Technologies

Overview

Tutor: Alexej Grigorjew M. Sc.
Introductory Event: Thursday, 24.04.2025, 14:15, Übungsraum I
WueCampus Course: WueCampus Link
Registration: Starting Monday, 03.03.2025
Registraion Limit: First-Come-First-Served:
The first 36 registered students can participate.
Group size: 3 Students
Capacity: max. 12 Gruppen (36 Students)

Note

While we can give you individual support for concrete questions in English, the majority of the documents provided in this course are in German.

Registration and Procedure

The following are required for participation:

  • Registration in the WueCampus course room (before the introductory session)
  • Participation in the introductory session
  • Registration in WueStudy
  • Group registration (after the introductory session, via WueCampus)
  • Prior knowledge from the lecture "Computer Networks and Information Transmission" is strongly recommended

The work will be done in groups of 3 people. After a brief orientation phase, a series of tasks must be completed each week, similar to exercises in lectures. The results of these tasks must be submitted by each group in a Git repository. Additionally, short comprehension questions will be asked. The tasks are not graded; they only indicate progress in the internship and are meant to prevent long-term issues. At the end of the internship, each group will have a brief assessment where the main functions are demonstrated.

Contents

HWP Overview

The overall aim of the practical course is to reproduce the displayed network, including configuration of devices and applications. For each individual aspect, separate exercises are available with its respective background information, tips, and further reading resources. The individual exercises include:

  • Configuration of a linux end device (here: raspberry pi)
    • IP addresses
    • SSH
    • Basic usage of the operating system and the shell
  • Configuration of a temperature sensor
    • Assembly of all components on a breadboard connected to the raspberry pi
    • Read the sensor's data in software inside the operating system
  • Configuration of the main components of switches and routers
    • Basic usage of the devices' shell
    • Initial configuration (login, clock, ...)
    • Add ports to the switch and define their behavior
    • View the current MAC address table, ARP table, ...
    • Add router ports to specific (static) subnets
    • View all installed routes
    • Configure NAT (Network Address Translation)
    • Check connectivity
  • Implementation of a simple client/server application
    • Send your local data towards the "cloud" (represented by one of your computers)
    • Plot all received temperature data in a web interface
  • Sound recording and transmission
    • Recording a microphone signal in python with various sample rates, chunk sizes, ...
    • Simple modifications: amplify the signal, ...
    • Fourier transformation, low pass, retransformation
  • Effects of packet loss and latency on different protocols
    • Emulation of packet loss and delay via Net-Em (Network Emulator) device
    • Transmission of voice via UDP
    • Transmission of voice via TCP
  • Introduction in SDN (Software-Defined Networking)
    • The router is replaced by an SDN-capable switch
    • Understanding of the Match-Action abstraction
    • Manual insertion of Match-Action rules to reproduce the same behavior as the router
    • Simple network application: NAT and firewall

Learning objectives

  • Understanding of the different OSI layers
    • Responsibilities: switching, routing, reliability, ...
    • Implementation in networking components (high level)
    • Configuration of the respective layers and devices
  • Deployment of an end-to-end communication path
  • Introduction into digital signal processing
  • Simple application of the raspberry's GPIO pins
  • Understanding of the SDN concept and its typical abstraction of the data plane
  • Organized troubleshooting