SDN

KAPITEL 05 · NETZWERKE

Software-Defined Networking (SDN)

Die Revolution der Netzwerk-Architektur: Trennung von Control Plane und Data Plane, zentrale Steuerung durch SDN-Controller, programmierbare Netzwerke und Automatisierung. Erfahren Sie alles über OpenFlow, SDN-Controller und moderne Use Cases.

3 Ebenen OpenFlow SDN-Controller Automatisierung

Inhaltsverzeichnis

Schnellübersicht

Auf dieser Seite lernen Sie alles über Software-Defined Networking:

  • Definition: Was ist SDN und warum ist es wichtig?
  • Architektur: Data Plane, Control Plane, Application Plane
  • Komponenten: SDN-Controller, Switches, APIs, Protokolle
  • Protokolle: OpenFlow, NETCONF, RESTCONF, OVSDB
  • SDN-Controller: OpenDaylight, ONOS, Ryu, Cisco ACI
  • Use Cases: Data Center, Campus, WAN, Security, IoT
  • Vorteile & Nachteile: Wann lohnt sich SDN?
  • FAQ: Häufige Fragen zu SDN

1. Was ist Software-Defined Networking?

Definition

Software-Defined Networking (SDN) ist ein Netzwerk-Architektur-Konzept, das die Kontrollebene (Control Plane) von der Datenebene (Data Plane) trennt. Statt dass jedes Netzwerkgerät (Switch, Router) eigenständig entscheidet, wie Pakete weitergeleitet werden, übernimmt ein zentraler SDN-Controller diese Aufgabe.

Im traditionellen Netzwerk trifft jedes Gerät autonome Entscheidungen basierend auf lokal konfigurierten Regeln (Routing-Tabellen, ACLs). Bei SDN hingegen gibt der Controller den Geräten vor, was sie tun sollen – das Netzwerk wird programmierbar und zentral steuerbar.

Die drei Kernprinzipien von SDN: Trennung der Ebenen (Control vs. Data), Zentralisierung der Steuerung (ein Controller für das gesamte Netzwerk) und Programmierbarkeit (Netzwerkverhalten durch Software definieren).

Traditionelles Netzwerk vs. SDN

Traditionell: Jeder Switch/Router hat seine eigene Control Plane und trifft autonome Entscheidungen. Konfiguration erfolgt manuell auf jedem Gerät (CLI).

SDN: Die Control Plane wird aus den Geräten ausgelagert und in einen zentralen Controller verlegt. Die Geräte (Switches) werden zu einfachen "Forwarding Devices", die nur noch das tun, was der Controller ihnen vorgibt.

2. SDN-Architektur – Die drei Ebenen

Die SDN-Architektur besteht aus drei logischen Ebenen, die über definierte Schnittstellen miteinander kommunizieren.

EBENE 3

Application Plane

Netzwerk-Anwendungen

Netzwerk-Anwendungen, die über den Controller mit dem Netzwerk interagieren. Sie definieren das gewünschte Netzwerkverhalten.

  • Firewall-Anwendungen
  • Load Balancer
  • Traffic Engineering
  • Network Analytics
  • SD-WAN Controller
EBENE 2

Control Plane

SDN-Controller

Der SDN-Controller ist das "Gehirn" des Netzwerks. Er hat eine globale Sicht auf das Netzwerk und trifft alle Routing-Entscheidungen.

  • Zentrale Steuerungslogik
  • Globale Netzwerksicht
  • Flow-Table-Verwaltung
  • Northbound API (REST)
  • Southbound API (OpenFlow)
EBENE 1

Data Plane

Netzwerk-Geräte

Die physischen Netzwerk-Geräte (Switches, Router). Sie enthalten nur noch Flow-Tables und führen die vom Controller vorgegebenen Regeln aus.

  • OpenFlow-Switches
  • Flow-Tables
  • Paket-Weiterleitung
  • Keine eigene Control Plane
  • Southbound-Protokoll

Schnittstellen zwischen den Ebenen

  • Northbound API: Zwischen Application Plane und Control Plane (meist REST/JSON). Ermöglicht Anwendungen, Netzwerkverhalten zu definieren.
  • Southbound API: Zwischen Control Plane und Data Plane (z.B. OpenFlow, NETCONF). Der Controller installiert Regeln in den Switches.

