Weissblick - Fotolia

SDN und Machine Learning: Diese Nachteile sollten Sie kennen

Bei SDN und maschinellem Lernen ist es wichtig, die Kompromisse und Nachteile abzuschätzen, die etwa in Form von Mouse Flows und geänderten Anwendungsmerkmalen zutage treten.

In der Forschungsarbeit Knowledge-defined Networking beschreiben die Autoren drei Experimente, in denen Telemetriedaten von allen Knoten in einem Netzwerk gesammelt, per Machine Learning verarbeitet und die resultierenden Daten verwendet werden, um Merkmale der Netzwerkkonfiguration und Weiterleitung durch einen SDN-Controller zu verwalten.

Sie nennen diesen Vorgang, der Elemente von Software-defined Networking (SDN) und Machine Learning (maschinelles Lernen) kombiniert nutzt, Knowledge-defined Networking.

In diesem Artikel beschäftigen wir uns mit dem ersten dieser drei im Forschungspapier vorgestellten Experimente – die von Netzwerkknoten erfassten Telemetriedaten – mit Blick auf potenzielle Anwendungen und Herausforderungen in real existierenden Netzwerken.

Der Aufbau im Experiment besteht aus einem Underlay-Netzwerk mit 19 Underlay-Elementen und 12 Overlay-Knoten.

Abbildung 1 zeigt ein vereinfachtes Netzwerk ähnlich dem, das die Autoren beschreiben.

Anhand dieses Beispielnetzwerks lässt sich visualisieren, wie SDN und Machine Learning zusammenarbeiten können.
Abbildung 1: Anhand dieses Beispielnetzwerks lässt sich visualisieren, wie SDN und Machine Learning zusammenarbeiten können.

In diesem Netzwerk erfasst das in der wissenschaftlichen Arbeit beschriebene System Informationen an den Routern C, D, K und N, einschließlich der Verzögerung durch das Underlay-Netzwerk E, F, G und H. Weder der SDN-Controller (Q) noch das Overlay-Netzwerk besitzen Zugriff auf die Routing-Informationen oder gar auf die verfügbaren Pfade im Underlay-Netzwerk. Unter Verwendung der an den vier Overlay-Routern gesammelten Daten allerdings leitet der SDN-Controller per Machine Learning die im Underlay-Netzwerk zur Verfügung stehenden Pfade ab.

Durch diese Informationen kann der SDN-Controller versuchen, unterschiedliche Kombinationen verschiedener Flows auf jedem verfügbaren Pfad zu platzieren, um festzustellen, welche Flows anhand einer bestimmten Menge von Faktoren die beste Performance liefern. In dem Forschungspapier wird die geringste Verzögerung durch das Netzwerk als zu berücksichtigende Netzwerkoptimierung ausgewählt.

Wenn es zum Beispiel zwei Flows von M nach B und einen von P nach A gibt, platziert der SDN-Controller die zwei Flows von M nach B auf den zwei verfügbaren Links. Der Controller kann die verfügbaren Pfade bei K durchgehen und platziert die Flows folgendermaßen:

  • den ersten Flow auf dem Pfad über H und den zweiten Flow auf dem Pfad über G;
  • den ersten Flow auf dem Pfad über G und den zweiten Flow auf dem Pfad über H;
  • beide Flows auf dem Pfad über G; oder
  • beide Flows auf dem Pfad über H.

Beim Durchprobieren der Kombinationen kann der SDN-Controller die Instrumentierung an den vier Overlay-Routern nutzen, um zu bestimmen, welche dieser möglichen Kombinationen ein Traffic-Muster mit der korrekten Verzögerung durch das Netzwerk bietet. Diese Forschungsarbeit liefert vielleicht einen der am besten dokumentierten Anwendungsfälle für SDN und für maschinelles Lernen im Netzwerkbereich. Das Szenario lässt sich zumindest in einem trivialen Fall lösen, doch es ist möglich, sich ein reales Deployment dieser Art von Technologie vorzustellen, um spezifische Probleme zu lösen.

