Suchen

Definition Was ist Open vSwitch?

Open vSwitch ist eine unter Apache-Lizenz stehende freie Software zur Realisierung virtueller Multilayer-Switches. Die Software unterstützt zahlreiche Virtualisierungshypervisoren und Linux-Distributionen. Der virtuelle Switch bietet einen großen Umfang an Switching-Funktionen inklusive Features wie 802.1Q VLAN-Trunking oder Quality of Service und lässt sich über Standard-Interfaces und -Protokolle managen.

Firma zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - stock.adobe.com)

Open vSwitch ist eine seit dem Jahr 2016 unter der Schirmherrschaft der Linux Foundation stehende Software. Sie ist unter Apache-Lizenz 2.0 frei verfügbar. Im Jahr 2010 erschien die Version 1.0 des virtuellen Switches. Mit der Software lassen sich virtuelle Multilayer-Switches realisieren. Zahlreiche Linux-basierte Virtualisierungsplattformen und Hypervisoren werden unterstützt. Darunter KVM, Xen und VirtualBox.

Seit der Kernelversion 3.3 aus dem Jahr 2012 ist Open vSwitch Bestandteil des offiziellen Linux-Kernels. Die virtuelle Switch-Software ist in C geschrieben und lässt sich recht einfach in andere Umgebungen portieren. Der Quelltext des Switches ist über GitHub verfügbar. Neben Standard-Switching-Funktionen wie 802.1Q VLAN-Trunking oder Port Aggregation bietet der voll funktionale Layer-2-Switch eine Vielzahl weiterer Funktionen wie Quality of Service (QoS), GRE Tunneling und vieles mehr. Für das Management des Switches stehen Standard-Interfaces und -Protokolle wie NetFlow, sFlow, IPFIX oder RSPAN zur Verfügung.

Beteiligt an der Entwicklung des Open vSwitches sind im Linux Foundation Project große Unternehmen wie HP, IBM, Cisco, VMware, Intel, Red Hat, Huawei und einige mehr. Die Software wird weltweit in teilweise sehr großen produktiven Umgebungen und im Cloud Computing eingesetzt. Für Konzepte wie das Software-Defined Networking ist der virtuelle Switch als frei verfügbare Lösung eine oft unverzichtbare Komponente. Die aktuelle Version der Software ist die Version 2.14.0 (Stand August 2020).

Unterstützte Plattformen

Der Open vSwitch unterstützt eine Vielzahl an Plattformen und Hypervisoren. Dazu gehören Xen, XenServer, KVM und VirtualBox. Die Switching Software kann innerhalb eines Hypervisors laufen oder als Control Stack einer Switching Hardware installiert sein. Es existieren Portierungen der Software für verschiedene Switching Chipsets. Zudem ist die Software Bestandteil des Linux Kernels. Software-Pakete des Switches sind für Distributionen wie openSUSE, Ubuntu, Debian oder Fedora und andere erhältlich. Auch die Betriebssysteme FreeBSD und NetBSD unterstützen den Open vSwitch.

Architektur und Funktionsweise des Open vSwitches

Der Open vSwitch besteht aus verschiedenen Komponenten. Zentrale Komponenten sind ovs-vswitchd und ovsdb-server. ovs-vswitchd hält die Verbindung zur Konfigurationsdatenbank, nimmt Konfigurationsbefehle an und leitet sie an die ausführende Einheit beispielsweise das Kernelmodul weiter. Die Komponente ist für die Kontrolle und das Management der virtuellen Switche auf einer Maschine verantwortlich.

Der ovsdb-server übernimmt die Aufgabe des persistenten Speicherns der Konfiguration. Dies geschieht in einer JSON-Datenbank. Er fungiert als Server für diese Datenbank. Über das Tool ovs-vsctl lassen sich Konfigurationsänderungen direkt in die Datenbank eintragen. Der Datenbank-Server und der Switch müssen nicht auf demselben Server-System laufen. Für den Zugriff auf die Datenbank ist im RFC 7047 ein eigenes Kommunikationsprotokoll definiert. Auch einige Hardware-Switche unterstützen dieses Protokoll.

Unterstützte Funktionen des virtuellen Switches

Der Open vSwitch ist ein voll funktionaler Layer-2-Switch. Er unterstützt die üblichen Switching-Funktionen wie 802.1Q VLAN-Trunking, Port Aggregation, Policing, Port Mirroring, Trunk- und Access-Ports, Multicast-Snooping, Quality of Service (QoS), Multi-Table-Forwarding, Flow-Caching und vieles mehr. Darüber hinaus bietet der virtuelle Switch noch zahlreiche weitere Funktionen wie:

  • Unterstützung von Management-Protokollen und -Schnittstellen wie NetFlow, sFlow(R), SPAN, RSPAN, IPFIX
  • GRE Tunneling
  • weitere Tunnelprotokolle und Virtualisierungsmethoden wie Geneve, VXLAN, STT (Stateless Transport Tunneling), LISP (Locator/ID Separation Protocol) inklusive IPSec
  • Link Aggregation Control Protocol (LACP)
  • Connectivity Fault Management nach IEEE 802.1ag
  • OpenFlow inklusive zahlreichen Erweiterungen
  • High-Performance Forwarding
  • Spanning Tree Protocol (STP nach IEEE 802.1D-1998) und Rapid Spanning Tree Protocol (RSTP nach IEEE 802.1D-2004)
  • Hierarchical Fair-Service Curve (HFSC qdisc)
  • Source-MAC-Loadbalancing
  • IPv6

Gründe für den Einsatz des Open vSwitches

In virtuellen Umgebungen benötigen Hypervisoren die Fähigkeit, Datenverkehr auf dem Layer 2 zwischen verschiedenen virtuellen Maschinen und externen Schnittstellen zu switchen. Die virtualisierten Umgebungen verhalten sich hoch dynamisch. Open vSwitch eignet sich für virtuelle Multi-Server-Installationen und ist wie die virtuellen Maschinen logisch von der zugrundeliegenden Hardware abstrahiert.

Im Funktionsumfang unterscheidet sich der virtuelle Switch nicht von vollwertigen Hardware-basierten Layer-2-Switches. Er ist in der Lage, die Netzwerk-Schnittstellen der virtuellen Maschinen zu identifizieren und deren Status in seinen Switching-Tabellen zu berücksichtigen. Werden VMs zwischen verschiedenen Hosts verschoben, lässt sich auch die zugehörige Switch-Konfiguration einfach migrieren.

Die Dynamik der virtuellen Umgebung stellt den virtuellen Switch vor keine Probleme. Gleichzeitig lässt er sich wie Hardware-basierte Switches und andere Netzwerkkomponenten mit gleichen Protokollen und Schnittstellen wie NetFlow, IPFIX oder sFlow managen. Der Open vSwitch ist prädestiniert für dynamische und automatisierte Switching-Aufgaben in großen Linux-basierten virtuellen Installationen.

(ID:46936012)

Über den Autor