3. SDN-Komponenten im Detail

Ein SDN-Netzwerk besteht aus mehreren zentralen Komponenten, die zusammenarbeiten.

SDN-Controller

Das zentrale Steuerungselement. Verwaltet das gesamte Netzwerk, trifft Routing-Entscheidungen und installiert Flow-Regeln in den Switches.

Beispiele:
OpenDaylight, ONOS, Ryu, Cisco ACI, VMware NSX

SDN-Switches

Netzwerk-Geräte ohne eigene Control Plane. Enthalten Flow-Tables und führen die vom Controller vorgegebenen Regeln aus.

Beispiele:
Open vSwitch (OVS), P4-Switches, White-Box-Switches

APIs & Schnittstellen

Definieren die Kommunikation zwischen den Ebenen. Northbound APIs für Anwendungen, Southbound APIs für Geräte.

Northbound: REST, JSON, XML
Southbound: OpenFlow, NETCONF, OVSDB

SDN-Protokolle

Protokolle für die Kommunikation zwischen Controller und Switches. OpenFlow ist das bekannteste SDN-Protokoll.

Protokolle:
OpenFlow, NETCONF, RESTCONF, OVSDB, P4

4. SDN-Protokolle im Detail

Verschiedene Protokolle ermöglichen die Kommunikation zwischen SDN-Komponenten.

Protokoll Typ Beschreibung Einsatz
OpenFlow Southbound Das originale SDN-Protokoll. Controller installiert Flow-Regeln in Switches. Data Center, Campus, Forschung
NETCONF Southbound Network Configuration Protocol. XML-basiert, für Gerätekonfiguration. Service Provider, Enterprise
RESTCONF Southbound HTTP-basierte Alternative zu NETCONF. JSON/XML, einfacher zu nutzen. Cloud, Automatisierung
OVSDB Southbound Open vSwitch Database Protocol. Für Open vSwitch Konfiguration. Open vSwitch Umgebungen
P4 Programmierung Programming Protocol-independent Packet Processors. Definiert Paketverarbeitung. Hardware-Programmierung
BGP-LS Northbound BGP Link-State. Verteilt Netzwerktopologie-Informationen. Traffic Engineering

OpenFlow im Detail

OpenFlow ist das bekannteste SDN-Protokoll und wurde an der Stanford University entwickelt. Es definiert, wie der Controller mit den Switches kommuniziert:

  • Flow-Tables: Switches enthalten Tabellen mit Regeln (Match + Action)
  • Match: Definiert, auf welche Pakete die Regel angewendet wird (z.B. IP-Adresse, Port)
  • Action: Definiert, was mit dem Paket geschieht (weiterleiten, drop, modify)
  • Flow-Mod: Controller-Nachricht zum Hinzufügen/Ändern/Löschen von Regeln

5. SDN-Controller im Vergleich

Es gibt verschiedene SDN-Controller, die sich in Architektur, Features und Einsatzgebieten unterscheiden.

Controller Typ Protokolle Einsatz
OpenDaylight Open Source OpenFlow, NETCONF, OVSDB, BGP-LS Enterprise, Service Provider, Forschung
ONOS Open Source OpenFlow, P4, NETCONF Service Provider, große Netzwerke
Ryu Open Source OpenFlow, NETCONF Forschung, Bildung, kleine Umgebungen
Cisco ACI Proprietär OpFlex, REST API Cisco Data Center, Enterprise
VMware NSX Proprietär REST API, VXLAN VMware Virtualisierung, Cloud
Juniper Contrail Proprietär REST API, XMPP Juniper Netzwerke, Cloud

OpenDaylight vs. ONOS

OpenDaylight: Von der Linux Foundation betreut. Modular, viele Protokolle, starke Community. Ideal für Enterprise und Service Provider.

ONOS (Open Network Operating System): Von der Open Networking Foundation (ONF) entwickelt. Fokus auf Skalierbarkeit und High Availability. Ideal für große Service-Provider-Netzwerke.

6. SDN Use Cases

SDN wird in verschiedenen Bereichen eingesetzt, von Data Centern bis zu WAN-Verbindungen.

Data Center Networking