Allerdings sind solche theoretischen Ausführungen immer in irgendeiner Weise problembehaftet. Wenn Sie die Nachteile nicht gefunden haben, haben Sie vielleicht nicht genau genug hingeschaut. Es ist wesentlich, die Herausforderungen zu berücksichtigen, mit denen dieser Ansatz konfrontiert ist, bevor er sinnvoll in Large-Scale-Fabric-Umgebungen genutzt werden kann.

Nachteile und Kompromisse von SDN und Machine Learning

Erstens wird unterschwellig unterstellt, dass das System in der Lage ist, Messungen an jedem Rand des Overlays vorzunehmen – um alle relevanten Daten aufzunehmen und daraus sinnvolle Schlussfolgerungen zu ziehen. Aber in großem Maßstab lässt sich dieses Problem nicht so einfach lösen, wie es anfangs scheinen mag.

Beispielsweise transportieren viele Hyperscale Fabrics jeden Tag mehrere Terabit an Daten. Informationen bei dieser Zahl von Flows zu erfassen, stellt eine echte Herausforderung dar. Eher ist davon auszugehen, dass ein solches System ein Highspeed-Management-Netzwerk voraussetzen würde, nur um die Netzwerktelemetrie zu übertragen. Es wird zudem schwierig sein, diese Datenmengen in nahezu Echtzeit zu verarbeiten, damit sich anhand der Informationen der Traffic-Fluss durch das Netzwerk steuern und anpassen lässt.

Zweitens handelt es sich bei vielen der Flows in einem umfangreichen Netzwerk um Mouse Flows beziehungsweise Microflows. Etliche Anwendungen werden Mouse Flows und Elephant Flows mit unterschiedlichen Charakteristiken erzeugen. Mouse Flows sind fast immer zu kurzlebig, um eine hilfreiche Charakterisierung pro Anwendung mithilfe einer Form von Machine Learning vorzunehmen. Es ist verlockend, alle Mouse Flows als Einheit zu klassifizieren, doch jede Anwendung kann sich vollkommen anders verhalten und mit ihren Mouse Flows unterschiedlich umgehen. Dieses Problem wird sich wohl nicht so einfach beheben lassen.

Drittens können Tausende von Anwendungen innerhalb eines einzigen Fabrics laufen. Jede von ihnen hat verschiedene Anforderungen. Diese Anforderungen müssen so ausgedrückt werden, dass der SDN-Controller es auch versteht. Der Prozess, diese Informationen einzuordnen und zu interpretieren, ist schon für sich genommen eine enorme Aufgabe.

Viertens ändern sich die Charakteristiken jeder Anwendung im Laufe der Zeit. Machine Learning muss fortlaufend anhand neuer Datensätze trainiert werden, aber diese Datensätze werden durch die Anwendung älterer Regelsätze modifiziert. Aufgrund dieser Interaktion kann eine Situation entstehen, in der es schwierig ist, den nativen Traffic-Fluss durch das Netzwerk tatsächlich zu verstehen und somit den Lernprozess fortzusetzen.

Fünftens ist es schwierig zu sehen, wie Netzwerkfehler sich in dieser Art von System einfach nachweisen lassen.

Insgesamt handelt es sich um eine interessante Forschungsarbeit, aber SDN und maschinelles Lernen – sowie künstliche Intelligenz im Allgemeinen – müssen viele große Hürden überwinden, bevor man sie sinnvoll einsetzen kann, um komplexe Probleme in der Netzwerktechnik zu lösen.

Folgen Sie SearchNetworking.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

SDN im Einsatz, einige Beispiele

SDN ist noch nicht Ideal für Hybrid-Cloud-Netzwerke

Essential Guide: Einführung in SDN

Erfahren Sie mehr über Software-defined Networking

ComputerWeekly.de
Close