SDN-Controller für OpenFlow offenbaren erhebliche Schwächen

SDN Software Defined Networking (Bild: Shutterstock)

Zu diesem Ergebnis kamen australische Wissenschaftler nach umfangreichen Untersuchungen. Die fünf von ihnen getesteten Controller verschwenden bis zu 20 Prozent der Prozessorleistung. Als Grundproblem haben die Forscher jedoch die Architektur von OpenFlow selbst ausgemacht.

Stephen Mallony und Vincent Gramoli von der University of Sydney haben in Zusammenarbeit mit Guillaume Jourjon von Data61, einer Abteilung der australischen Forschungseinrichtung Commonwealth Scientific and Industrial Research Organisation (CSIRO), die eigenen Angaben zufolge bislang umfangreichste Evaluierung von SDN-Controllern vorgenommen. Sie testeten dazu fünf Controller-Typen – den ursprünglichen OpenFlow-Controller NOX, den Java-basierenden Controller Maestro, den Open-Source-Controller Floodlight, der inzwischen Herzstück der kommerziell vom Anbieter Big Switch Networks vertriebenen Produkte ist, von dessen Ingenieuren er auch maßgeblich weiterentwickelt wird, sowie den bereits 2010 entwickelten Controller Beacon (PDF).

Den vor drei Jahren vorgestellte OpenDaylight, den zum Beispiel Extreme Networks für seinen Ansatz nutzt, haben die australischen Forscher zwar getestet, aber nicht in die Wertung aufgenommen: “Die Performance war zu gering, um irgendeine Erkenntnis aus dem Vergleich ziehen zu können“, lautet ihr lapidares, aber vernichtendes Urteil.

Doch auch für die vier in die Wertung aufgenommenen SDN-Controller fällt das Ergebnis wenig schmeichelhaft aus. “Diese Controller können das Potenzial aktueller Architekturen hauptsächlich deshalb nicht ausschöpfen, weil das Verhältnis zwischen dem Design der Controller und den nicht ausgenutzten Features der getesteten Plattformen (Tilera und Intel) nicht stimmt. Insbesondere haben sie ihrem Forschungsbericht zufolge (PDF) gezeigt, dass die vier in die Wertung aufgenommenen Controller es nicht schaffen, die Fähigkeiten von Mehr-Kern-Plattformen hinsichtlich Energieeffizienz und Netzwerk-Traffic auszuschöpfen.

Forscher fordern grundlegend neues Herangehen an SDN-Controller

Die Gründe dafür sind den Forschern zufolge vielfältig. Zum einen leiden alle Controller daran, dass sie aufgrund ihres Objekt-orientierten Designs an einem zu großen Overhead pro eingehendem Datenpaket leiden. Außerdem ist bei drei der gestatteten Controller das Threading-Modell für IO nicht angemessen. Darüber hinaus wird durch die Struktur der Hash-Tabellen bei Multi-Core-Plattformen zu viel externe Kommunikation vom Chip verlangt und bei Mehr-Kern-Plattformen zu viel Memory-Bandbreite verbraucht.

Aufgrund der vielfältigen und ihrer Ansicht nach grundlegenden Fehler plädieren sie für einen ganz neuen Weg, SDN-Controller zu entwickeln. Sie sollten ankommende Pakete eher mit einem vorab zugewiesen Buffer abarbeiten, denn als neue Objekte behandeln. Außerdem sollten sie die Charakteristiken der Hardware berücksichtigen um zum Beispiel Cache-Fehler zu vermeiden.

In einer früheren Untersuchung (PDF) haben Forscher des Fraunhofer SIT mehrere Open-Source-SDN-Controller unter die Lupe genommen. Ihr Schwerpunkt lag auf der Auswertung der Funktionen und Handlungsempfehlungen für eine Auswahl. Um die individuell passende Auswahl zu ermöglichen, haben sie einen Methode entwickelt, die den Wert der jeweiligen Eigenschaft den Werten in einer zuvor definierten Werteskale zuordnet und eine Gewichtung ermöglicht. Für ihr Vorhaben hatte sich dabei von den fünf einbezogenen SDN-Controllern (POX, Ryu, Trema, Floodlight und OpenDaylight) Ryu als bester durchgesetzt.