Inhaltsverzeichnis

Themen für Abschlussarbeiten im IPv6-Labor der HTW:


Übertragung von MIDI-Daten via RTP MIDI über ein Multicast Netzwerk

Es soll eine praktische Untersuchung zur Übertragung von RTP MIDI in einem gerouteten Multicast Netzwerk durchgeführt werden. Dazu ist mit praktischen Labormitteln (Cisco Router & Switches) ein geroutetes Multicast Netzwerk aufzubauen und praktische Messungen zur Einsatzfähigkeit in realen Szenarien zu testen, bei denen verschiedene MIDI Events koordiniert werden sollen.

Portierung einer GUI für den IPv6 Packet-Generator

Eine existierende graphische Oberfläche für Scapy soll aktualisiert und erweitert werden. Die Anwendung ist in Python programmiert und nutzt die Graphikbibliothek QT4. Diese Bibliothek steht auf aktuellen Systemen nicht mehr zur Verfügung aktuell sind QT5 und QT6 im Einsatz. Ziel der Arbeit ist es die Applikation an die aktuellen Graphikbibliotheken anzupassen und den Anpassungsprozess zu dokumentieren.

Weiterhin sind Merkmale und Eigenschaften des Gesamtsystems zu dokumentieren und erste Vorschläge für ein Re-Design der Applikation zu erstellen, mit denen sich auch anderer IP-Pakete komfortabel mit einem graphischen Editor erstellen lassen.

Vorraussetzungen:

Links:


Untersuchung zur Nutzer-Authentisierung eines FreeBSD-Servers mit Yubikey (FIDO2)

Es sollen untersucht werden, wie auf einem FreeBSD-Server eine sichere Benutzerauthentifizierung mittels Yubikey eingerichtet werden kann. Ziel der Untersuchung ist die Bereitstellung einer sicheren Nutzerauthentisierung für den physischen Zugriff auf die Systemkonsole(Tastatur/Bildschirm), sowie die mögliche Integration des sicheren Fernzugriffs per SSH.

Der Installationsprozess ist nachvollziehbar zu dokumentieren. Es soll eine Übersicht der Merkmale und Eigenschaften des Gesamtsystems erstellt werden.

Vorraussetzungen:

Links:

Untersuchung zum schnellen Passwort-Hashing mit Hardware-Unterstützung

Es sollen aktuelle Programme und Bibliotheken zum schnellen Passwort-Hashing untersucht werden. Ziel der Untersuchung ist die Auswahl und Bereitstellung einer Zielplattform (PC mit Grafikkarte, Linux oder Windows) für die praktische Demonstration von schnellem Passwort-Hashing und Empfehlungen zur Passwortsicherheit. Im Rahmen der Arbeit sind Performance-Messungen durchzuführen und die Ergebnisse zu dokumentieren.

Der Installationsprozess ist nachvollziehbar zu dokumentieren. Es soll eine Übersicht der Merkmale und Eigenschaften des Gesamtsystems erstellt werden.

Vorraussetzungen:

Links:

Konfiguration und Performance-Messungen auf einem Whitebox-Switch

Es soll auf einem im Labor vorhandenen Whitebox-Switch ein Linux-basiertes Betriebssystem installiert und konfiguriert werden. Anschließend sind Performance-Messungen durchzuführen.

Der Installationsprozess ist nachvollziehbar zu dokumentieren. Es soll eine Übersicht der Merkmale und Eigenschaften des Gesamtsystems erstellt werden. Switching und Routing-Protokolle sind zu testen.

Vorraussetzungen:

Links:

Untersuchungen zu gRPC und Protocol Buffers

Remote Procedure Calls werden in verteilten Systemen zur Interprozesskommunikation eingesetzt. Sie ermöglichen den Aufruf von Funktionen auf einem entfernten Computer. Dabei führt das aufrufende System den Funktionsaufruf durch, ohne die Implementierungsdetails der Netzkommunikation kennen zu müssen.

