Software Defined Networking, Teil 1 Paradigmenwechsel im LAN

Autor / Redakteur: Andreas Hausmann / Peter Schmitz

Das Netzwerk, wie wir es kennen, hält mit den Entwicklungen bei Servern und Storage-Produkten nicht mehr mit. Zeit für neue Modelle! Software Defined Networking kann einen Paradigmenwechsel im LAN einleiten und das Netzwerk, wie wir es kennen, komplett verändern.

Firmen zum Thema

Unsere Netzwerke werden zwar schneller und billiger, aber auch statischer und komplizierter. Etwas völlig Neues muss her. Es ist Zeit für den viel beschworenen Paradigmenwechsel!
Unsere Netzwerke werden zwar schneller und billiger, aber auch statischer und komplizierter. Etwas völlig Neues muss her. Es ist Zeit für den viel beschworenen Paradigmenwechsel!
(Fotolia)

Seit nun mehr als 15 Jahren gibt es keine neuen Technologien im Netzwerkbereich. Nur vage Verbesserungen hinsichtlich Redundanz, Services und rudimentärer Virtualisierung hat die Netzwerktechnik in der zurückliegenden Dekade erfahren.

Gut, das Netz ist schneller und billiger geworden – zugleich aber auch statischer und komplizierter. Dies ist in einer Zeit der Virtualisierung aber nicht mehr ausreichend (siehe Bildergalerie, Bild 1). Etwas völlig Neues muss her; es ist Zeit für den viel beschworenen Paradigmenwechsel.

Bildergalerie
Bildergalerie mit 5 Bildern

Software Defined Networking kann diesen Paradigmenwechsel einleiten und das Netzwerk, wie wir es kennen, komplett verändern.

Das kann SDN

SDN steht für Software Defined Network und beschreibt ein Modell der Paketsteuerung in einem Netzwerk. Mit SDN entsteht ein Policy Based Network.

Ein neues Modell wie SDN ist nötig, weil das klassische Netzwerk für die neuen Anforderungen zu statisch und unflexibel ist. Anforderungen der Virtualisierung und Automatisierung können nicht erfüllt werden, da sich die alte Infrastruktur in ständigen Konflikten befindet: implementierte Sicherheitsregeln werden ohne weitere Maßnahmen von den Routingprotokollen ausgehebelt; Netzwerk Policies werden an unterschiedlichen Stellen im Netzwerk wiederholt – manuell und durch Templates. All dies macht es sehr schwer, physikalische Maschinen umzuziehen oder hinzuzufügen, und das Netzwerk muss an vielen Stellen immer wieder auf den neusten Stand gebracht werden.

Im Alltag erleben wir in der Infrastruktur absichtliche limitierte Redundanzen, „Engpässe“, um Security Policies sicher zu stellen und wir machen Kompromisse zwischen dem Admin und der Verfügbarkeit – denn Routing Policies sind beispielsweise schnell verfügbar, der Admin jedoch nicht.

Auf dynamische Ereignisse gibt es deshalb nur langsame Reaktionen. Eine Maschine umzuziehen dauert Stunden, wenn nicht gar Tage. Und da die Skalierbarkeit in einem Netzwerk durch die operationale Komplexität und durch die begrenzte Fähigkeit, den aktuellen Status zu verwalten, limitiert ist, muss für die Anforderungen von heute und der Zukunft ein neues Modell her.

So „netzwerkt“ ein Switch

Um SDN zu verstehen, schauen wir uns einen Switch bzw. Router einmal genauer an. Solche Geräte sind dazu da, Pakete weiterzuleiten, zu vervielfältigen oder zu verwerfen. Und dies machen sie schnell und gut (siehe Bildergalerie, Bild 2).

Switches sind in der Regel einfach aufgebaut und schnell. Die IP- und Ethernet-Protokolle sind ebenfalls einfach. Im Laufe der Jahre sind die Anforderungen an die Infrastruktur jedoch gewachsen. VLANs, Port Securty, ACLs und QoS sind nur einige der Eigenschaften, denen ein aktuelles Netzwerk und seine Switches und Router heute gerecht werden müssen.

Diese meist speziell im Zusammenhang mit der Virtualisierung wichtigen neuen Eigenschaften werden den Paketen entweder per default mitgegeben oder müssen manuell nachkonfiguriert werden. Dies treibt die Administration an den Rand des Machbaren und schränkt die Flexibilität deutlich ein.

Um diesem Dilemma zu begegnen hat sich die Standford Universität in Californien, USA, gemeinsam mit HP bereits im Jahr 2007 Gedanken zu einem neuen Modell gemacht.

