Was ist NVGRE (Netzwerkvirtualisierung mit Generic Routing Encapsulation)?
NVGRE steht für „Network Virtualization using Generic Routing Encapsulation“. Es handelt sich um ein Tunneling-Protokoll , das GRE (Generic Routing Encapsulation) verwendet, um Ethernet-Frames in IP-Pakete zu kapseln, wodurch die Erstellung virtueller Layer-2-Segmente (L2) auf Layer-3-Netzwerken (L3) ermöglicht wird.
Seit Mitte der 1990er Jahre ist VLAN (Virtual LAN) eine häufig verwendete Technologie zum Erstellen logischer (virtueller) L2-Segmente auf physischen Switches. Der VLAN-Standard lässt jedoch nur eine 12-Bit-VLAN-ID zur Identifizierung logischer L2-Segmente zu, was die Anzahl der Segmente auf etwa 4.000 begrenzt und ihn für große Netzwerke ungeeignet macht. NVGRE wurde entwickelt, um diese Einschränkung zu beheben.
Mit NVGRE wird die VSID (Virtual Subnet ID) zur Identifizierung logischer L2-Segmente auf 24 Bit erweitert, wodurch die Erstellung von bis zu ca. 16 Millionen L2-Segmenten ermöglicht wird. Da NVGRE logische L2-Segmente auf L3-Netzwerken aufbaut, ermöglicht es außerdem die Erstellung einzelner logischer L2-Segmente, die sich über mehrere durch Router verbundene VLANs erstrecken.
Diese Funktion ist insbesondere in Situationen wie der Livemigration virtuelle Maschine zwischen verschiedenen physischen Servern von Vorteil. Normalerweise können Livemigrationen über L2-Domänen zu Problemen führen, beispielsweise zu Änderungen am IP-Subnetz, wodurch neue IP-Adressen für die migrierten virtuellen Maschinen erforderlich werden und clientseitige Anpassungen zum Zugriff auf die aktualisierten Adressen erforderlich sind. Durch die Aufrechterhaltung eines einheitlichen L2-Segments auch über Router hinweg mildert NVGRE diese Probleme jedoch wirksam.
Die Verwendung von Tunnelprotokollen zum Erstellen logischer Netzwerke über vorhandenen physischen Netzwerken wird als Netzwerk-Overlay bezeichnet. Zu den anderen Technologien, die Netzwerk-Overlay verwenden, ähnlich wie NVGRE, gehört VXLAN. Die Netzwerkvirtualisierung durch Overlay-Techniken ist eine Schlüsselkomponente bei der Implementierung von SDN (Software Defined Networking), einem softwarebasierten Ansatz zur Verwaltung von Netzwerkkonfigurationen.