Die Cloud-Provider und die großen Internet-Unternehmen sind die Vorreiter bei der Umsetzung von Openflow und Software-Defined-Networks. Der klassische Enterprise-Markt beginnt gerade erst mit der Umsetzung dieser neuen Funktionen. Natürlich werden dort diese Funktionen im Bereich der Netzwerkvirtualisierung für die privaten Clouds genutzt. Sollen in einem Rechenzentrum viele Hundert VMs dynamisch bereitgestellt werden, erfordert die Server-Virtualisierung eine fast nicht mehr zu beherrschende VLAN-Komplexität. Aber Openflow und SDN dienen nicht ausschließlich der Vereinfachung der Netzwerk-Virtualisierung, sondern bieten auch neue Möglichkeiten zur Erhöhung der Sicherheit und Isolierung von Daten sowie Anwendungen - Betrieb und Bereitstellung neuer Services werden somit vereinfacht.
Mit Hilfe von Openflow und SDN lassen sich Switches und Router im Netzwerk entsprechend der jeweiligen Sicherheitsanforderungen und Anwendungen unabhängig von der physikalischen Topologie (Schicht 2 und 3) dynamisch steuern. Aus Sicht von HP stellen Openflow und SDN jedoch nur Werkzeuge bereit, um die Dynamik der neuen Applikationen für die verschiedenen Anwendungsfälle granularer umzusetzen. Anfang des Jahres hat HP eine Reihe neuer Openflow-fähiger Switches für das Unternehmensumfeld veröffentlicht. Diese sind mit den Controllern anderer Hersteller in diesem Bereich - Juniper, Cisco, NEC, Big Switch, NTT, NoX, Beacon, Floodlight und Trema - kompatibel.
Ein Openflow-Switch besteht aus einer Flow-Tabelle, einem Secure-Channel, der eine Verbindung zu einem externen Controller herstellt, und dem „Openflow“-Protokoll, über das die Switche mit dem Controller kommunizieren. Ein Openflow-switch wird über einen externen Controller gesteuert. Pakete, für die er keinen Eintrag in der Flow-Tabelle findet, werden an den Controller gesendet. Er entscheidet, wie die Pakete verarbeitet werden sollen und sendet seine Entscheidung an den Switch. Darüber hinaus ist der Controller in der Lage, Forwarding-Einträge in die Flow-Tabelle einzufügen oder bestimmte Einträge zu entfernen. Zu einem Flow gehören alle Pakete, welche die gleichen Eigenschaften aufweisen. Dazu werden die Header-Felder betrachtet. Pakete mit gleichen Header-Feldern gehören zum selben Flow. Somit besteht eine Flow-Tabelle aus einer ganzen Menge von Einträgen. Die Header-Felder setzen sich aus einem Zwölftupel zusammen, das aus Paket-Headern der Schichten 2 bis 4 sowie dem Eingangs-Port besteht. Anhand der Header-Felder wird in der Flow-Tabelle nach einem passenden Eintrag gesucht. Findet sich für ein eingehendes Paket in der Flow-Tabelle ein passender Eintrag, wird die dazugehörige Aktion ausgeführt. Es lassen sich auch mehrere Aktionen pro Eintrag definieren. Ist dies der Fall, muss bei der Ausführung der Aktionen die Reihenfolge beachtet werden. Sind für einen Eintrag keine Aktionen festgelegt, impliziert das, dass das Paket verworfen wird. Findet sich für ein Paket kein Eintrag in der Tabelle, wird der Controller kontaktiert, um festzustellen, was damit geschehen soll.