Automatisierte Bereitstellung von Netzwerk-Services, Micro-Segmentation, dynamisches Load Balancing.

Beispiel: VMware NSX, Cisco ACI automatisieren die Netzwerkkonfiguration für VMs und Container.

Campus Networks

Zentrale Verwaltung von Switches und Access Points, Policy-basierte Zugriffskontrolle, Guest-Netzwerke.

Beispiel: Cisco DNA Center verwaltet Campus-Netzwerke zentral und automatisiert.

SD-WAN

Software-definierte WAN-Verbindungen. Intelligente Pfadwahl, Application-Aware Routing, Kostenoptimierung.

Beispiel: VMware Velocloud, Cisco Viptela, Silver Peak optimieren WAN-Verbindungen.

Network Security

Dynamische Firewall-Regeln, Micro-Segmentation, automatische Isolation von infizierten Hosts.

Beispiel: SDN-Controller erkennt Malware und isoliert automatisch betroffene Segmente.

IoT Networks

Skalierbare Verwaltung tausender IoT-Geräte, Netzwerk-Slicing, QoS für kritische Anwendungen.

Beispiel: SDN trennt IoT-Geräte vom Produktionsnetzwerk und priorisiert kritischen Traffic.

Cloud Networking

Overlay-Netzwerke (VXLAN, GRE), Multi-Tenancy, elastische Netzwerke für Cloud-Workloads.

Beispiel: AWS, Azure, Google Cloud nutzen SDN-Prinzipien für ihre Cloud-Netzwerke.

7. Vorteile & Nachteile von SDN

SDN bietet viele Vorteile, hat aber auch Herausforderungen, die berücksichtigt werden müssen.

Vorteile

  • Zentrale Verwaltung: Ein Controller für das gesamte Netzwerk
  • Automatisierung: Netzwerkänderungen per Software, keine manuelle CLI-Konfiguration
  • Flexibilität: Netzwerkverhalten dynamisch anpassen
  • Kosteneinsparung: White-Box-Switches statt teurer proprietärer Hardware
  • Innovation: Neue Features durch Software-Updates
  • Traffic Engineering: Globale Sicht ermöglicht optimales Routing
  • Multi-Vendor: Herstellerunabhängig durch offene Standards

Nachteile & Herausforderungen

  • Single Point of Failure: Controller-Ausfall = Netzwerkausfall (Redundanz nötig)
  • Komplexität: Neue Architektur erfordert Umdenken und Schulung
  • Security: Zentraler Controller ist attraktives Angriffsziel
  • Skalierung: Sehr große Netzwerke benötigen verteilte Controller
  • Performance: Latenz zwischen Controller und Switches kann Problem sein
  • Reife: Einige SDN-Lösungen noch nicht production-ready
  • Vendor Lock-in: Proprietäre Lösungen (Cisco ACI, VMware NSX)

Wann lohnt sich SDN?

SDN eignet sich besonders für:

  • Große Data Center mit vielen VMs/Containern
  • Cloud-Umgebungen mit dynamischen Workloads
  • Unternehmen mit hohem Automatisierungsbedarf
  • Service Provider mit komplexen Netzwerken
  • Forschung und Bildung (OpenFlow, OpenDaylight)

SDN ist weniger geeignet für:

  • Kleine Netzwerke mit wenigen Geräten
  • Umgebungen mit begrenztem IT-Budget
  • Traditionelle Enterprise-Netzwerke ohne Automatisierungsbedarf

8. FAQ – Häufige Fragen & Antworten

Häufige Fragen zu SDN

Was ist der Unterschied zwischen SDN und traditionellem Networking?

Traditionelles Networking: Jedes Netzwerkgerät (Switch, Router) hat seine eigene Control Plane und trifft autonome Entscheidungen. Konfiguration erfolgt manuell auf jedem Gerät über CLI (Command Line Interface).

SDN: Die Control Plane wird aus den Geräten ausgelagert und in einen zentralen Controller verlegt. Die Geräte werden zu einfachen "Forwarding Devices", die nur noch die vom Controller vorgegebenen Regeln ausführen. Konfiguration erfolgt zentral über Software.

Was ist OpenFlow?

