Implementation and evaluation of a flow table outsourcing strategy for SDN-enabled switches
- chair:Software Defined Networking
- type:Bachelorarbeit
- time:2015
- advisor:
- person in charge:Florian Schweizer
-
Software Defined Networking (SDN) hat sich in den letzten Jahren als flexibles Paradigma der Netzwerksteuerung und als Alternative zu klassischen IP-Netzen etabliert. SDN sieht eine strikte Trennung zwischen Control-Plane und Data-Plane vor und lagert Kontrollentscheidungen in eine externe Komponente aus, den sogenannten SDN-Controller. Applikationen inner- oder oberhalb des Controllers entscheiden dann flowbasiert darüber, wie die kontrollierten SDN-Switches ankommende Pakete verarbeiten sollen. Diese Entscheidungen werden in einer sogenannten Flowtable gespeichert. Aus Performanzgründen ist die Flowtable eines SDN-Switches normalerweise als Ternary Content Addressable Memory (TCAM) implementiert und stellt nur begrenzten Platz zur Verfügung. Da die Größe der Flowtable die Leistungsfähigkeit eines softwarebasierten Netzes maßgeblich beeinflusst, wurde am Institut für Telematik (KIT) ein Konzept entwickelt, das es einem Switch mit Flowtable-Engpass erlaubt, sich bei Bedarf zusätzliche Kapazität bei einem benachbarten Switch auszuleihen.
Ziel der Bachelorarbeit war es, das bereits existierende Outsourcing-Konzept für die Flowtable praktisch zu verifizieren. Dazu sollte in einem ersten Schritt ein Prototyp implementiert werden, um die Umsetzbarkeit des Verfahrens zu demonstrieren, wobei der auf Java basierende SDN-Controller ONOS zum Einsatz kam. Danach sollten verschiedene grundlegende Fragestellungen im Zusammenhang mit FTO untersucht werden, zum Beispiel die Organisation des Metadaten-Transports auf Ebene der Data-Plane, die Problematik der Rückmigration (ausgelagerte Flowtable-Einträge werden wieder zurückgeholt) oder die transparente Integration in die Control Plane. Am Ende sollte neben einer funktionalen Evaluation auch verschiedene Perfomanzmessungen auf (physischen) SDN-Switches durchgeführt werden, etwa zur Latenzsteigerung durch die Auslagerung auf einen benachbarten Switch.