Protocol Buffers wurden zur effektiven Serialisierung von Datenformaten entwickelt. Sie nutzen ein Binärformat und sind damit in der Übertragung effizienter als XML oder JSON. Die Datenbeschreibung nutzt eine Schnittstellen-Beschreibungssprache und ist damit Programmiersprachen-unabhängig.

In der Arbeit sollen gRPC und Protocol Buffers näher analysiert und mit Alternativen verglichen werden. Dazu ist eine gRPC-basierte Client/Server Anwendung in Python zu erstellen und Performance Messungen durchzuführen.

gRPC findet auch bei neuartigen Ansätzen der Realisierung von Netzwerkgeräten (Software-defined Networking, SDN) Anwendung. Insbesondere P4-Runtime (das Control-Plane Interface für P4 Programme) nutzt gPRC.

Der Einsatz von gPRC bei P4-Runtime ist nachzuvollziehen und ggf. anhand einer einfachen Demo zu validieren.

Vorraussetzungen:

Links:


Programmierung einer P4-Switch Anwendung

P4 is a programming language designed to allow programming of packet forwarding planes. In contrast to a general purpose language such as C or Python, P4 is a domain-specific language with a number of constructs optimized around network data forwarding. P4 is an open-source, permissively licensed language and is maintained by a non-profit organization called the P4 Language Consortium. The goal of this project is to work through a basic P4 tutorial and translate this to a tutorial in German, so that it can be used for classroom teaching:

Links:


Untersuchungen zum Data Plane Development Kit (Linux/Freebsd)

In der Arbeit soll untersucht werden werden, welche Performance-Unterschiede durch den Einsatz von DPDK auf Linux-Maschinen zu erwarten ist.

Dazu sollen zwei identische Linux Rechner mit je zwei virtuellen Maschinen konfiguriert werden. Die virtuellen Maschinen sollen über Open vSwitch auf jeweils ein eigenes physikalisches Netzwerkinterface zugreifen. Dabei ist der Performance-Unterschied zwischen der nativen Linux-Implementierung und dem Einsatz von DPDK zu messen.

Links:


Untersuchungen zu CryptoLibraries

Es existieren verschiedene Software-Bibliotheken (NaCL, …) zur Anwendung kryptographischer Algorithmen in eigenen Softwareprojekten. Es soll der aktuelle Stand der derzeitigen Entwicklung untersucht werden und im Rahmen von Beispiel-Implementierungen der Funktionsumfang sowie die Nutzbarkeit der jeweiligen Bibliotheken verglichen werden.

Links:

Untersuchungen zum Stand der IPv6 Implementierung für den ESP32/ESP8266

In der Arbeit soll der aktuelle Stand der IPv6 Implementierung für den ESP32/ESP8266 untersucht werden. Dazu soll der Funktionsumfang, die Vollständigkeit der Implementierung, sowie die Nutzung von IPv6 in eigenen Netzwerkprojekten praktisch nachgewiesen werden.

Links:



Internet Messungen / Internet Measurements

Das IPv6-Labor der Beuth Hochschule ist Teil eines weltweiten Netzwerks von Messpunkten im Internet. In diesem Netzwerk werden spezielle Hardware-Probes benutzt um aktive Messungen durchzuführen. Ziel der Arbeit ist es sich mit den verfügbaren Werkzeugen vertraut zu machen und deren Nutzbarkeit für eigene Messungen zu überprüfen.

Links:


Weiterentwicklung eines IPv6 Paketgenerators

Vor einigen Jahren wurde an der Hochschule ein Werkzeug zur graphischen Erstellung von IPv6-Paketen (IP-Paketgenerator) entwickelt. Das Werkzeug setzt auf dem Kommandozeilen-Tool scapy auf und stellt eine einfache Bedienoberfläche bereit. Diese Software soll in der Arbeit aktualisiert und um neue Funktionen erweitert werden. Das Software-Hosting soll von Google-Code auf Github umgezogen werden. Mögliche Erweiterungen sind:

Voraussetzung:

Links:


Software Defined Networks (I)

