Openflow ist eine Ausprägung von Software-Defined-Networks. Ein Software-Defined-Network auf Openflow-Basis beantwortet nicht nur die Anforderungen der virtualisierten Infrastrukturen, sondern ermöglicht auch ein Multipath-Forwarding und umgeht somit auch die Beschränkungen des Spanning-Trees.
Openflow ist einer von vielen Ausprägung der Software-Defined-Networks (SDN). Das Konzept an sich ist bereits seit mindestens zehn Jahren bekannt. In den vergangenen Monaten hat sich jedoch ein wahrer Hype um Openflow-Netzwerke entwickelt. Das wirklich revolutionär an diesem Konzept besteht darin, dass die Software-Defined-Networks das Potenzial haben die Virtualisierung und die Cloud-Netzwerke nachhaltig zu verändern. In einem Software-Defined-Network werden die Router und die Switches von einer zentralen Managementsoftware gesteuert. Im Fall von Openflow wird die Kontrollschicht von der Data-Forwarding-Plane abstrahiert. Ein zentralisierter Controller hat hierbei eine ganzheitliche Sicht auf das gesamte Netzwerk. Die festgelegten Netzwerkpfade werden „Flows" genannt und haben die Aufgabe, die Flowdaten über die im Netzwerk integrierten Switches und Router zu verteilen. Der Controller steuert über die Flows somit wie die zu transportierenden Daten innerhalb des gesamten Netzes weitergeleitet werden. Das ermöglicht eine granulare und dynamische Provisionierung, welche in virtualisierten Umgebungen und Cloud-Infrastrukturen benötigt wird.
Software-Defined-Networks unterscheiden drastisch sich von den heute installierten Netzwerkkonzepten. Klassische Netzwerke verfügen nur über eine verteilte und unkoordinierte Kontrollschicht. Die im Netz installierten Switches und Router pflegen dabei ihre eigenen Routing- oder MAC-Tabellen und entscheiden anhand dieser Daten über die Weiterleitung der Netzwerkströme. Dieses bewährte Verfahren kommt heute durch die Virtualisierung der IT-Infrastrukturen und durch die Dynamik der Datenströme an ihre Grenzen.
Openflow und Software-Defined-Networks verfolgen ein anderes Ziel: Das Netzwerk soll schneller reagieren und sich besser an die übrige IT-Infrastruktur anpassen. Im Gegensatz dazu sind bisherige Netzwerke statisch und konzentrieren sich auf die OSI-Schichten 2 und 3 – dieses Modell grenzt die Server-Virtualisierung aus.
In der Vergangenheit drehte sich für Netzwerker alles um Datenpakete. In Wirklichkeit geht es nicht um die Pakete, sondern nur um die Layer 2 und Layer 3. Daher müssen alle OSI-Schichten viel besser in das Netzgeschehen integriert werden, um zu verstehen, was wirklich im Netz vorgeht. Durch die Virtualisierung werden heute hochdynamische IT-Infrastrukturen benötigt und die Netzwerke müssen auf die daraus folgenden Veränderungen schnell reagieren. Das Netzwerk muss sich automatisch an VLANs, die benötigten Dienstgüten (QoS) und die Zugriffslisten (ACL) anpassen, wenn ein Administrator eine virtuelle Maschine von einem Server auf einen anderen Server verschiebt. Derzeit benötigt der Umzug einer virtuellen Maschine im Durchschnitt zwei Tage, weil der Prozess nicht automatisiert abläuft. Auf der Serverseite ist die Grundlage der Automatisierung bereits vorhanden, aber im Netzwerk werden in der Praxis die Anpassungen noch immer von einem Netzwerktechniker vorgenommen. Erst nach den Änderungen im Netzwerk kann die virtuelle Maschine umziehen.
Im Grunde genommen ist die Netzwerkwelt noch immer von den Applikationen getrennt und beschränkt sich auf das reine Weiterleiten von Paketn. Bei einem Software-Defined-Network geht es darum, die Server- und Netzwerkwelt effizienter zu gestalten und enger miteinander zu verzahnen. Es geht um die Fähigkeit, die Arbeitslasten auf den verschiedenen Koppelkomponenten zu verstehen und auf Grund der vorhandenen Informationen den Weg der Datenströme zu bestimmen. Somit geht es um eine Effizienzverbesserung und die bestmögliche Ausnutzung vorhandener Systeme.