SDN: Das steckt hinter Software Defined Networking
Software Defined Networking (SDN) ist ein Netzwerkkonzept, das die zentrale, intelligente Verwaltung und Steuerung der einzelnen Hardware-Komponenten mithilfe von Software ermöglicht. Der Einsatz offener Protokolle wie OpenFlow ermöglicht dabei den Zugriff auf Netzwerkgeräte wie Switches, Router oder Firewalls, die andernfalls aufgrund von proprietärer Firmware nicht ansteuerbar wären.
Was ist Software Defined Networking (SDN)?
Software Defined Networking beschreibt eine Netzwerkarchitektur, die ein rein softwarebasiertes Management des Netzwerks ermöglichen soll. Zu diesem Zweck wird die standardmäßig in den Hardware-Komponenten implementierte Kontrollschicht (Control Plane) bzw. die Kontroll-Logik von der Hardware abstrahiert – man spricht in diesem Zusammenhang auch von der Intelligenz der Hardware, wobei es sich um nichts anderes als deren spezifische Betriebssoftware (Firmware) handelt. Vereinfacht gesagt steht das SDN-Konzept also für die Trennung von Infrastruktur und deren Konfiguration.
Die Datenschicht (Data Plane) bleibt hingegen Bestandteil der einzelnen Netzwerkgeräte (also aller im Netzwerk eingebundenen Router, Switches und Firewalls). Ihre Aufgabe besteht beim SDN jedoch ausschließlich in der Paketweiterleitung, weshalb sie nur wenig Rechenkraft beansprucht. Das bringt unter anderem den Vorteil mit sich, dass die Geräte keine aufwändig entwickelte Firmware benötigen und in der Regel wesentlich günstiger als bei anderen Netzkonzepten sind.
Wesentlich komplexer ist das Aufgabenfeld der abstrahierten Control Plane, die in der SDN-Architektur für den ordnungsgemäßen Datenverkehr zuständig ist und daher sämtliche hierfür relevanten Analysen durchführen muss. Losgelöst von der Hardware und in eine zentralisierte Software implementiert, ist sie beim Software Defined Networking jedoch in hohem Grade programmierbar und daher in Sachen Netzwerkadministration wesentlich flexibler, als es bei anderen Architekturen der Fall ist.
Wie funktioniert SDN?
Damit die auf der Kontrollschicht agierende SDN-Software die Anweisungen für den ordnungsgemäßen Paketverkehr an die eingebundenen Netzwerkkomponenten senden kann, bedarf es einer spezifischen Kommunikationsschnittstelle zwischen Control Plane und Data Plane. Die bekannteste Lösung hierfür ist OpenFlow. Verwaltet von der Open Networking Foundation (ONF) gilt das Kommunikationsprotokoll als erste standardisierte Schnittstelle zwischen der Kontroll- und der Datenebene einer Software-Defined-Networking-Architektur. Sie tritt in vielen SDN-Netzen an die Stelle der einzelnen verschiedenen Schnittstellen der Netzwerkgeräte, womit nebenbei auch die Abhängigkeit von den Hardware-Herstellern gemindert wird.
OpenFlow ist zwar das mit Abstand verbreitetste, aber keineswegs das einzige Protokoll für das Management von Software Defined Networks: Mit NETCONF (RFC 6241), BGP (Border Gateway Protocol), XMPP (Extensible Messaging and Presence Protocol), OVSDB (Open vSwitch Database Management Procotol) und MPLS-TP (MPLS Transport Profile) gibt es Alternativen, die das Standard-Protokoll zwar nicht eins zu eins ersetzen, die bei der Realisierung softwaredefinierter Netzwerke aber trotzdem eine entscheidende Rolle spielen können. Auch proprietäre Protokolle von Cisco Systems und Nicira sind in einigen Architekturen im Einsatz.
Steht die Kommunikation zwischen Hardware und Software, kann sich der Administrator über die Kontrollebene und die jeweilige SDN-Software schnell und problemlos einen guten Gesamtüberblick über das Netzwerk verschaffen und die Netzwerkgeräte über die zentrale, softwarebasierte Steuerung managen. Dadurch lassen sich Datenströme mit einer wesentlich höheren Effizienz lenken als in Netzwerken, in denen die verschiedenen Komponenten jeweils über eine eigene Steuerlogik verfügen – was die Virtualisierung und Skalierbarkeit von Ressourcen erheblich vereinfacht. Begünstigt wird dies außerdem dadurch, dass Routing- und Topologie-Informationen nicht mehr bruchstückhaft auf alle Router verteilt sind, sondern an einem zentralen Ort zusammenlaufen.
Welche SDN-Modelle gibt es?
Je nach Anbieter bzw. Betreiber und verwendetem Kommunikationsstandard variieren die Vorstellungen und Ansätze zur Umsetzung von SDN-Strukturen. Dabei ist es allerdings nicht immer möglich, eine scharfe Trennlinie zwischen den einzelnen Modellen zu ziehen, sodass es durchaus vorkommt, dass ein Software Defined Network Elemente verschiedener Ansätze aufweist.
Symmetrisches vs. asymmetrisches SDN
Obwohl das softwarebasierte Prinzip grundsätzlich die bestmögliche Zentralisierung der Netzwerkgeräte-Intelligenz vorsieht, gibt es durchaus SDN-Ansätze, bei denen der Aufgabenbereich der Control Plane auf mehrere Kontrolleinheiten verteilt wird. Bei einem solchen asymmetrischen Modell verfügen die einzelnen Systeme in der Regel über die minimal erforderlichen Informationen für den unmittelbaren Betrieb, sodass sie auch bei einem Ausfall der zentralen Kontrolleinheit funktionieren. Im Vergleich zu dem traditionellen symmetrischen Modell entstehen auf diese Weise allerdings auch unnötige Redundanzen von Informationen.
Grundprinzip | Vorteile | Nachteile | |
symmetrischer SDN-Ansatz | maximale Zentralisierung der Intelligenz | Vermeidung von Redundanzen; Entlastung der einzelnen Komponenten | Verfügbarkeit und Stabilität des Netzes stehen und fallen mit der zentralen Kontrolleinheit |
asymmetrischer SDN-Ansatz | Verteilung der Intelligenz | die einzelnen Systeme funktionieren auch bei einem Ausfall der Kontroll-Logik | Redundanzen von Informationen; Verwaltung des Netzes ist komplexer |
Hostbasiertes vs. netzwerkbasiertes SDN
Eine weitere Möglichkeit zur Kategorisierung von Software Defined Networking ist ein Blick auf die Position der Kontroll-Logik. In hochgradig virtualisierten Umgebungen liegt es beispielsweise nahe, die Prozesse der Control Plane von dem System erledigen zu lassen, auf dem auch der Hypervisor, also der Manager der virtuellen Maschinen, gehostet wird. Führt man die SDN-Software auf diesem Host-System aus, hat man nämlich in jedem Fall die Gewissheit, dass die erforderlichen Kapazitäten für die entstehende Datenlast verfügbar sind. Die Alternative zu diesem hostbasierten Ansatz ist es, die SDN-Verarbeitung wie in traditionellen Netzwerken üblich auf dedizierte Router zu verteilen und somit netzbasiert zu handhaben.
Flood-based (proaktives) vs. floodless (reaktives) SDN
Ein drittes Software-Defined-Networking-Modell setzt den Fokus auf die Art und Weise, wie Informationen zwischen Control Plane und Data Plane weitergegeben werden. So gibt es einerseits die Option, dass die Kontrollinstanz neue Informationen und Änderungen allen teilnehmenden Netzwerkknoten vorausschauend via Broadcast oder Multicast übermittelt. Dieses sogenannte flood-based (dt. flutbasiert) oder auch proaktive SDN-Konzept ist dann von Vorteil, wenn die Zentralisierung der Intelligenz keine Rolle spielt, weil z. B. ein symmetrischer Ansatz verfolgt wird.
Je mehr Knoten ein Netzwerk hat, desto höher fällt bei einem solchen Nachrichtenübermittlungskonzept allerdings auch die Netzlast aus, was eine begrenzte Skalierbarkeit zur Folge hat. In größeren Netzwerken ist daher das floodless (dt. flutlos) bzw. reaktive SDN-Modell eine beliebte Alternative: Die Control Plane stellt die korrekte Funktion aller Komponenten in diesem Fall durch eine kontrollierte, reaktive Informationsweitergabe sicher, bei der nur die jeweils betroffenen Geräte eingespannt sind. Die relevanten Informationen beziehen diese dabei üblicherweise aus speziellen Lookup-Tabellen, wobei verteilte Hashing- und Caching-Verfahren zum Einsatz kommen.
Nachrichtenübermittlung | Vorteile | Nachteile | |
flood-based SDN | Broadcast, Multicast | Leicht umzusetzen; Pakete werden auf kürzestem Weg verschickt | mit jedem neuen Knoten steigt automatisch die Netzlast |
floodless SDN | Lookup-Tabellen | alle Geräte erhalten ausschließlich für sie relevante Informationen | Probleme bei der Zustellung der Informationen führen automatisch zu Verzögerungen |
Was unterscheidet Software Defined Networking vom klassischen Netzwerk-Konzept?
In den vorangehenden Abschnitten sind die grundlegenden Unterschiede zwischen einem Netz, das auf dem SDN-Ansatz basiert, und einem klassischen Netzwerk deutlich geworden. Der entscheidende Punkt ist hierbei zweifelsohne die Trennung von Hard- und Software, die vor Jahren noch undenkbar war. Erst seit 2013 gibt es Geräte, die diesen elementaren Aspekt des Software Defined Networkings umsetzen können. Daher ist es wenig verwunderlich, dass die zukunftsorientierte Technologie in vielen Firmen bis dato noch kein Thema war bzw. ist.
Die folgenden Abschnitte fassen daher die wesentlichen Unterschiede zwischen SDN und traditionellem Networking noch einmal übersichtlich zusammen, bevor zum Abschluss auch die Ziele und Vorteile sowie die konkreten Anwendungsszenarien von SDN zur Sprache kommen.
Die Unterschiede zwischen SDN und herkömmlichen Networking im tabellarischen Überblick
Software Defined Networking (SDN) | Traditionelles Networking |
zentralisierte Kontrollinstanz | gerätespezifische Kontroll-Instanzen |
klare Trennung zwischen Hardware und Steuerungsebene | Steuerung der Hardware ist in der Hardware integriert |
frei programmierbare Control Plane | geräteeigene Control Plane |
standardisierte Protokolle (z. B. via OpenFlow) | herstellerspezifische Protokolle |
Zugriff per Software auf Datenschicht möglich | Zugriffe auf Datenschicht müssen direkt an der Hardware vorgenommen werden |
flexible, leicht skalierbare Architektur | statische, schwer anpassbare Architektur |
Welche Ziele und Vorteile hat SDN?
Parallel zu den Anforderungen, die an die Rechenleistung von Computern gestellt werden, steigen auch die Anforderungen an die Leistungsfähigkeit von Netzwerken kontinuierlich: Während digitale Netze immer größer und komplexer werden, nimmt gleichzeitig auch der Grad an Virtualisierung und der Wunsch nach maximaler Flexibilität und Skalierbarkeit immer weiter zu. Da herkömmliche Geräte, die mit einer eigenen Intelligenz ausgestattet sind und einen Großteil der Prozesse eigenständig verarbeiten, diesen Ansprüchen schon seit längerem nicht mehr gerecht werden können, ist das Software-Defined-Networking-Konzept entwickelt worden. Mit spezifischer Hardware ohne eigene Kontrollinstanz sollen eben jene Ziele erreicht bzw. Anforderungen gedeckt werden. Die Vorteile gegenüber traditionellen Netzwerken lassen sich dabei folgendermaßen zusammenfassen:
- keine Konfiguration einzelner Geräte oder Betriebssysteme erforderlich
- geringer Wartungs- und Verwaltungsaufwand für das gesamte Netzwerk
- geringere Hardware- und Betriebskosten
- ermöglicht die dynamische Zuweisung und Überwachung von Ressourcen in Echtzeit
- geringe Abhängigkeit von Hardware-Herstellern
Mögliche Anwendungsszenarien für Software Defined Networking
Dank seiner zahlreichen Vorzüge gegenüber dem klassischen Netzwerkkonzept ist SDN für eine Vielzahl von Anwendungsfällen interessant. Unter anderem ist das softwaredefinierte Netzwerkmodell zum Beispiel für folgende Zwecke geeignet:
- Quality of Service (QoS): Der zentrale Überblick über alle Netzwerkknoten erleichtert es dem Administrator, nachzuvollziehen, wie oft eine einzelne Verbindung beansprucht wird. In Echtzeit kann er auf die dadurch gewonnenen Erkenntnisse reagieren und den Datenverkehr entsprechend regulieren, um allen Teilnehmern zu jedem Zeitpunkt die versprochene Bandbreite liefern zu können.
- Herstellerunabhängiges Gerätemanagement: Der Fokus auf ein einheitliches Protokoll wie OpenFlow macht SDN zu einer hervorragenden Lösung, wenn Geräte verschiedener Hersteller in einem Netzwerk vereint und gemanagt werden sollen.
- Herstellerunabhängige Funktionserweiterung des Netzes: Die Freiheiten der SDN-Technologie sind außerdem für solche Szenarien eine gute Lösung, in denen Netzwerke jederzeit problemlos um neue Funktionen erweiterbar sein sollen – auch dabei spielt den Nutzern die Unabhängigkeit von Geräteherstellern in die Karten.
- Anwendungsgesteuertes Paket-Routing: SDN schafft die Grundlage dafür, dass Drittanwendungen in das Paket-Routing eingreifen, also Routen im Netz ändern und anpassen, können. Voraussetzung hierfür ist, dass die Kontrolleinheit über eine passende Schnittstelle verfügt.
- Zentrale Definition und Verteilung von Sicherheitsrichtlinien (Security Policies): Über die zentrale Steuereinheit lassen sich – einfach und effizient – Sicherheitsrichtlinien an die einzelnen Netzwerk-Switches weitergeben.
Gemeinsam mit anderen softwaredefinierten Services werden virtualisierte Netzwerkstrukturen unter anderem auch für den Aufbau eines Software Defined Data Centers (SDDC), also eines softwaregesteuerten Rechenzentrums, benötigt.
Fazit: Flexible Netzwerkarchitekturen dank Software Defined Networking
Dass der SDN-Ansatz in den vergangenen Jahren von diversen Netzanbietern aufgegriffen wurde, kommt nicht von ungefähr: Software Defined Networking optimiert den grundlegenden Ansatz der Hardware-Virtualisierung, indem es herstellerspezifische Einschränkungen aufhebt und die Administration eines Netzwerks erheblich vereinfacht. Dank der Entkopplung der Logik aus der zugrundeliegenden Hardware und der damit verbundenen Möglichkeit, das Netz per Software zu steuern, sind Netzbetreiber bestens für künftige Entwicklungen und Herausforderungen in der IT-Branche gerüstet.