Das Rückgrat eines softwaregesteuerten Rechenzentrums (Software-Defined Datacenter, SDDC) bildet das Netzwerk. Die Virtualisierung der gesamten Netzkommunikation inklusive Routing, Firewalls, Load-Balancing und Remote Access per Software-Defined Network (SDN) ermöglicht eine zuvor nicht gekannte Flexibilität. LANline hat die SDN-Lösungen von VMware und Microsoft genauer untersucht.
Die Virtualisierung von Netzwerkfunktionen ist schon immer ein fester Bestandteil von Plattformen für die Server-Virtualisierung. Im Hypervisor integrierte virtuelle Switches steuern die Netzwerkkommunikation der Hosts und der darauf laufenden VMs. Die in den vergangenen Jahren unter dem Begriff SDN eingeführten Produkte gehen darüber aber weit hinaus. Sie implementieren auf Basis von virtuellen Appliances eine komplexe mehrschichtige virtualisierte Netzwerkinfrastruktur, die mittels Network Function Virtualization (NFV) unter anderem Switching-, Routing-, Firewall-, Load-Balancing- und Remote-Access-Gateway-Funktionen bereitstellt.
Ein großer Vorteil: Ein SDN ermöglicht die Mikrosegmentierung des Netzwerks. Durch die virtualisierten Overlay-Netzwerke sind keine VLANs mehr nötig, um die Netze verschiedener Mandanten oder Kunden voneinander zu trennen. Mit klassischer VLAN-Technik sind maximal 4.096 virtuelle Netze möglich. VXLAN dagegen verfügt über ein 24-Bit-Feld für die Netzwerkidentifizierung und unterstützt damit mehr als 16 Millionen Netz-IDs (Virtual Network Identifiers, VNIs). Zudem ist es dank SDN kein Problem, wenn unterschiedliche Kunden dieselben IP-Adressbereiche verwenden. Dies erleichtert auch Migrationen, weil man die vorhandenen IP-Adressen bei Netzumzügen beibehalten kann.
Der Aufbau einer SDN-Infrastruktur ist bei den meisten Anbietern ähnlich. In der Regel setzt sich ein SDN aus drei Funktionsebenen zusammen. Auf der Management-Ebene erfolgt die Konfiguration der SDN-Komponenten. Die hier vorgenommenen Einstellungen werden meist via REST-API an die Steuerungsebene (Control Layer) weitergeleitet. Diese enthält mit dem Netzwerk-Controller die zentrale Steuerungsinstanz eines SDNs, die alle Netzwerkkomponenten verwaltet. Deshalb sollten in einem SDN immer mindestens drei redundante Controller-Instanzen vorhanden sein. Die Datenebene schließlich besteht aus den Netzkomponenten, die die Datenpakete transportieren. Dieser Artikel befasst sich mit den SDN-Lösungen für die Virtualisierungsplattformen von VMware und Microsoft. Es gibt auch andere Hersteller, die SDN-Lösungen anbieten. Aus dem Netzwerkbereich sind dies unter anderem Cisco, HPE und Juniper.
Microsoft hat in früheren Windows-Versionen auf das GRE-Verfahren (Generic Route Encapsulation) gesetzt, das unter anderem für VPN-Verbindungen zum Einsatz kommt. GRE konnte sich aber am Markt nicht als SDN-Protokoll durchsetzen. Deshalb unterstützt Microsoft ab WS2016 zusätzlich zu GRE das VXLAN-Protokoll, das sich als Standardtechnik für virtualisierte Overlay-Netzwerke etabliert hat. Das logische Netz, über das die Kunden-VMs miteinander kommunizieren, heißt bei Microsoft HNVPA (Hyper-V Netzwerk-Virtualisierung mit Provider-Adressen). Das Ver- und Entpacken der VXLAN-Pakete erfolgt in den virtuellen Hyper-V-Switches.
Die Server-Rolle des SDN Network Controllers steht nur in den Datacenter-Editionen von WS2016 und WS2019 zur Verfügung. Diese Rolle installiert man in einem Hyper-V-Cluster auf dedizierten virtuellen Windows-Servern. Die Northbound-REST-API des Controllers nimmt Instruktionen von den Management-Tools entgegen, wie der Netzverkehr zu behandeln ist, beispielsweise welche Pakete zu priorisieren sind. Die Southbound-API kommuniziert über ein Management-Netz mit den virtuellen SDN-Netzkomponenten und den physischen Geräten, etwa Top-of-the-Rack-Switches. Eigenständige VMs stellen die Load-Balancing- und Gateway-Funktionen bereit. Die RAS-Gateways unterstützen Site-to-Site VPN, Point-to-Site VPN, GRE Tunneling und Dynamic Routing mit BGP. Der Network Controller konfiguriert auch die Firewall-Regeln und aktiviert sie auf den VMs über den jeweiligen vSwitch-Port als Host-Agent-Firewall. Die Verteilung der Richtlinien an die Netzkomponenten erfolgt über die Hyper-V-Switch-Erweiterung Microsoft Azure VFP Switch Extension (VFP: Virtual Filtering Platform).
WS2019 bietet mehrere neue SDN-Funktionen. Mit D-VMQ (Dynamic Virtual Machine Queue) lässt sich die Netzwerklast bei hoher Auslastung auf mehrere CPUs verteilen. Der Netzwerkdatenverkehr zwischen VMs lässt sich nun per DTLS (Datagram Transport Layer Security) verschlüsseln. Die Funktion Virtual Network Peering ermöglicht es, zwei virtuelle VXLAN-Netze so miteinander zu verbinden, dass sie sich wie ein einziges Netz darstellen. Dies ist unter anderem bei der Verbindung von zwei RZ-Standorten hilfreich, weil damit die logischen IP-Adressen des Overlay-Netzwerkes immer gleich bleiben. Zudem unterstützt WS2019 für SDN nun auch IPv6-Konfigurationen
Der Administrator verwaltet die Network Controller mit PowerShell-Cmdlets. Die Konsole des Virtual Machine Managers 2016 und 2019 bietet eine grafische Oberfläche für das SDN-Management. Für hyperkonvergente Hyper-V-Cluster auf Basis von Storage Spaces Direct (S2D) hat Microsoft zudem in das Browser-basierte Windows-Admin-Center SDN-Verwaltungsfunktionen integriert. Für hybride Umgebungen mit Azure-Cloud-Anbindung stehen weitere Werkzeuge bereit.
Ein Microsoft-SDN lässt sich auf mehreren Wegen installieren, die alle auf der Ausführung von PowerShell-Befehlen basieren. So ist eine manuelle Installation möglich, indem man alle erforderlichen Befehle per PowerShell oder über die grafische VMM-Konsole einzeln nacheinander ausführt. Wesentlich komfortabler ist es, die auf der Microsoft-Website verfügbaren PowerShell-Skripte zu verwenden. Hier finden sich fertige Skripte für eine SDN-Installation mittels VMM 2016 oder VMM 2019 sowie ein grafischer Power-Shell-Assistent. Mit diesem SDN Express UI Wizard lässt sich eine komplette SDN-Infrastruktur auf einem WS2019-Hyper-V-Cluster einrichten.
Der Administrator gibt zunächst im Assistenten die Konfigurationsdaten zur Erstellung der VMs für Network Controller, Load-Balancer, Gateway-Router sowie für die Management- und Kundennetze ein. Es empfiehlt sich, diese Daten am Ende des Dialogs in eine Datei zu exportieren, falls man das SDN-Setup aufgrund eines Fehlers nochmal neu starten muss. Vor dem Start des Setup-Skripts sind zudem die Installationsvoraussetzungen zu prüfen. Zu diesen zählen unter anderem DNS- und DHCP-Server sowie eine VHDX-Datei mit WS2019, mit der man die verschiedenen SDN-VMs erzeugt. Der Administrator kann wählen, ob das Setup eine Multi-Node-Konfiguration mit drei Network Controllern einrichtet oder nur einen einzelnen Controller installiert.
Das Skript erzeugt im ersten Schritt die VMs für Network Controller, Load-Balancer und Gateway-Router. Dann wird der Network Controller Cluster eingerichtet und anschließend die Controller konfiguriert. Im weiteren Verlauf richtet das Skript die Load-Balancer- und Gateway-Funktionen gemäß den im Wizard angegebenen Parametern ein. Damit ist die technische Grundlage für ein SDDC gelegt, das auf einem Microsoft-SDN basiert. Um die Vorteile eines SDNs voll auszuschöpfen, sollte der Administrator als nächsten Schritt eine Automatisierung von Routinetätigkeiten angehen. Daür bietet Microsoft mit der System-Center-Plattform und mit diversen Azure-Tools für hybride Umgebungen einen umfangreichen Werkzeugkasten.
Die SDN-Lösung NSX-V (NSX Datacenter for vSphere) von VMware ist ebenfalls bereits seit mehreren Jahren verfügbar. VMware bietet zudem mit NSX-T ein eigenes Produkt für Service-Provider und größere Unternehmen mit Hybrid-Cloud-Umgebungen an. NSX-T verwendet anstelle von VXLAN das Kapselungsverfahren Geneve. Die virtuellen Switches sind hier nicht mit dem VMware vSwitch, sondern mit Open vSwitch implementiert. Die T-Variante unterstützt zudem zusätzlich zu ESXi den KVM-Hypervisor und bietet eine Integration in Kubernetes für das Container-Management. Dieser Beitrag konzentriert sich jedoch auf NSX-V, mit dem sich ein SDDC auf Basis von VMware-vSphere-Clustern betreiben lässt.
VMware bietet auf seiner Webseite mehrere NSX-Hands-on-Labs an, die sich für bis zu zwei Monate kostenfrei nutzen lassen. Sie stellen eine NSX-Testumgebung bereit, die der Nutzer im Rahmen von Lab-Übungen per Fernzugriff konfigurieren kann. Für die Planung und Bereitstellung einer SDN-Umgebung mit NSX-V sind diese Labs eine gute Hilfe.
Auch NSX-V setzt sich aus Management-, Steuerungs- und Datenebene zusammen. Der NSX-Manager lässt sich von der VMware-Website als OVA-VM herunterladen und in vCenter importieren. Die Steuerung der Netzkomponenten erfolgt über eine REST-API, die eine Cloud-Integration ermöglicht. Nach dem Hochfahren des NSX-Managers verbindet sich der Administrator zunächst mit der Web-Oberfläche der Appliance, um das System im vCenter zu registrieren. Zudem kann er hier die Syslog- und Backup-Einstellungen konfigurieren. Anschließend ist der NSX-Manager über vCenter unter dem Menüpunkt "Networking and Security" erreichbar. Hier finden sich mehrere Assistenten für die Installation und Konfiguration der NSX-Komponenten.
Im ersten Schritt erstellt der Administrator drei NSX-Controller für den hochverfügbaren Controller-Cluster. Er legt dabei einen IP-Adresspool fest, aus dem die NSX-Komponenten ihre IP-Adressen erhalten. Zudem weist er jede Controller-VM einem ESXi-Host, Datastore und Netzwerk zu. Dann bereitet er die Hosts des ESXi-Clusters für NSX-V vor. Der Host-Preparation-Assistent installiert die NSX-Kernel-Module auf den Hosts und erstellt die Steuerungs- und Management-Ebene für die SDN-Infrastruktur. Über den Punkt "Logical Network Settings" definiert der Administrator einen Pool für die VXLAN Network Identifiers (VNIs) und konfiguriert auf jedem ESXi-Host die VXLAN-Tunnel-Endpunkte (VTEP). Schließlich sind noch sogenannte Transportzonen zu erstellen, die festlegen, wie die verschiedenen Netze miteinander verbunden sind. Damit ist die Grundlage für ein SDN mit VXLAN-Overlay-Netzwerken gegeben.
Der NSX-Controller ist der zentrale Steuerungspunkt für alle logischen Switches innerhalb eines VXLAN-Netzwerks und enthält Informationen zu allen Hosts, Switches und Routern. Die NSX vSwitches basieren auf dem vSphere Distributed Switch (VDS). Sie bieten zusätzliche Service-Komponenten, die innerhalb des Hypervisor-Kernels laufen und Dienste wie verteiltes Routing oder logische Firewalls bereitstellen. Durch die Controller-basierte VXLAN-Implementierung ist es nicht erforderlich, im physischen Netzwerk Multicast zu konfigurieren. Im Unicast-Modus verwaltet der NSX-Controller die Steuerungsebene mittels Head-End Replication, die keine Multicast-IP-Adressen benötigt. NSX unterstützt zudem ein softwarebasiertes Layer-2-Bridging, das traditionelle VLANs mit VXLAN-Netzen verbinden kann.
Für die Kommunikation zwischen verschiedenen VXLAN-Netzen sind bei NSX-V sogenannte Edge Gateways zuständig, die über vCenter als virtuelle Appliance bereitgestellt werden. Sie lassen sich entweder als Distributed Logical Router (DLR) oder als Edge Services Gateway konfigurieren. Ein DLR sorgt dafür, dass die Datenebene im Kernel der ESXi-Hosts ausgeführt wird. Dadurch lassen sich Pakete zwischen VMs, die sich zwar auf demselben Host, aber in unterschiedlichen VXLAN-Netzen befinden, direkt über den Host routen. Das Routing zwischen den DLR- und Edge-Services-Appliances erfolgt über das OSPF-Protokoll. Für die Kommunikation mit externen Netzen lässt sich auf dem Edge Services Gateway zusätzlich BGP aktivieren.
Ein Edge Services Gateway kann neben den Routing-Funktionen weitere Dienste bereitstellen. Dazu zählen DHCP, VPN, NAT, Load-Balancing, Firewall und Bridging. Die Funktion Equal Cost Multi-Path Routing (ECMP) ermöglicht es, die Performance und Verfügbarkeit der Edge-Service-Systeme zu erhöhen. Denn mit ECMP lassen sich Pakete über mehrere redundante Pfade weiterleiten. Für eine Automatisierung der Konfiguration und Verwaltung von NSX-V bietet VMware unter anderem die Lösung vRealize Automation an.
Software-Defined Networking bietet im Zusammenspiel mit Network Functions Virtualization (eine bisher nicht gekannte Flexibilität beim Aufbau und der Verwaltung virtualisierter Netzwerke. Die VXLAN-Technik ermöglicht eine sehr feine Segmentierung (Mikrosegmentierung) und damit eine bessere Abschottung der Netzsegmente voneinander. Die logischen Overlay-Netzwerke vereinfachen das IP-Adressen-Management deutlich, weil sich Änderungen von IP-Adressen in den Kundennetzen nicht mehr auf die logischen Netzsegmente auswirken. Ein SDN stellt zudem eine einheitliche Softwareplattform für die Netzwerkverwaltung zur Verfügung. Diese lässt sich mit Orchestrierungs-Tools weitreichend automatisieren. Nicht zu unterschätzen ist allerdings die Komplexität, die mit dem Aufbau und der Verwaltung einer SDN-Infrastruktur verbunden ist. Eine sorgfältige Planung der Netzwerkinfrastruktur durch LAN-Experten bleibt auch in einem Software-Defined Datacenter unverzichtbar.
Info: Microsoft
Web: www.microsoft.com
Info: VMware
Web: www.vmware.com
VMware NSX Hands-on Labs: www.vmware.com/de/products/nsx/nsx-hol.html
Microsoft SDN-Dokumentation: docs.microsoft.com/de-de/windows-server/networking/sdn/