OpenFlow ist das erste und bekannteste SDN-Protokoll. Es definiert die Kommunikation zwischen SDN-Controller und Netzwerk-Switches:

  • Flow-Tables: Switches enthalten Tabellen mit Regeln (Match + Action)
  • Match: Definiert, auf welche Pakete die Regel angewendet wird (z.B. Quell-IP, Ziel-Port)
  • Action: Definiert, was mit dem Paket geschieht (weiterleiten, drop, modify, send to controller)
  • Flow-Mod: Controller-Nachricht zum Hinzufügen/Ändern/Löschen von Regeln

OpenFlow wurde an der Stanford University entwickelt und ist ein offener Standard der Open Networking Foundation (ONF).

Was ist ein SDN-Controller?

Der SDN-Controller ist das "Gehirn" eines SDN-Netzwerks. Er hat eine globale Sicht auf das gesamte Netzwerk und trifft alle Routing-Entscheidungen:

  • Verwaltet die Netzwerktopologie
  • Installiert Flow-Regeln in den Switches
  • Bietet APIs für Netzwerk-Anwendungen (Northbound API)
  • Kommuniziert mit Switches über Southbound-Protokolle (OpenFlow, NETCONF)

Beispiele: OpenDaylight, ONOS, Ryu, Cisco ACI, VMware NSX

Was ist SD-WAN und wie unterscheidet es sich von SDN?

SD-WAN (Software-Defined Wide Area Network) ist eine spezifische Anwendung von SDN-Prinzipien auf WAN-Verbindungen:

  • SDN: Allgemeines Konzept für Netzwerke (LAN, Data Center, WAN)
  • SD-WAN: SDN speziell für WAN-Verbindungen zwischen Standorten

SD-WAN Features:

  • Intelligente Pfadwahl (MPLS, Internet, LTE)
  • Application-Aware Routing (Priorisierung kritischer Apps)
  • Kostenoptimierung (teures MPLS durch günstiges Internet ergänzen)
  • Zentrale Verwaltung über Controller

Beispiele: VMware Velocloud, Cisco Viptela, Silver Peak, Fortinet

Ist SDN sicher?

SDN bietet sowohl Sicherheitsvorteile als auch neue Herausforderungen:

Vorteile:

  • Zentrale Security-Policies (einmal definieren, überall anwenden)
  • Dynamische Firewall-Regeln (automatische Isolation infizierter Hosts)
  • Micro-Segmentation (fein granulare Netzwerk-Segmentierung)
  • Bessere Visibility (globale Sicht auf gesamten Traffic)

Herausforderungen:

  • Single Point of Failure (Controller-Ausfall = Netzwerkausfall)
  • Controller ist attraktives Angriffsziel (muss besonders geschützt werden)
  • Northbound API muss gesichert werden (Authentifizierung, Verschlüsselung)

Best Practices: Controller-Redundanz, starke Authentifizierung, Verschlüsselung, regelmäßige Security-Audits.

Was sind White-Box-Switches?

White-Box-Switches sind generische Netzwerk-Switches, die mit offener Software (z.B. ONIE – Open Network Install Environment) betrieben werden können:

  • Hardware: Generische Switch-Hardware (z.B. von Accton, Delta, Quanta)
  • Software: Offenes Netzwerk-Betriebssystem (z.B. Open Network Linux, Cumulus Linux)
  • Vorteil: Günstiger als proprietäre Switches (Cisco, Juniper)
  • Nachteil: Erfordert mehr Know-how, weniger Support

White-Box-Switches sind ein wichtiger Bestandteil von SDN, da sie Herstellerunabhängigkeit ermöglichen.

Was ist P4 und warum ist es wichtig?

P4 (Programming Protocol-independent Packet Processors) ist eine Programmiersprache für Netzwerk-Geräte:

  • Ziel: Definieren, wie Pakete in Switches verarbeitet werden
  • Vorteil: Protocol-independent (nicht auf bestimmte Protokolle festgelegt)
  • Flexibilität: Neue Protokolle können ohne Hardware-Änderung unterstützt werden
  • Einsatz: P4-Programme werden auf P4-Switches oder FPGAs ausgeführt

P4 ermöglicht eine neue Ebene der Netzwerk-Programmierung und ist ein wichtiger Schritt hin zu vollständig programmierbaren Netzwerken.

