Weil White-Label-Switches mit Picos für das Heimlabor fast unerschwinglich sind, trat Northbound Networks mit einer Kickstarter-Kampagne an, um diese Lücke zu schließen – heraus kam der Zodiac FX.
Die meisten Test- und Labor-Umgebungen für Open Flow bauen Admins und Forscher mit Open Vswitch [1]. Das geschieht häufig mit der Mininet-Umgebung [2], die Open Vswitch mit Linux-Namespaces verbindet, um verschiedene Geräte an den virtuellen Switches zu simulieren. Hardware-Switches mit Open-Flow-Support kosten einen gut vierstelligen Betrag (etwa White-Label-Switches mit Picos) und sind für das Heimlabor unerschwinglich.
Mit Hilfe einer Kickstarter-Kampagne entwickelte die Firma Northbound Networks [3] den Zodiac FX, einen 100-MBit-Switch mit vier Ports, den eine Atmel-CPU steuert. Die Besonderheit ist, dass er das Open-Flow-Protokoll [4] in Version 1.3 unterstützt und eine quelloffene Firmware an Bord hat.
Die Hardware
Abbildung 1 zeigt das Platinchen von oben. Von den vier Schnittstellen sind nur die ersten drei (von links) für die Flow-Steuerung mit Open Flow verfügbar. Die vierte spricht mit dem Open-Flow-Controller. Der bringt die Regeln (Flows) auf das Gerät und reguliert, wie die Daten durch den Switch laufen und was der Admin eventuell an Paketen ändern will.
Die Stromversorgung erfolgt per USB-Kabel, das auch am angeschlossenen PC die Konsole zur Grundkonfiguration bereitstellt. Mit einem Terminalprogramm wie »minicom« nimmt der Admin über »/dev/ttyACM0« Verbindung auf.
Wichtig auf der Platine sind auch die Jumper »Erase« und »Master« . Mit dem ersten löscht der Admin die alte Firmware, bevor er neue aufspielt. Der zweite legt für den Switch die Open-Flow-Rolle »master« fest. Die Verbindungsdaten: 115200 Baud mit 8N1.
Die Bedienung
Das CLI erweist sich als sehr minimalistisch, was bei dem geringen Umfang der Firmware-Images nicht verwundert. Möglichkeiten, ein Kommando mit [Tab] zu vervollständigen oder sich die Optionen mit [?] anzeigen zu lassen, wie es Netzwerk-Admins von den meisten Geräten kennen, fehlen.
Immerhin bringt das CLI ein »help« -Kommando mit. Generell unterscheidet es zwischen den vier Modi »base« , »config« , »debug« und »openflow« . Vom Basismodus aus wechselt der Admin in die anderen Modi und erhält mit Hilfe der Kommandos »show version« , »show ports« und »show status« Informationen zur Softwareversion, zum Linkstatus der Ports sowie zum Gerät selbst.
Über »config« gelangt der Admin in den Konfigurationsmodus. Hier ändert er am besten die Netzwerkkonfiguration über:
set ip address Adresse set netmask Netzmaske set gateway Adresse
Der Anschluss an den Open-Flow-Controller erfolgt mit den Kommandos:
set of-controller IP-Adresse set of-port Portnummer
Ist der vierte Port so angeschlossen, dass die Pakete des Switch den Weg finden, nimmt der Zodiac Verbindung mit dem Controller auf. Im Konfigurationsmodus kann der Admin noch VLANs definieren und diesen die drei Ports zuordnen. Wichtig sind auch die Kommandos »show config« , um die aktuelle Konfiguration anzuzeigen, sowie »save« , um die Konfiguration zu speichern. Mit »exit« gelangt der Admin wieder zurück in den Basismodus. Weitere Funktionen, etwa Tunnelprotokolle, stehen (noch) nicht zur Wahl.
Im »openflow« -Modus zeigt das Kommando »show status« den Verbindungsstatus zum Controller an, während »show tables« den Füllstand der Open-Flow-Tabellen auflistet und »show flows« die installierten Flows. Über »clear flows« kann der Admin die installierten Flows löschen, es gibt aber kein CLI-Kommando, um Flows anzulegen.
Als Vierter im Bunde hilft der »debug« -Modus Firmware-Entwicklern beim Auslesen und Beschreiben einzelner Register.
Interoperabilität
Im Praxistest zeigt sich immer wieder, dass das Label “Spricht Open Flow” keine klare Ansage ist. Vielmehr schwankt der Open-Flow-Support von Hersteller zu Hersteller. Zum einen stellt sich die Frage, welche Open-Flow-Version zum Einsatz kommt und welche Filter (Matches) und Aktionen diese unterstützt. Zum anderen funktioniert der Handshake zwischen Controller und Switch auch nicht immer (was aber durchaus auch am Controller liegen kann).
Im Test des Zodiac FX blieb der Verbindungsaufbau zwischen Switch und Open-Daylight-Controller über vier Firmware-Generationen des Switch sowie zwei Service-Releases von Open Daylight [5] hinweg stets an der gleichen Stelle hängen. Eine Diskussion im Forum von Northbound Networks, in die auch Paketdumps involviert waren, konnte zwar die Stelle im Handshake finden, an der das Problem auftrat, zum Testzeitpunkt gab es jedoch noch keine Lösung.
Im Zusammenspiel mit Floodlight [6] funktionierte die Kommunikation dagegen einwandfrei. Hier spielte der Zodiac seine Stärken aus. Der Switch akzeptierte alle getesteten Filter (auch IPv6-Adressen und MPLS-Felder) und alle Aktionen, »show flows« zeigte sie auch an. Allerdings versteckten sich in der Firmware-Version 0.57 zum Testzeitpunkt noch ein paar Fehler in der Darstellung.
Um die Firmware zu aktualisieren, ist das Tool Sam-ba [7] der Firma Atmel erforderlich, das es auch für Linux gibt. Das Upgrade erfordert etwas Handarbeit: Bei abgestecktem Switch muss der Admin zunächst den Erase-Jumper schließen. Dann versorgt er den Switch 5 Sekunden lang mit Strom, um ihn zurückzusetzen. Er nimmt ihn danach wieder vom Netz, öffnet den Jumper und schließt nun das Gerät wieder an.
Nach dem Start des Tools wählt der Admin das Modell aus. Im Anschluss erscheint der Dialog aus Abbildung 2. Hier wählt der Admin das neue Firmware-Image aus, lädt es hoch und teilt dem Switch noch mit, dass er die neue Firmware booten soll. Nach dem nächsten An- und Abstecken steht die neue Firmware bereit, im Test überlebte die Konfiguration das Upgrade.
Fazit
Der Zodiac kostet rund 100 australische Dollar, was inklusive Versand je nach Wechselkurs etwa 65 Euro sind, ohne Zollgebühren. Dafür erhält der Käufer eine nette kleine Platine, um auch außerhalb der virtuellen Welt Experimente mit Open Flow durchzuführen. Für 350 AUD gibt es unter [3] zudem noch das Lab Pack mit vier Switches.
Das Gerät eignet sich sicher nicht für den Produktiveinsatz, aber als Entwicklungsumgebung ist es eine erfreuliche Ergänzung zu Open Vswitch.
Infos
- Open Vswitch: http://openvswitch.org
- Mininet: http://mininet.org
- Northbound Networks: http://northboundnetworks.com
- Marc Körner, “Alles im Fluss”: Linux-Magazin 08/14, S. 32, https://www.linux-magazin.de/Ausgaben/2014/04/Open-Flow/
- Open Daylight: http://www.opendaylight.org
- Project Floodlight: http://www.projectfloodlight.org
- Sam-ba: http://www.atmel.com/tools/atmelsam-bain-systemprogrammer.aspx







