Forschungsgruppe Network Security
(Prof. Dr. Heer)

Weiterentwicklung des High-Performance-Testbeds für Netzwerkmessungen

Studienprojekt
Verfügbar

Wir betreiben ein Testbed für Netzwerkmessungen (Durchsatz, Latenz, Paketverlust). Das Testbed besteht aus einem Traffic Generator (ein high-end PC mit dem DPDK-basierten Framework MoonGen [1]), einem Switch für das Timestamping (einfügen von Zeitstempeln in die Pakete, um die Latenz zu messen) und einem Device Under Test (DUT, z.B. eine Firewall). Ursprünglich war das Testbed nur über die Kommandozeile bedienbar und relativ starr an den ursprünglichen Verwendungszweck gebunden. Durch ein Studienprojekt wurde eine Webanwendung auf Basis von Django und Angular für das Testbed entwickelt. Damit können Messungen durchgeführt werden und die Auswertung innerhalb der Webanwendung betrachtet werden. Wenn neue Anforderungen an das Testbed entstehen, z.B. wenn bei einer Messung andere Parameter des DUT variiert werden müssen, ist eine Erweiterung der Webanwendung erforderlich. Die Implementierung weiterer Messparameter erfordert derzeit viel Handarbeit.

Ziel des Studienprojekts ist es, die Webanwendung so zu erweitern, dass Messparameter automatisch ins Web-UI aufgenommen werden, ohne das HTML und die Datenbank zu editieren. Hierfür muss ein Schema für die Konfiguration designed werden, das von der Webanwendung automatisch eingelesen werden soll. Auf Basis des Schemas erstellt die Webanwendung passende UI-Elemente (z.B. Checkboxes oder Eingabefelder). Auf Seite des Testbeds ist es natürlich weiterhin erforderlich, die Funktionen zu implementieren. Jedoch entfällt durch ein Schema die manuelle Anpassung der Webanwendung.

Ein weiteres Thema für ein Studienprojekt wäre ein Umbau der Skripte des Testbeds, um diese flexibel für verschiedene Anwendungszwecke zu machen und/oder diese um neue Funktionen zu erweitern.

Aufgabe und Fragestellungen

  • Erweiterung des Python- und Lua-Codes des Testbeds um weitere Funktionen
  • Während der Entwicklung die Performance im Blick behalten
  • Weiterentwicklung einer modernen Webanwendung zur Interaktion mit dem Testbed

Anforderungen

  • Linux-Kenntnisse
  • Interesse an Netzwerktechnik
  • Programmiererfahrung in C, Python und Typescript (je nach Fokus des Projekts verschieden ausgeprägt)
  • Interesse an Webentwicklung

Referenzen und zusätzliches Material

Bearbeitet von

  • Fabio Saupp

Kontakt