Das neue Modell des Netzwerks

Die Idee des neuen Modells (siehe Bildergalerie, Bild 3) ist, dass der Switch bzw. der Router auch weiterhin die Aufgaben übernimmt, die er gut und schnell erledigen kann. Die Intelligenz und Steuerung wird dabei jedoch auf einen externen Controller ausgelagert. Feste Tabellen können so vermieden und die für das neue Modell flexiblen Tabellen, die so genannten Flow-Tables eingeführt werden. Zudem kommen Mechanismen des Distributed Computing zum Einsatz. Dies bedeutet aber, dass alle hier eingesetzten Switches und Router remote verwaltet werden müssen können, damit Änderungen zentral eingetragen werden können.

Der Switch empfängt bei SDN ein Paket und weiß erst mal nicht, was er damit machen soll. Er fragt den Controller, wie dieses Paket behandelt werden soll. Welche Regel soll angewendet werden? Der Controller kennt alle möglichen Regeln und weist dem nachfragenden Switch die entsprechende Regel zu. Diese wird in so genannten Flow Tables im Switch gespeichert. Der Switch kann das Paket nun ordnungsgemäß weiterleiten. Jedes nachfolgende Paket mit der gleichen Charakteristik wird sofort bedient und weitergeleitet, denn die Regel ist ja bekannt und gespeichert.

Der Controller

Distributed Computing zu programmieren, ist nicht einfach. Ein Netzwerk ist eine extreme Form des Distributed Computings. Es muss daher ein neuer Algorithmus für das Netzwerk geschrieben werden, der jedes Element der gesamten Infrastruktur erfasst (CPU, Memory, etc.). Der Algorithmus muss auch in einem lose verbundenen Umfeld funktionieren. Er kann völlig verteilt oder zentralistisch sein. Durch den offenen Standard von SDN bleibt es jedem Anwender selbst überlassen, ein Modell auszuwählen und sich für einen bereits existierenden Controller oder eine Eigenprogrammierung zu entscheiden.

Der Controller regelt zentral den gesamten Verkehr im Netzwerk entsprechend der Regeln, die bei ihm hinterlegt sind. Das heißt, das gesamte Verhalten der Infrastruktur wird zentral an einer Stelle festgelegt. Hier kann der Administrator entscheiden, welche Regeln für das unternehmensweite Netzwerk gültig sein sollen und welche nicht. Ein Single Point of Management entsteht.

Der Controller basiert auf einer offenen Standard Distribution und ist in Java programmiert. Als API wurde ein neues Protokoll namens OpenFlow entwickelt.

OpenFlow

OpenFlow (siehe Bildergalerie, Bild 4) übernimmt die Kommunikation zwischen Controller und Netzwerk-Komponenten. OpenFlow ist ein minimalistisches API, das für die Beschreibung der Flow Tables eingesetzt werden kann.

Das OpenFlow-Protokoll ist ein API, welches die Kommunikation zwischen Controller und Hardware übernimmt. Damit wird die Möglichkeit geschaffen, die Distribution und Kontroll-Logik von der physikalischen Hardware zu trennen. Jeder Anwender hat nun die Freiheit, selber zu entscheiden, wie seine Infrastruktur gesteuert werden soll, zentral, verteilt oder mit einer Kombination aus beidem.

Das SDN-Modell

Wir haben nun also als Komponenten den Switch, den Controller und das OpenFlow-Protokoll. Darüber liegend darf man sich noch eine Management-Software vorstellen, über die mit einem GUI die gesamte Infrastruktur konfiguriert und betrieben wird. Dieser komplette Stack heißt SDN oder Software Defined Network (siehe Bildergalerie, Bild 5).

Durch die gemeinsamen Aktivitäten von HP und der Stanford Universität haben sich für HP schnell einige grundlegende Erkenntnisse gebildet, die zurzeit in Produkte eindesignt werden. Die ProVision-Serie von HP Networking ist bereits jetzt in der Lage, das OpenFlow-Protokoll zu verstehen und zu verarbeiten. Eine erste Umsetzung von Software Defined Network auf Hardwareseite ist also gegeben.

Durch die in den HP-Switches verwendete ASIC-Variante ist sogar ein Hybrid-Betrieb denkbar. Man könnte also das Netzwerk traditionell betreiben und in kleinen Schritten erste SDN-Funktionalitäten einführen. Dies erlaubt eine sanfte Migration vom klassischen Model hin zum neuen SDN-basierten Netzwerk.

Andreas Hausmann ist Networking-Experte bei HP.
Andreas Hausmann ist Networking-Experte bei HP.

(ID:35404900)