Home | english  | Impressum | Sitemap | KIT

Portieren eines C++-basierten Software-Switch auf ARM-basiertes Open-Source Hardware-Switch

Portieren eines C++-basierten Software-Switch auf ARM-basiertes Open-Source Hardware-Switch
Forschungsthema:Software Defined Networking
Typ:Bachelorarbeit
Datum:ab sofort
Betreuer:

Valentin Kautz

Beschreibung

Software-defined Networking ist eine aufstrebende Technologie. Der Kerngedanke ist die Trennung von Kontroll- und Datenebene von Netzwerkkomponenten, wie z.B. Routern. Ein sogenannter SDN-Controller übernimmt die Aufgabe einer logisch-zentralen Kontrollebene, die das Weiterleitungsverhalten von SDN-Switches festlegt. Der Vorteil dieses Konzepts ist, dass das Verhalten durch SDN-Applikationen bestimmt wird und nicht von einer relativ fixen Hardware. Dadurch wird beispielsweise ermöglicht, dass ein neuer Routing-Algorithmus einfach durch eine neue SDN-Applikation eingeführt werden kann. In klassischen Netzen ist dies nicht ohne weiteres möglich.

Ermöglicht wird dies im wesentlichen durch zwei Abstraktionen in SDN-Switches: Tabellen und Aktionen. In einer Tabelle wird festgelegt für welche Pakete eine bestimmte Aktion durchzuführen ist. Dies geschieht anhand von Protokollfeldern, wie beispielsweise der IP-Zieladresse. Eine Aktion kann beispielsweise das Verwerfen eines Pakets oder das Weiterleiten über einen bestimmten Port eines Switches sein. Der SDN-Controller programmiert nun das Verhalten der SDN-Switches, indem er diese Tabellen füllt. Dieses Konzept hat nun die Einschränkung, dass sowohl die Art der Tabellen als auch die Aktionen, die ein SDN-Switch bereitstellt, fix sind. Zum Beispiel können deshalb nicht unterstützte Protokollfelder auch nicht zur Programmierung verwendet werden.

An dieser Stelle kommt Programming protocol-independent packet processors (P4) ins Spiel. Dabei handelt es sich um eine Weiterentwicklung des SDN-Gedankens und ermöglicht, dass selbst die Tabellen und Aktionen der SDN-Switches programmierbar sind. Ein P4-Programm spezifiziert dabei, welche Tabellen und Aktionen das Switch zur Verfügung stellt. Dieses P4-Programm wird dann auf ein Switch geladen und ausgeführt. Der SDN-Controller ist dann in der Lage diese speziellen Tabellen so zu füllen, dass das gewünschte Verhalten umgesetzt wird. 

 

Aufgabenbeschreibung

In dieser HIWI-Stelle soll eine Demonstrationsplattform entstehen, die die Ausführung von P4-Programmen auf Hardware-Switches ermöglicht. Hierfür wird auf ein existierendes P4-Software-Switch für Linux zurückgegriffen, das dann auf ein Hardware-Switch portiert werden soll. Das zu portierende Software-Switch ist in C++ geschrieben und hat einen bereits plattformunabhängigen Kern, jedoch eine Linux-spezifische Schnittstelle. Damit das Software-Switch auf dem Hardware-Switch ausgeführt werden kann, muss eine neue Schnittstelle zur Ansteuerung der Hardware implementiert werden.