LTB – Lab Topology Builder

Use Case

Der Aufbau von Lab-Netzwerken für Praktika, Übungen und Kurse am Institut für Netzwerke und Security der OST stellt sich als zeitintensive Aufgabe dar. Bis anhin gab es entweder statisch verkabelte Lab-Netzwerke, auf denen nur begrenzte Netzwerktopologien realisiert werden konnten, oder virtuelle, die aufwendig von Hand provisioniert werden mussten.

Der LTB (Lab Topology Builder) ist eine Plattform, um virtuelle Netzwerktopologien bestehend aus virtuellen Maschinen, Routern, Switches und Docker Containern automatisiert zu provisionieren.

Diese virtuellen Labs werden vor allem in verschiedenen Modulen des INS gebraucht, um für alle Studierenden eine identische und möglichst realitätsnahe Umgebung zu erstellen. Dadurch werden keine speziellen physischen Geräte benötigt. Andererseits können mit diesen Labs grössere Netzwerktopologien erschaffen werden, die für Forschungsprojekte benötigt werden.

Aus einer Studienarbeit ursprünglich entstanden und laufend am Institut weiterentwickelt, hat sich der LTB zu einem wichtigen Tool für den Unterricht entwickelt.

Ziel des Tools ist eine Plattform zu bieten, die es erlaubt Lab-Vorlagen mit einer bestimmten Topologie und Konfiguration zu erstellen, die anschliessend vielfach provisioniert werden kann.

Neben Mandantenfähigkeit, Ressourcen-Planung und dem kalendergesteuerten Auf- und Abbau der virtuellen Netzwerktopologien bietet der LTB zahlreiche weiter Eigenschaften, welche den Umgang mit Labs vereinfacht.

Architektur

Die Komponenten des LTB basieren auf Open-Source Projekten. Für die Virtualisierung wird auf KVM und Docker gesetzt.

Die virtuellen Kabel zwischen den Geräten, werden mittels Open vSwitch realisiert. Durch die Separierung mittels VLANs können die Verbindungen zwischen den Geräten voneinander getrennt werden. 802.1Q Tunneling (Q-in-Q) stellt sicher, dass sämtlicher Datenverkehr weitergeleitet wird.

Der Software-Stack besteht aus einem Django Python Backend und einer React Single-Page-Application, der die ganze Orchestrierung der Labs vornimmt und dem Benutzer ein Interface bietet seine Labs zu planen.

Contributors

Yannick Zwicker

INS Projektmitarbeiter

+41 58 257 44 82 yannick.zwicker@ost.ch

Urs Baumann

INS Wissenschaftlicher Mitarbeiter II

+41 58 257 44 84 urs.baumann@ost.ch

Fabian Thurnheer

Technischer Assistent

+41 58 257 44 95 fabian.thurnheer@ost.ch