Open Source im professionellen Einsatz
Linux-Magazin 04/2014

Der SDN-Controller Open Daylight

Strahlende Zukunft

An den Grundlagen kommender SDN-Produkte arbeiten namhafte Unternehmen gemeinsam im Open-Source-Projekt Open Daylight. Im Februar 2014 erblickte dessen erste Code Release das Tageslicht.

879

Bescheidenheit zählt in der Regel nicht zu den Tugenden großer IT-Unternehmen. Umso bemerkenswerter war es, als Erik Ekudden, oberster Technologie-Stratege bei Ericsson, konstatierte: "Keiner von uns ist groß genug, sich den Themen Software Defined Networking und Network Functions Virtualization allein zu stellen. Daher bleibt uns nur die Zusammenarbeit." Das sagte er auf dem Open Daylight Summit im Februar 2014 [1]. Die Veranstaltung fiel zusammen mit der ersten Release der SDN-Suite Open Daylight, dem gemeinsamen Produkt vieler Branchengrößen.

Gemeinsames Projekt

Das Open-Daylight-Projekt [2], im April 2013 gegründet, steht als so genanntes Collaborative Project unter der Ägide der Linux Foundation. Die Mitgliederliste verzeichnet alles, was in der Netzwerkbranche Rang und Namen hat: Brocade, Cisco, Juniper und Citrix rangieren in der ersten Reihe zusammen mit Red Hat, IBM und Microsoft. Das Projekt soll in der noch frühen Phase des SDN mit Open-Source-Software eine Grundlage schaffen, auf der die Mitglieder ihre Produkte aufbauen wollen. Als Lizenz für den Code, hauptsächlich in Java und Python, haben die Partner die Eclipse Public License (EPL) 1.0 gewählt.

Das erste greifbare Ergebnis der Zusammenarbeit ist die Release Hydrogen vom Februar 2014. Dabei handelt es sich eigentlich um eine komplette Distribution von SDN-Software, denn Open Daylight besteht aus zahlreichen Unterprojekten, die einzelne Komponenten entwickeln. Synchronisierte halbjährliche Releases sollen für Konsistenz sorgen.

Den Kern von Open Daylight bildet der SDN-Controller. Dessen Komponenten teilen sich eine Java-Runtime und kommunizieren untereinander mit Funktionsaufrufen. Unterhalb dieser Kontrollschicht befindet sich das so genannte Southbound Interface, wie Abbildung 1 zeigt. In dieser Richtung liegt alles, was konkreter als die Control Plane ist (siehe den Grundlagen-Artikel "Teile und herrsche" in diesem Schwerpunkt).

© © opendaylight.orgAbbildung 1: Die zentrale Komponente von Open Daylight ist die in Java implementierte Kontrollschicht. Mit physischen und virtuellen Netzwerkgeräten (unten) kommuniziert sie mittels Protokoll-Plugins, mit Managementsoftware (oben) per REST-API.

An die Service Abstraction Layer (SAL), die untere Abstraktionsschicht des Controllers samt Plugin-Manager, docken Plugins für mehrere Protokolle an, die zum Steuern der Data Plane mit ihren Netzwerkgeräten dienen. Diese Multi-Protokoll-Unterstützung ist ein wichtiges Ziel des Projekts, und so finden sich dort unter anderem Plugins für Open Flow (Versionen 1.0 und 1.3), den Standard Netconf sowie das OVSDB-Management-Protokoll für Open Vswitch – schließlich kann das Netzwerk-Equipment auch virtualisiert sein.

In der Gegenrichtung liegt das Northbound Interface, das den Anschluss an Abstrakteres bildet: an Netzwerkanwendungen sowie Management- und Orchestrierungssoftware. Dazu zählt die Open-Stack-Komponente Neutron, die für die Gäste des Cloud-Computing-Frameworks Netzwerkverbindungen herstellt. Mit solcher Software kommuniziert der Controller über ein REST-API.

Praktisches

Erste Gehversuche mit Open Daylight macht der interessierte Admin am besten mit einem in Software nachgeahmten Netzwerk. Dazu bietet sich die freie Software Mininet an (siehe Artikel in diesem Schwerpunkt). Praktischerweise hält das Projekt virtuelle Linux-Appliances mit vorinstalliertem Mininet vor [3]. Sie lassen sich mit verschiedenen Virtualisierungstechnologien betreiben, die Entwickler empfehlen Virtualbox. Dessen jüngste Versionen haben allerdings gelegentlich Probleme mit den bereitgestellten OVF-Dateien. Es ist ratsam, von Hand eine Ubuntu-VM mit 1 GByte RAM anzulegen und ihr das heruntergeladene VMDK-Image zuzuweisen.

Während die virtuelle Maschine bootet, kann der Admin den Open-Daylight-Controller installieren. Voraussetzung dafür ist Java 7. Es stehen RPM-Pakete und Zip-Files zum Download [4] bereit, die Base-Ausgabe ist ausreichend. Virtuelle Linux-Appliances sowie Docker-Container sind ebenfalls im Angebot. Bei einer distributionsneutralen Installation aus dem Zip braucht man nach dem Entpacken nur das im Verzeichnis enthaltene Startskript mit »./run.sh« auszuführen.

Mit laufendem Open Daylight und einsatzbereiter Mininet-VM lässt sich ein einfaches Forwarding-Beispiel aus dem Projekt-Wiki nachvollziehen [5]. In die Konsole der virtuellen Maschine loggt sich der User »mininet« mit gleichlautendem Passwort ein. Dort erstellt er mit dem folgenden Befehl ein einfaches Netzwerk mit baumartig angeordneten Switches in drei Ebenen:

sudo mn --controller=remote,ip=IP-Adresse--topo tree,3

Der Platzhalter »IP-Adresse« ist mit der von außen erreichbaren Adresse des Hosts zu ersetzen, auf dem Open Daylight läuft. Unter »http://IP-Adresse:8080« ist die Weboberfläche des SDN-Controllers zu finden (Abbildung 2), als Username und Passwort dient »admin« .

Abbildung 2: Das in einer Mininet-VM emulierte Testnetzwerk taucht in der grafischen Darstellung im Webinterface des SDN-Controllers Open Daylight auf.

Die grafische Darstellung im Browser zeigt die sieben emulierten Switches, die etwas durcheinander aussehen. Per Drag&Drop lassen sie sich übersichtlicher anordnen. Unter dem Netzwerkdiagramm findet sich der blaue Button »Add Gateway IP Address« als die der Anwender eine IP-Adresse und Subnetz-Maske wie »10.0.0.254/8« einträgt.

Auf der Konsole der Mininet-VM lässt sich nun ein Ping von einem virtuellen Host zum anderen schicken, beispielsweise mit »h1 ping h7« . Dann wechselt man zurück zur Weboberfläche und dort zum Reiter »Troubleshooting« . Dort kann der Admin unter »Existing Nodes« einen Knoten auswählen und unter »Flows« oder »Ports« Detailinformationen zu dessen Verbindungen aufrufen.

Damit sind die Möglichkeiten von Open Daylight längst nicht ausgeschöpft. Die Software lässt sich clustern und erlaubt daneben den Fernzugriff über die Java Management Extensions (JMX). Die Service Provider Edition der Software fügt noch Plugins für die Protokolle BGP, PCEP und SNMP4SDN hinzu. Außerdem gibt es eine Virtualization Edition mit dem Virtual Tenant Manager (VTN), der den Anschluss an die Netzwerkkomponente Neutron von Open Stack herstellt.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.