Was ist OpenFlow?

OpenFlow ist eine Technologie, die SDN (Software-Defined Networking) ermöglicht – einen softwaregesteuerten Ansatz zur Netzwerkkonfiguration.

Traditionell vereinten Netzwerkgeräte zwei zentrale Funktionen: die Steuerungsebene (Control Plane), die für die Verwaltung der Routen zuständig ist, und die Datenebene (Data Plane), die die Weiterleitung von Daten übernimmt. Das entscheidende Merkmal von OpenFlow ist die Trennung dieser beiden Funktionen. Der OpenFlow-Controller ist für die Steuerungsebene verantwortlich (in der Regel als Software implementiert), während der OpenFlow-Switch die Datenebene übernimmt (üblicherweise als Hardware ausgeführt, wobei auch Softwareimplementierungen wie Open vSwitch verfügbar sind).

Ein weiteres wichtiges Merkmal von OpenFlow ist die Verwendung von Flow-Tabellen, in denen Regeln für die Datenweiterleitung definiert sind. Flow-Tabellen legen Bedingungen für die Paketverarbeitung fest, etwa MAC-Adressen, IP-Adressen, Portnummern, VLAN-IDs oder MPLS-Labels, sowie die entsprechenden Aktionen, beispielsweise das Weiterleiten von Paketen an bestimmte Ports, das Ändern bestimmter Felder oder das Verwerfen von Paketen.

Mithilfe von Flow-Tabellen kann OpenFlow Funktionen übernehmen, die üblicherweise von Layer-2-Switches (L2), Routern oder Layer-3-Switches (L3) ausgeführt werden. Darüber hinaus kann es ein ähnliches Verhalten wie Firewalls oder Load Balancer umsetzen. OpenFlow unterstützt außerdem Failover-Mechanismen, die bei Ausfall eines Switches eine automatische Umleitung über alternative Pfade ermöglichen, sowie eine mit VLANs vergleichbare Netzwerksegmentierung. Netzwerke, die aus mehreren OpenFlow-Switches bestehen, werden zentral vom OpenFlow-Controller verwaltet und gesteuert.

OpenFlow bietet eine äußerst flexible und programmierbare Möglichkeit, Netzwerkkonfigurationen und -funktionen zu definieren und zu verwalten, und bietet damit erhebliche Vorteile gegenüber herkömmlichen hardwarebasierten Netzwerkinfrastrukturen.