Software-defined Networking

Was ist SDN?

05.10.2023 von Josh Fruhlinger
Software-defined Networking ermöglicht Automatisierung, NetOps und vieles mehr. Das sollten Sie über SDN wissen.
Software-defined Networking kann für Unternehmen zahlreiche Vorteile realisieren - hält aber auch Herausforderungen bereit.
Foto: designers circle - shutterstock.com

Im Jahr 2011 war das Open-Source-Protokoll OpenFlow das erste System im Bereich Software-defined Networking (SDN), das sich durchsetzen konnte. Seither sind eine ganze Reihe von SDN-Modellen entstanden - und jedes davon bietet im Vergleich zu herkömmlichen Netzwerken erhebliche Vorteile.

In diesem Artikel lesen Sie unter anderem, wie sich Software-defined Networking definiert, wie es funktioniert und wo die Unterschiede zu anderen Netzwerk-Management-Techniken liegen.

Software-defined Networking definiert

Software-defined Networking ist eine Netzwerk-Management-Technik, bei der die Steuerung von Networking-Geräten über Software zentralisiert wird. SDN vereinfacht das Netzwerk-Management dabei in zweierlei Hinsicht. Es ermöglicht:

  1. Netzwerke als Ganzes zu managen, statt auf Basis von Einzelgeräten, sowie

  2. Management-Tasks zu automatisieren und diese "on the fly" an sich verändernde Netzwerkanforderungen und -bedingungen anzupassen.

SDN - Funktionsweise

Ein Software-defined Network besteht aus drei Hauptkomponenten:

Der Controller bildet die Steuerungsebene auf jedem einzelnen Netzwerkgerät: Er befüllt die Tabellen, mit denen die Daten-Layer der Devices ihre Arbeit verrichten. Es gibt verschiedene Kommunikationsprotokolle, die für diesen Zweck verwendet werden können (zum Beispiel OpenFlow), einige Anbieter nutzen auch proprietäre Protokolle. Die Kommunikation zwischen Controller und Devices wird als "Southbound API" bezeichnet.

Der Software-Controller wird wiederum von Applikationen verwaltet, die eine beliebige Anzahl von Netzwerkadministrationsrollen erfüllen können (darunter Load Balancer, Software-defined Security Services, Orchestrierungs- oder Analyseanwendungen, die die Vorgänge im Netzwerk im Auge behalten).

Die Applikationen kommunizieren mit dem Controller ("Northbound API") über gut dokumentierte REST-APIs, über die Anwendungen verschiedener Anbieter problemlos miteinander kommunizieren können.

Software-defined vs. traditionelles Networking

In einer herkömmlichen Netzwerkstruktur werden Entscheidungen darüber, wie Netzwerkpakete von einem Rechner zu einem anderen übertragen werden, von den physischen Routern, Switches und Firewalls getroffen, aus denen die Netzwerkinfrastruktur besteht. Die Funktionalität dieser Netzwerkgeräte ist konzeptionell in Elemente unterteilt, die als Ebenen ("planes") bezeichnet werden, darunter:

Die Data Plane leitet eingehende Netzwerkpakete an das entsprechende Ziel weiter. Das muss sie möglichst schnell erledigen, weswegen sie die die Routing-Informationen in den Headern mit Informationen aus Routing-Tabellen, Forward Information Bases und anderen ähnlichen Datenstrukturen abgleicht - anstatt wirklich zu "denken".

Die Daten in diesen Tabellen werden von der Control Plane mit Leben gefüllt, die die besten Routen für die Pakete durch das Netz bestimmt. Dazu nutzt die Steuerungsebene eine Reihe von Informationsquellen - zum Beispiel andere Router in der Nähe, die Standard-Netzwerkprotokolle verwenden. Diese Entscheidungsfindung kann dabei auch direkt manuell gesteuert werden - und zwar von der Management Plane.

In einem traditionellen Netzwerk arbeiten die Geräte unabhängig voneinander - die Administratoren müssen sich bei jedem einzelnen Device anmelden, um es zu managen und Netzwerkrichtlinien festzulegen. Software-defined Networking abstrahiert die Steuerungsebene hingegen in einem zentralen, softwarebasierten Controller, der auf einem Server im Rechenzentrum laufen kann. Dieser Controller kommuniziert mit den Datenebenen aller Netzwerkgeräte.

SDN vs. virtuelle Netzwerke

SDN und virtuelle Netzwerke ähneln sich: Beide zielen darauf ab, das Netzwerk-Management von den zugrundeliegenden physischen Geräten zu entkoppeln. In der Praxis sind es jedoch gänzlich unterschiedliche Ansätze:

In einem virtuellen Netzwerk werden Devices als virtuelle Maschinen simuliert, die auf Servern oder in der Cloud laufen und ein logisches Netzwerk bilden, das das physische Netzwerk überlagert. Ein Hypervisor vermittelt zwischen den beiden und übersetzt die Aktivitäten im virtuellen Netzwerk in Anweisungen für die physischen Router, die die Pakete übertragen. In diesem Szenario ist ein Netzwerkgerät - wenngleich vollständig virtuell ausgeführt - immer noch eine eigenständige Einheit mit eigenen Control- und Data Planes.

Bei einem Software-defined Network wird hingegen die Steuerungsfunktion von einzelnen Geräten auf eine zentralisierte Software verlagert, die auf einem Server läuft - ein gänzliches anderes Paradigma also.

Das bedeutet allerdings nicht, dass SDN und Virtual Networks nicht zusammengehen: Ein SDN-Controller kann virtuelle Netzwerkgeräte ebenso gut managen wie physische.

Software-defined Networking vs. SD-WAN

Softwaredefinierte Netzwerke werden hauptsächlich in LANs eingesetzt. Software-definierte WANs (SD-WANs) trennen ebenfalls Kontroll- und Datenebenen und verwenden teilweise identische Techniken wie SDN. Sie erstrecken sich aber über das offene Internet, um Zweigstellen mit Hauptniederlassungen oder der Cloud zu verbinden.

SDN - Vorteile und Herausforderungen

Software-defined Networking bietet eine Reihe spezifischer Benefits:

Dennoch gibt es auch Herausforderungen bei der SDN-Einführung:

Gehen Sie eine SDN-Einführung mit offenen Augen für mögliche Fallstricke an. Dann sollten die Vorteile die Kosten auch bei weitem überwiegen. (fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Network World.