Kann ich SDN mit bestehenden Netzwerken integrieren?

Ja, aber mit Einschränkungen. Es gibt verschiedene Integrationsansätze:

  • Hybrid SDN: SDN und traditionelles Netzwerk parallel betreiben
  • Overlay-Netzwerke: SDN-Overlay über bestehender Infrastruktur (VXLAN, GRE)
  • SDN-Controller mit Legacy-Support: Controller unterstützt OpenFlow und traditionelle Protokolle
  • Graduelle Migration: Schrittweise Ersetzung durch SDN-fähige Geräte

Die meisten Unternehmen wählen einen Hybrid-Ansatz, um bestehende Investitionen zu schützen und gleichzeitig von SDN-Vorteilen zu profitieren.

Welche Skills brauche ich für SDN?

Für SDN benötigen Sie eine Kombination aus Netzwerk- und Software-Kenntnissen:

  • Netzwerk-Grundlagen: TCP/IP, Routing, Switching, VLANs
  • Programmierung: Python, REST APIs, JSON/XML
  • SDN-Protokolle: OpenFlow, NETCONF, RESTCONF
  • Linux: Command Line, Scripting
  • Virtualisierung: VMs, Container, Overlay-Netzwerke
  • Automation: Ansible, Puppet, Chef

Zertifizierungen: Cisco DevNet, ONF SDN Engineering, Linux Foundation Networking

Was ist der Unterschied zwischen SDN und NFV?

SDN (Software-Defined Networking) und NFV (Network Functions Virtualization) sind komplementäre Konzepte:

  • SDN: Trennung von Control und Data Plane, zentrale Steuerung
  • NFV: Virtualisierung von Netzwerkfunktionen (Firewall, Load Balancer, Router)

Zusammenarbeit: SDN kann NFV-Funktionen steuern. Beispiel: SDN-Controller weist Traffic einer virtualisierten Firewall zu.

Gemeinsames Ziel: Flexiblere, kostengünstigere und automatisiertere Netzwerke.

Zusammenfassung

Die wichtigsten Punkte

  • SDN: Trennung von Control Plane und Data Plane, zentrale Steuerung
  • 3 Ebenen: Application Plane, Control Plane, Data Plane
  • SDN-Controller: Das "Gehirn" des Netzwerks (OpenDaylight, ONOS, Cisco ACI)
  • OpenFlow: Das bekannteste SDN-Protokoll (Flow-Tables, Match + Action)
  • Protokolle: OpenFlow, NETCONF, RESTCONF, OVSDB, P4
  • Use Cases: Data Center, Campus, SD-WAN, Security, IoT, Cloud
  • Vorteile: Automatisierung, Flexibilität, Kosteneinsparung, Traffic Engineering
  • Herausforderungen: Single Point of Failure, Security, Komplexität
  • SD-WAN: SDN speziell für WAN-Verbindungen
  • White-Box-Switches: Generische Hardware + offene Software

Enterprise-Tipps

  • Hybrid-Ansatz: SDN und traditionelles Netzwerk parallel betreiben
  • Controller-Redundanz: Immer mindestens 2 Controller für Hochverfügbarkeit
  • Security First: Controller besonders schützen (Authentifizierung, Verschlüsselung)
  • Skills aufbauen: Kombination aus Netzwerk- und Programmier-Kenntnissen
  • Pilot-Projekt: Mit kleinem Use Case beginnen (z.B. Data Center Automation)
  • Open Standards: Auf offene Protokolle setzen (OpenFlow, NETCONF) statt proprietärer Lösungen

Weiterführende Themen

Netzwerk-Grundlagen

TCP/IP, OSI-Modell, Routing, Switching – die Basis aller Netzwerke.

Zu Netzwerk-Grundlagen
Netzwerk-Sicherheit

Firewalls, IDS/IPS, VPN, Verschlüsselung – Schutz für Netzwerke.

Zur Netzwerk-Sicherheit
Network Automation

Ansible, Python, API-Automatisierung – Netzwerke automatisieren.

Zu Network Automation
Cloud Computing

IaaS, PaaS, SaaS, Virtualisierung – Cloud-Technologien verstehen.

Zu Cloud Computing