SDN (Software Defined Networking) ist momentan ein wichtiger Trend im Netzwerkbereich.
Ziel der Arbeit ist es eine eigene ONOS App zu entwickeln.

Voraussetzungen:

Links:


Software Defined Networks (II)

SDN (Software Defined Networking) ist momentan ein wichtiger Trend im Netzwerkbereich.
Ziel der Arbeit ist es eine Open Virtual Switch (Open vSwitch) Installation zu erstellen.

Voraussetzungen:

Links:


Software Defined Networks (III)

SDN (Software Defined Networking) eignet sich auch um verschiedene Funktionen von Netzelementen zu virtualisieren.
Im Rahmen der Arbeit soll untersucht werden, welche Sicherheitsfeatures sich in einem Internet-Access-Switch erstellen erstellen lassen. \\Dabei soll der RYU-Controller in Zusammenspiel mit einem Edge-Core AS4610_30T SDN Switch zum Einsatz kommen.

Voraussetzungen:

Links:


Erweiterung eines Tutorials für die Entwicklung von Wireshark Plugins

Wireshark ist ein wichtiges Werkzeug für die Analyse des Datenverkehrs in Netzwerken. Es verfügt über eine Programmierschnittstelle, mittels derer sich eigene Protokoll-Analysen (so genannte Dissectors) erstellen lassen.

Im Rahmen der Arbeit soll ein bereits vorhandenes Tutorial erweitert werden, welches die weiterführende Schritte der Erstellung eines Wireshark-Dissectors anhand eines selbst gewählten Beispielprotokolls dokumentiert.

Voraussetzung:

Links:


Weitverkehrsnetze (WAN) unterscheiden sich in einer Reihe von Parametern wie z.B. Delay und Durchsatz von Lokalen Netzen (LAN). Diese Parameter haben unmittelbare Auswirkungen auf Übertragungsprotokolle und Anwendungen.
In dieser Arbeit soll ein WAN-Emulator auf Basis eine Linux-Systems auf einem Raspberry PI entworfen und getestet werden. Idealerweise sollen die Emulationsparameter per GPIO steuer- und einstellbar sein.

Es sollen sich die Latenz, Paketverlustrate und Datendurchsatz flexibel anpassen und steuern lassen. Dazu müssen auf dem Raspberry mehrere Netzwerkinterfaces konfiguriert werden (z.B. per Anbindung über USB).

Vorraussetzungen:

Links:


Restful Webservice für die Überwachung von Ereignissen in einem Sensornetz

In der Arbeit soll untersucht werden wie eine Restful Webservice auf einem OpenWRT Heimrouter installiert werden kann um ein angeschlossenes Sensornetz zu überwachen.

Dazu ist auf dem OpenWRT Router ein Webserver zu installieren und mittels einer geeigneten Schriftsprache (PHP, Perl, etc.) ein Restful Service auf den Sensorknoten in geeigneten Zeitabständen abzufragen und per Java-Script zu visualisieren.

Links:


Vergleich verschiedener IP-Paket-Generierungs-Bibliotheken

Testwerkzeuge für Datennetzwerke benötigen sehr oft die Möglichkeit frei konfigurierbare Paketdatenströme zu erzeugen (Lasttests, Test des Antwortverhaltens, Router- und Firewalltests)

Für die freie Erzeugung von IP-Paketen zur Übertragung in Netzwerken werden dazu in Betriebssystemen sogenannte Paket-Generierungs-Bibliotheken eingesetzt. Diese Bibliotheken unterscheiden sich hinsichtlich ihrer Performance und der bereitgestellten Funktionalität, sowie der Einfachheit ihrer Verwendung.

Im Rahmen der Arbeit sollen verschiedene Bibliotheken (python-pcs, libnet, libdnet, …) hinsichtlich der folgenden Parameter miteinander verglichen werden:

Voraussetzung: Gute Linux-Kenntnisse, sehr gute Programmier und Netzwerkkentnisse

Weitere Ideen:


... hier finden Sie bereits bearbeitete und nicht mehr aktuelle Aufgabenstellungen