NVGRE. Network Virtualization using Generic Routing Encapsulation NVGRE



Ähnliche Dokumente
VXLAN. Virtual Extensible LAN VXLAN. Autor: Prof. Dr.-Ing. Anatol Badach

VRRP. Bild zeigt die Adressangaben in einem IP-Paket bei dessen Übermittlung über die Grenze eines IP-Subnetzes hinweg.

Routing im Internet Wie findet ein IP Paket den Weg zum Zielrechner?

Anbindung des eibport an das Internet

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Thema: VLAN. Virtual Local Area Network

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version Deutsch

Einführung in IP, ARP, Routing. Wap WS02/03 Ploner, Zaunbauer

WLAN Konfiguration. Michael Bukreus Seite 1

Man unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt.

DNÜ-Tutorium HS Niederrhein, WS 2014/2015. Probeklausur

ILNP. Identifier-Locator Network Protocol ILNP

Übung 6. Tutorübung zu Grundlagen: Rechnernetze und Verteilte Systeme (Gruppen MI-T7 / DO-T5 SS 2015) Michael Schwarz

BPE. Bridge Port Extension BPE

How-to: Webserver NAT. Securepoint Security System Version 2007nx

NFV. Network Functions Virtualisation NFV. Autor: Prof. Dr.-Ing. Anatol Badach

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Walther- Übungsaufgabe 24. Januar 2016 Rathenau- Routing Name: Gewerbeschule Freiburg DHCP Klasse: E3FI1T Seite 1 Punkte: /20 Note:

Grundlagen der Rechnernetze. Internetworking

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

STRATO Mail Einrichtung Mozilla Thunderbird

Verbindungslose Netzwerk-Protokolle

Einführung in die. Netzwerktecknik

Konfiguration des Fernzugriffes auf Eyseo-IP-Netzwerkkameras mittels dynamischer IP-Adresse

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08

Primzahlen und RSA-Verschlüsselung

Gefahren aus dem Internet 1 Grundwissen April 2010

Einführung in die Netzwerktechnik

IEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version Deutsch

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

teamsync Kurzanleitung

Kontrollfragen: Internet

Local Control Network Technische Dokumentation

2.1 Adressierung im Internet

Lizenzierung von SharePoint Server 2013

Guide DynDNS und Portforwarding

HBF IT-Systeme. BBU-NPA Übung 4 Stand:

Hilfedatei der Oden$-Börse Stand Juni 2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

1 Mathematische Grundlagen

15 Transportschicht (Schicht 4)

How-To-Do. Fernwartung einer VIPA Steuerung via Ethernet

Technical Note ewon über DSL & VPN mit einander verbinden

Switch 1 intern verbunden mit onboard NICs, Switch 2 mit Erweiterungs-NICs der Server 1..6

DNÜ-Tutorium HS Niederrhein, WS 2014/2015. Probeklausur

Referat von Sonja Trotter Klasse: E2IT1 Datum Jan Subnetting

How-to: Mailrelay und Spam Filter. Securepoint Security System Version 2007nx

Als erstes besuchen wir nun also dyndns.org, das auf dyndns.com umleitet. Dort klicken wir nun oben rechts auf den Reiter: DNS & Domains.

Dokumentation zur Versendung der Statistik Daten

Analyse und Darstellung der Protokollabläufe in IPv6-basierten Rechnernetzen

EVB. Edge Virtual Bridging EVB. Autor: Prof. Dr.-Ing. Anatol Badach

Konfiguration der tiptel Yeastar MyPBX IP-Telefonanlagen mit Peoplefone Business SIP Trunk

Netzwerkeinstellungen unter Mac OS X

WinVetpro im Betriebsmodus Laptop

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

ADSL-Verbindungen über PPtP (Mac OS X 10.1)

STRATO Mail Einrichtung Android 4.4

Gemeinsam statt einsam - ein Internet-Zugang für mehrere Rechner Wie geht das? - Tricks und Verfahren einer Technik, die wirklich Geld spart.

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

3 Das verbindungslose Vermittlungsprotokoll IP

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

Professionelle Seminare im Bereich MS-Office

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Black Box erklärt. Subnetzmasken

KN Das Internet

Virtual Private Network

Lizenzierung von SharePoint Server 2013

Einrichtung eines -konto mit Thunderbird

Inhaltverzeichnis 1 Einführung Zugang zu den Unifr Servern Zugang zu den Druckern Nützliche Links... 6

Lizenzierung von System Center 2012

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Zwischenablage (Bilder, Texte,...)

Stefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung

Konfiguration der tiptel Yeastar MyPBX IP-Telefonanlagen- Anschluss R.3a des Providers Vodafone

SFC. Service Function Chaining SFC. Autor: Prof. Dr.-Ing. Anatol Badach

MODBUS/TCP und Beckhoff Steuerelemente

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Anleitung E Mail Thurcom E Mail Anleitung Version

Hochschulrechenzentrum

ISA Server 2004 Erstellen einer Webverkettung (Proxy-Chain) - Von Marc Grote

Software Defined Networking. und seine Anwendbarkeit für die Steuerung von Videodaten im Internet

Internet online Update (Mozilla Firefox)

SolarWinds Engineer s Toolset

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Ether S-Net Diagnostik

Windows 98 / Windows NT mit NCP WAN Miniport-Treiber 23. Oktober 1998

Erstellen eigener HTML Seiten auf ewon

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Webalizer HOWTO. Stand:

Adressen im Internet (Wdh.)

Idee des Paket-Filters

Transkript:

NVGRE Network Virtualization using Generic Routing Encapsulation Autor: Prof. Dr.-Ing. Anatol Badach Auszug aus dem Werk: Herausgeber: Heinz Schulte WEKA-Verlag ISBN 978-3-8276-9142-2 Die Virtualisierung von Rechnern schreitet immer weiter voran und somit wird das darauf basierende Cloud Computing immer populärer. Ein Datacenter im Netzwerk, in dem keine virtuellen Server als sog. Virtual Machines (VMs) eingerichtet werden, ist heutzutage kaum noch vorstellbar. Da Cloud Services in der Regel auf verschiedenen Vernetzungen von VMs basieren, ist es in Datacentern großer Unternehmen bzw. Anbietern von Cloud Services oft sogar nötig, die auf verschiedenen, unter Umständen weltweit verteilten, physischen Wirt-Servern eingerichteten VMs so zu gruppieren, dass voneinander isolierte, einem Virtual Local Area Network (VLAN) in herkömmlichen Netzwerken entsprechende Gruppen von VMs als Clouds entstehen. NVGRE ist ein Konzept, das dazu dient, auf mehreren Wirt-Servern eingerichtete VMs so zu gruppieren, dass voneinander vollkommen unabhängige, sogar weltweit verteilte Clouds gebildet werden können. Nach NVGRE werden virtuelle, als Virtual Subnets (VSs) bezeichnete Netzwerke aufgebaut, die isolierte Gruppen von auf verschiedenen physischen Wirt-Servern eingerichteten VMs bilden. Dabei verhält sich eine Gruppe von VMs so, dass eine MAC 1 Broadcast Domain d.h. eine Domain, wie man sie in herkömmlichen Ethernet-basierten Netzwerken vorfindet nachgebildet wird. Somit stellt ein Virtual Subnet nach NVGRE eine in der Regel räumlich über mehrere Standorte verteilte, eine MAC Broadcast Domain bildende Gruppe von VMs dar. Diese kann unter Umständen weltweit verteilt sein und ein IP 2 -Subnetz darstellen. Ein Virtual Subnet in diesem Sinn stellt somit ein virtuelles Layer-2- Netzwerk (L2-Netzwerk) dar. Zum Aufbau virtueller Netzwerke dieser Art gibt es noch zwei weitere Konzepte, und zwar: Virtual Extensible Local Area Network (VXLAN) gem. RFC 7348 und 1 Media Access Control 2 Internet Protocol 1

Stateless Transport Tunneling Protocol (STT) 3. Es sei angemerkt, dass diese Konzepte, besonders NVGRE und VXLAN, aus rein technischer Sicht sehr ähnlich sind und demzufolge das Erreichen vergleichbarer Ziele ermöglichen. In einem nach NVGRE eingerichteten Virtual Subnet verläuft die Übermittlung von Daten zwischen VMs über spezielle virtuelle Tunnel, die man als MAC-in-GRE 4 -Tunnel oder kurz GRE-Tunnel bezeichnet. Ein Virtual Subnet nach NVGRE könnte man sich auch als virtuelles Netzwerk vorstellen, in dem VMs als Endsysteme an mehrere auf der Basis eines IP-Netzwerks miteinander vernetzte virtuelle Layer-2-Switches (L2-Switches) angebunden sind und die Kommunikation zwischen diesen verteilten Switches in einem MAC-in-GRE-Tunnel verläuft. Mithilfe von NVGRE ist es beispielsweise möglich, ein virtuelles Netzwerk, de facto eine Art Cloud, so einzurichten, dass eine in der Cloud verteilte Applikation mehrere an verschiedenen Standorten als VMs implementierte Server (z.b. einen Webserver und einen bzw. mehrere Datenbankserver) nutzt. Dank NVGRE ist sogar eine weltweite VM-Mobilität (Virtual Machine Mobility) möglich, ohne die beiden Adressen (MAC-Adresse und IP-Adresse) der zu transferierenden VMs ändern zu müssen. Ein virtueller Server kann also von einem Standort auf einen anderen verschoben werden und dabei muss weder seine MAC- noch seine IP-Adresse geändert werden. Beim Einsatz von NVGRE können die Anbieter von Cloud Services in ihren Datacentern mehrere virtuelle Datacenter (Virtual Data Center, VDC) voneinander isolierte virtuelle Netzwerke als Clouds so einrichten, dass man von Mandantenfähigkeit (Multi-Tenancy) sprechen kann. NVGRE eignet sich hervorragend dazu, auf mehrere VMs verteilte Applikationen insbesondere die sog. Multi-Tier- Applikationen einzelner Mandanten (Kunden) in einem Datacenter voneinander zu isolieren und folglich ihre Sicherheit zu erhöhen. Das in diesem Beitrag präsentierte Konzept von NVGRE basiert hauptsächlich auf dem Internet Draft NVGRE: Network Virtualiza- 3 http://www.ietf.org/archive/id/draft-davie-stt-06.txt 4 Generic Routing Encapsulation 2

tion using Generic Routing Encapsulation, 5 zu dessen Verfassern die Vertreter aller namhaften, auf dem Gebiet Networking tätiger Firmen (Microsoft, Intel, Google, Hewlett-Packard, Broadcom und Emulex) gehören. Das primäre Ziel dieses Beitrags ist es, das Konzept von NVGRE und dessen Anwendungsmöglichkeiten bildhaft in kurzer Form zu erläutern. Der NVGRE betreffende Standard der Internet Engineering Task Force (IETF), der hauptsächlich das GRE Frame Format festlegt, ist im Moment (Oktober 2014) als Internet Draft noch in der Entwurfsphase. Demzufolge sind die hier dargestellten Konzepte und Beispiele für Systemlösungen überwiegend als denkbare/realisierbare Visionen anzusehen. Layer Virtual Subnets bei NVGRE eine Art VLANs Wie bereits erwähnt wurde, stellt bei NVGRE eine isolierte Gruppe von auf verschiedenen Wirt-Servern eingerichteten VMs ein Virtual Subnet (VS) dar und verhält sich wie eine MAC Broadcast Domain, d.h. wie eine Domain, die man in herkömmlichen Ethernet-basierten Netzwerken vorfindet. Aus diesem Grund sind Virtual Subnets als Layer 2 Virtual Subnets (L2-VS) anzusehen und entsprechen weitgehend den als VLANs bezeichneten Gruppen physischer Rechner in herkömmlichen IP-Netzwerken. Bevor auf die technischen Details von Virtual Subnets nach NVGRE eingegangen wird, soll noch auf die Unterschiede zwischen VLAN und Virtual Subnet verwiesen werden. Dazu sollen die in Bild 006841 dargestellten, auf der Basis eines L2-Switch und durch die Gruppierung von dessen Ports eingerichteten VLANs betrachtet werden. Wie hier ersichtlich ist, kann ein L2-Switch realisiert werden in Form einer eigenständigen Hardwarekomponente als physischer L2-Switch (Bild 006841a) oder in einem Wirt-Server mit mehreren VMs als - virtueller L2-Switch (auch als vswitch bezeichnet) in Form einer Softwarekomponente (Bild 006841b) oder als 5 http://www.potaroo.net/ietf/idref/draft-sridharan-virtualization-nvgre 3

- embedded vswitch auf einem physischen Network Interface Controller (NIC), z.b. auf einer 10GE-Adapterkarte. 6 Dazu sei angemerkt, dass ein L2-Switch auch als Ethernet Switch bezeichnet wird. Bild 006841: VLANs auf der Basis: a) eines physischen L2-Switch, b) eines virtuellen L2-Switch in einem Wirt-Server L2: Layer 2 (Protokollschicht 2) VLAN: Virtual Local Area Network VM: Virtual Machine (virtueller Rechner/Server) Anmerkung: Eine wichtige Funktion bei der Virtualisierung von Rechnern in einem Wirt-Server übernimmt der sog. Hypervisor. Er repräsentiert eine Softwareinstanz, die es den auf einem Wirt-Server implementierten VMs erlaubt, dessen Hardware und Speicher gemeinsam zu nutzen. Aus der Sicht von Networking realisiert der Hypervisor im Wesentlichen die Funktion eines L2-Switch. Aus diesem Grund kann er allerdings lediglich aus Sicht von Networking auch als virtueller L2-Switch (kurz vswitch) angesehen werden. Ein VLAN auf der Basis eines L2-Switch entsteht in der Regel durch die Gruppierung von Ports im L2-Switch. Die zu einem VLAN gehörenden Rechner bilden dann eine MAC Broadcast Domain 7 auch L2 Broadcast Domain genannt. Diese stellt ein logisches (vir- 6 Für fundierte Informationen über die Betriebsarten virtueller L2-Switches in Wirt-Servern und über die Grundlagen der Mobilität von VMs sei auf Edge Virtual Bridging (EVB) in [4] verwiesen. 7 Eine MAC Broadcast Domain repräsentiert eine isolierte Gruppe von Rechnern, in der jeder Rechner die Möglichkeit hat, an alle anderen zur Gruppe gehörenden Rechner einen MAC-Frame (d.h. einen Ethernet Frame) mit der Broadcast-MAC-Adresse zu schicken. 4

tuelles) lokales Netzwerk dar; also, wie der Name VLAN bereits sagt, ein virtuelles LAN. Die in Bild 006841 dargestellten VLANs sind auf einen L2-Switch beschränkt. VLANs können sich aber auch über mehrere L2- Switches erstrecken, d.h. sie können L2-Switch-übergreifend angelegt sein (Bild 006843a). Ein Virtual Subnet nach NVGRE ist ein L2-Switch-übergreifendes VLAN besonderer Art (Bild 006843b). Forwarding Table in L2-Switches Für das Verständnis von VLANs und folglich von Virtual Subnets nach NVGRE ist das Verstehen der Funktionsweise von L2- Switches von großer Bedeutung. Im Allgemeinen hat jeder L2- Switch sowohl ein physischer als auch ein virtueller die Aufgabe, jeden empfangenen Ethernet Frame (im Weiteren als MAC- Frame bezeichnet) anhand seiner MAC-Zieladresse an einen seiner Ausgangsports weiterzuleiten. Jeder L2-Switch muss daher wissen, welche MAC-Zieladressen über jeden seiner Ausgangsports zu erreichen sind. Hierfür enthält er eine L2 Forwarding Table (L2-FT) mit den Zuordnungen: MAC-Adresse Portnummer. Bild 006842 zeigt den Aufbau einer Forwarding Table in L2-Switches. Bild 006842: Forwarding Table in physischen/virtuellen L2- Switches MAC: VID: VSID: Media Access Control (Ethernet-Header) VLAN Identifier Virtual Subnet Identifier Die Forwarding Table (auch MAC Address Table genannt) gibt an, über welche Ports einzelne MAC-Adressen als Ziele (de facto Zielrechner mit ihren Adressen) erreichbar sind, zu welchen VLANs die MAC-Adressen gehören und zu welchen VLANs einzelne Ports im Switch führen. Jedes VLAN hat zur Identifizierung einen VLAN- Identifier, kurz als VLAN-ID oder VID bezeichnet. 5

Anmerkung: Es sei darauf verwiesen, dass ein virtueller L2-Switch im Wirt- Server bei NVGRE auch die in Bild 006842 dargestellte Forwarding Table enthält, in ihr aber der Virtual Subnet Identifier (VSID) statt des VID enthalten ist. Um einen MAC-Frame mit einer Unicast-MAC-Zieladresse weiterzuleiten, vergleicht der L2-Switch dessen Zieladresse mit den in seiner Forwarding Table bereits eingetragenen MAC-Adressen. In der ersten Spalte sind alle bekannten MAC-Adressen als potenzielle Ziele mit dem zugehörigen Ausgangsport gespeichert. Findet der L2-Switch dort eine Zeile mit der MAC-Zieladresse, leitet er den empfangenen Frame direkt über den in dieser Zeile angegebenen Port als Ausgang weiter. Findet der L2-Switch in seiner Forwarding Table die MAC- Zieladresse aus dem empfangenen MAC-Frame aber nicht, dann verschickt er den Frame über alle Ports, die in den Zeilen mit derselben VID wie die, die im weiterzuleitenden Frame enthalten ist, eingetragen sind. In einem solchen Fall spricht man von Unknown Unicast Flooding bzw. kurz von Flooding. Mithilfe der Angabe Aging Time (Lebensdauer) in der Forwarding Table wird die Aktivität von Rechnern überwacht. Mit Aging Time wird angegeben, wie lange eine Zeile mit einer MAC-Adresse in der Forwarding Table bestehen soll. Ist ein Rechner während der Aging Time nicht aktiv, d.h. empfängt der L2-Switch während dieser Zeitdauer keinen Frame vom Rechner, so geht der Switch davon aus, dass der Rechner entweder umgezogen oder ausgefallen ist, woraufhin die ihm entsprechende Zeile, d.h. die mit seiner MAC- Adresse, aus der Forwarding Table entfernt wird. NVGRE versus VLANs und VXLANs Wie schon ausgeführt, repräsentiert ein Virtual Subnet nach NVGRE eine Gruppe von auf verschiedenen Wirt-Servern eingerichteten VMs. Vor diesem Hintergrund soll nun auf L2-Switch-übergreifende VLANs eingegangen werden, um die grundlegende Idee von Virtual Subnets besser zu verdeutlichen. Bild 006843 illustriert, dass ein VLAN auf Basis mehrerer, auf besondere Weise über ein IP- Netzwerk verbundener, virtueller L2-Switches mit den an sie angebundenen VMs als Virtual Subnet angesehen werden kann. 6

Bild 006843: L2-Switch-übergreifende VLANs durch eine Vernetzung mit einem Uplink physischer L2-Switches (a) und virtueller L2-Switches mit b) einem MAC-in-GRE-Tunnel (NVGRE, VLAN = Virtual Subnet) und c) einem MAC-in-UDP-Tunnel (VLAN = VXLAN) IP: IP-PA: MAC: UDP: VDS: VM: VXLAN: Internet Protocol IP Provider Address Media Access Control User Datagram Protocol Virtual Distributed Switch Virtual Machine Virtual Extensible Local Area Network 7

An dieser Stelle sei angemerkt, dass es sich in diesem Fall um ein Virtual Subnet auf der Basis von nur zwei virtuellen L2-Switches handelt. Bild 006843b zeigt, dass ein Virtual Subnet nach NVGRE ein besonderes VLAN darstellt, das auf mehreren virtuellen in verschiedenen Wirt-Servern enthaltenen L2-Switches basiert. Die Darstellung in Bild 006843 soll insbesondere folgende Unterschiede zwischen VLANs, VXLANs und Virtual Subnets nach NVGRE verdeutlichen: Beim Virtual Subnet und VXLAN sind die virtuellen L2- Switches im Gegensatz zum VLAN nicht mit einem physischen Uplink verbunden, sondern mit einem virtuellen Uplink. Bei NVGRE sind die virtuellen L2-Switches mit einem virtuellen Uplink in Form eines MAC-in-GRE-Tunnels verbunden; dessen Endpunkte werden durch zwei IP-PAs (IP Provider Addresses) angegeben, d.h. durch die IP-Adressen von zwei Wirt- Servern. Bei VXLAN sind die virtuellen L2-Switches mit einem virtuellen Uplink in Form eines MAC-in-UDP-Tunnels verbunden; dessen Endpunkte sind mit zwei UDP-Sockets in Wirt-Servern adressiert. Virtual Subnets nach NVGRE und VXLANs haben folgende Gemeinsamkeiten: Die mit dem Tunnel verbundenen virtuellen L2-Switches verhalten sich so, als ob sie einen virtuellen verteilten Switch (Virtual Distributed Switch, VDS) bilden. Virtual Machines (VMs) fungieren als Endsysteme, wobei nur VMs aus einem VXLAN bzw. aus einem Virtual Subnet direkt untereinander kommunizieren können. Werden VXLANs bzw. Virtual Subnets als IP-Subnetze eingerichtet, können VMs aus verschiedenen IP-Subnetzen über Router indirekt untereinander kommunizieren. In Bild 006855 wird gezeigt, wie die Kommunikation zwischen verschiedenen Virtual Subnets stattfinden kann. Oberhalb einer Gruppe virtueller L2-Switches, die einen virtuellen verteilten Switch (VDS) wie in den Bildern 006843b und 006843c gezeigt bilden, können quasi parallel mehrere Virtual Subnets nach NVGRE bzw. mehrere VXLANs eingerichtet wer- 8

den. Dabei muss jedes von ihnen, ebenso wie jedes herkömmliche VLAN, eine MAC Broadcast Domain bilden. Logisches Modell der Kommunikation bei NVGRE Wie bereits in Bild 006843 gezeigt wurde, stellt ein Virtual Subnet nach NVGRE ein spezielles VLAN dar, welches eine Vernetzung von auf verschiedenen Wirt-Servern eingerichteten VMs darstellt. Um die grundlegende Idee von NVGRE anschaulich zu erläutern, soll zunächst der in Bild 006844 gezeigte einfache Fall betrachtet werden, in dem das Virtual Subnet sich nur über zwei Wirt-Server erstreckt. Bild 006844: Grundlegende Idee von NVGRE: a) Virtual Subnet als ein L2-Switch-übergreifendes VLAN, b) logische Struktur von Wirt- Servern und der Verlauf des GRE-Tunnels zwischen zwei Wirt- Servern 9

C/PA: Customer/Provider Address ET: EtherType (Angabe des Layer-3-Protokolls) GRE: Generic Routing Encapsulation IP: Internet Protocol Ln: Layer n (n= 2, 3) NIC: Network Interface Card/Controller (Ethernet-Adapterkarte) TCP: Transmission Control Protocol UDP: User Datagram Protocol VID: VLAN Identifier VLAN: Virtual Local Area Network VM: Virtual Machine vnic: virtual NIC VS: Virtual Subnet nach NVGRE VSID: Virtual Subnet Identifier VTEP: Virtual Tunnel End Point (Anfang oder Ende des Tunnels) Im Folgenden soll angenommen werden, dass die beiden physischen in Bild 006844a gezeigten Wirt-Server zu demselben VLAN gehören. 8 Um ein Virtual Subnet (VS) mit auf diesen Wirt-Servern laufenden VMs einrichten zu können, muss man die virtuellen Switches, also L2-Switches, entsprechend mit einem virtuellen Uplink verbinden. Bei NVGRE wird ein solcher Uplink als Virtual Tunnel (VT), im Weiteren als GRE-Tunnel bezeichnet, eingerichtet. Bild 006844b zeigt, über welche Funktionskomponenten in beiden Wirt-Servern der GRE-Tunnel verläuft. Hierbei wurde insbesondere zum Ausdruck gebracht, und dies ist zum Verständnis von NVGRE sehr wichtig, dass die Kommunikationsbeziehungen zwischen Applikationen in den zu einem Virtual Subnet gehörenden VMs durch eine zweistufige Adressierung bestimmt werden, und zwar wie folgt: Die bei NVGRE als Provider Address (PA) bezeichneten Adressen MAC-PA und IP-PA von Wirt-Servern bestimmen, zwischen welchen virtuellen Switches der GRE-Tunnel verläuft. Wie in Bild 006844b ersichtlich ist, sind die beiden IP-PAs als End- 8 Falls die beiden Wirt-Server einem VLAN angehören, so liegt dem Virtual Subnet nach NVGRE eine MAC Broadcast Domain zugrunde. Folglich ist die Nutzung von IP-Multicasting und eines MAC-Broadcast-Servers, wie in den Bildern 006847 und 006849 gezeigt, nicht mehr nötig. 10

punkte des GRE-Tunnels (Virtual Tunnel End Points, VTEPs) anzusehen. Die bei NVGRE als Customer Address (CA) bezeichneten Adressen MAC-CA und IP-CA von VMs in Wirt-Servern bestimmen die Endpunkte der Kommunikation besagen also, zwischen welchen VMs die Kommunikation verläuft. Die hier verwendeten Bezeichnungen Provider und Customer deuten darauf hin, dass die Beschreibung von NVGRE bereits die Begriffe enthält, welche man in Datacentern von Cloud Service Providers (CSPs) verwendet: Die Adressen MAC-PA und IP-PA bestimmen einen Wirt-Server bei einem Cloud Service Provider; man spricht daher von PAs. Die Adressen MAC-CA und IP-CA identifizieren eine VM, mit welcher ein Cloud Service für einen Kunden (Customer) bei einem Cloud Service Provider (in einem Wirt-Server) erbracht wird; man spricht daher von CAs. Anmerkung: Bild 006844 bringt auch zum Ausdruck, dass man die beiden Adressen MAC-Adresse und IP-Adresse als virtuelle Steckdosen betrachten kann, und zwar im folgenden Sinne: Ein Pin in der virtuellen Steckdose (MAC-Adresse) entspricht der im EtherType Header angegebenen Nummer des Protokolls aus der Netzwerkschicht (Layer 3); d.h. ein Pin in dieser virtuellen Steckdose führt zu einem Protokoll der Netzwerkschicht wie das Internet Protocol der Version 4 (IPv4) oder das der Version 6 (IPv6). Ein Pin in der virtuellen Steckdose (IP-Adresse) entspricht der im IP- Header angegebenen Nummer des Protokolls aus der Transportschicht (Layer 4); d.h. ein Pin in dieser Steckdose führt zu einem Protokoll der Transportschicht wie dem Transmission Control Protocol (TCP) oder dem User Datagram Protocol (UPD). Tunneling-Prinzip bei NVGRE Nachdem in Bild 006844 die allgemeine Idee von NVGRE dargestellt wurde, zeigt Bild 006845, dass die Übermittlung von Daten zwischen zwei kommunizierenden VMs im GRE-Tunnel nach dem als MAC-in-MAC bezeichneten Prinzip verläuft; d.h. ein MAC- Frame wird quasi in einem anderen MAC-Frame eingekapselt (eingebettet) übermittelt. 11

Bild 006845: Tunneling-Prinzip MAC-in-MAC bei NVGRE C/PA: D-MAC-Adr: FCS: MAC: S-MAC-Adr: vswitch: Customer/Provider Address Destination MAC Address (MAC-Zieladresse) Frame Checking Sequence Media Access Control Source MAC Address (MAC-Quelladresse) virtueller L2-Switch Dieses Prinzip lässt sich bei der Annahme der in Bild 006844a gezeigten Situation, dass die beiden Wirt-Server einem VLAN mit VID = 123 angehören und dass das Customer Virtual Network mit VSID = 567 als IP-Subnetz definiert wurde, zu folgenden Schritten zusammenfassen: 1. Die Quell-VM mit der IP-Adresse IP-CA = i im Wirt-Server A möchte ein IP-Paket an die VM mit der IP-Adresse IP-CA = j im Wirt-Server B übermitteln. Nach dem Vergleich der eigenen IP-Adresse (IP-Quell-CA) mit der IP-Ziel-CA stellt die Quell-VM fest, dass die Ziel-VM zu demselben, als IP-Subnetz 12

definierten Virtual Subnet gehört. In der Quell-VM wird dem IP-Paket daher der MAC-Header mit der MAC-Zieladresse der Ziel-VM, also mit MAC-CA = n, vorangestellt und nicht mit der MAC-Adresse des Default-Routers. Den von der Quell-VM stammenden Daten wird ein aus IP-Header, EtherType und MAC-Header bestehender Inner-Header vorangestellt. Der Inner-Header enthält das Virtual Subnet betreffende Angaben. 2. Der virtuelle Switch A leitet den von der Quell-VM stammenden MAC-Frame, seiner Forwarding Table (Bild 006842) gemäß, nach außen zum Uplink, also zur GRE-Instanz, weiter. Es sei angemerkt, dass der virtuelle Switch A aufgrund seiner Forwarding Table weiß, dass der Port zur Quell-VM zum Virtual Subnet mit VSID = 567 gehört. Dem zu übermittelnden MAC-Frame werden noch folgende Angaben vorangestellt: zuerst ein GRE-Header mit der Angabe VSID = 567 und danach ein Outer-Header, bestehend aus IP-Header, EtherType, C-Tag- Header mit der Angabe des VLAN (VID=123) mit dem Wirt- Server A und einem MAC-Header. Der Outer-Header enthält Angaben, welche die beiden Wirt-Server A und B betreffen und die während der Übermittlung der Daten über das IP-Netzwerk interpretiert werden (Bild 006844b). 3. Hat der Ziel-Wirt-Server B die Daten mit den vorangestellten Outer- und Inner-Headern empfangen, interpretiert er zuerst den Outer-Header und übergibt den ursprünglichen MAC- Frame an den virtueller Switch B, welcher diesen MAC-Frame an die Ziel-VM weiterleitet. 4. In der Ziel-VM wird noch der Inner-Header interpretiert, um die Daten an die richtige Applikation zu übergeben. Virtual Subnet oberhalb eines L2- und eines L3-Netzwerks Ein Virtual Subnet (VS) nach NVGRE stellt ein virtuelles Overlay- L2-Netzwerk (Virtual Overlay Network) oberhalb eines physischen IP-Netzwerks dar. Dabei muss man jedoch unterscheiden, wie die Kommunikation zwischen VMs innerhalb eines Virtual Subnet im darunter liegenden IP-Netzwerk verläuft, und zwar, ob sie nur über ein VLAN verläuft, welches ein IP-Subnetz und folglich nur eine MAC Broadcast Domain also ein L2- Netzwerk bildet, sodass keine Routingfunktion (also keine Layer-3-Funktion) in Anspruch genommen wird oder 13

ob sie über mehrere VLANs verläuft, welche mehrere mit Routern verbundene IP-Subnetze darstellen und folglich keine MAC Broadcast Domain mehr also bereits ein L3-Netzwerk bilden, sodass die Routingfunktion in Anspruch genommen werden muss. Bild 006846 zeigt, dass man wegen der Notwendigkeit einer MAC Broadcast Domain beim Virtual Subnet nach NVGRE darauf achten muss, oberhalb welchen physischen Netzwerks, d.h. ob oberhalb eines L2- oder eines L3-Netzwerks, ein Virtual Subnet gebildet wird. Bild 006846: Virtual Subnets im Datacenter oberhalb: a) eines L2- Netzwerks (VLAN-begrenzt), b) eines L3-Netzwerks (VLANübergreifend) AS: GS: vswitch: VLAN: VM: VS: Access Switch Aggregation Switch virtueller L2-Switch Virtual Local Area Network Virtual Machine Virtual Subnet 14

Wird ein Virtual Subnet wie in Bild 006846a oberhalb nur eines L2- Netzwerks de facto nur eines VLAN, welches ein IP-Subnetz bildet und demzufolge selbst eine MAC Broadcast Domain darstellt eingerichtet, dann bildet auch das Virtual Subnet selbst eine MAC Broadcast Domain. Wird ein Virtual Subnet jedoch wie in Bild 006846b oberhalb eines L3-Netzwerks de facto oberhalb mehrerer VLANs, welche verschiedene über L3-Switches (mit Routingfunktion) vernetzte IP- Subnetze darstellen eingerichtet, dann bilden die dem Virtual Subnet zugrunde liegenden VLANs nicht nur eine einzige MAC Broadcast Domain, wie man dies beim Virtual Subnet nach NVGRE benötigt, sondern stellen mehrere, voneinander getrennte MAC Broadcast Domains dar. Jedes Virtual Subnet muss aber immer eine MAC Broadcast Domain darstellen, und demzufolge muss das ihm zugrunde liegende physische Netzwerk auch die Funktionalität einer MAC Broadcast Domain erbringen. Wie sich dies in einem physischen L3-Netzwerk erreichen lässt, wird im Folgenden gezeigt. Virtual Subnet oberhalb eines L3-Netzwerks: Nutzung von IP- Multicast Wie Bild 006847 zeigt, besteht im Allgemeinen ein Virtual Subnet (VS) nach NVGRE aus einer Vielzahl von oft über ein L3-Netzwerk vernetzten, als Network Virtualization Edge (NVE) bezeichneten Instanzen. Diese repräsentieren die virtuellen, in verschiedenen Wirt-Servern implementierten L2-Switches samt den mit ihnen verbundenen GRE-Modulen. Eine solche Vernetzung von NVE- Instanzen muss eine MAC Broadcast Domain oberhalb eines L3- Netzwerks nachbilden. Folglich muss das zugrunde liegende L3- Netzwerk die Funktionalität einer MAC Broadcast Domain erbringen. Die Tatsache, dass jedes Virtual Subnet nach NVGRE ebenso wie jedes herkömmliche VLAN eine MAC Broadcast Domain bildet, hat zur Folge, dass jede NVE-Instanz ähnlich wie jeder herkömmliche L2-Switch das Versenden von MAC Broadcast 9 sowohl an 9 Ein MAC-Frame mit einem Request des Address Resolution Protocol (ARP) wird als MAC Broadcast verschickt. 15

lokale VMs im selben Wirt-Server als auch an Remote-VMs in anderen Wirt-Servern unterstützen muss. Um das MAC Broadcast innerhalb eines L3-Netzwerks versenden zu können, benötigt man eine besondere Lösung. Ein solche soll nun kurz vorgestellt werden. Bild 006847: Bildung einer MAC Broadcast Domain bei NVGRE oberhalb eines L3-Netzwerks GRE: Generic Routing Encapsulation NVE: Network Virtualization Edge R: Router vswitch: virtueller L2-Switch VM: Virtual Machine Damit man ein Virtual Subnet nach NVGRE als MAC Broadcast Domain oberhalb eines L3-Netzwerks mit Routern realisieren kann, um also einen MAC-Frame (Ethernet Frame) von einer VM an alle in anderen Wirt-Servern implementierten Remote-VMs aus demselben Virtual Subnet quasi in einem Zug verschicken zu können, wird die MAC Broadcast Domain eines Virtual Subnet oberhalb des L3-Netzwerks als IP-Multicast-Domain nachgebildet. Somit muss jedem Virtual Subnet eine IP-Multicast-Adresse 10 zugeordnet werden. 10 http://www.iana.org/assignments/multicast-addresses 16

Da jedes Virtual Subnet eine IP-Multicast-Adresse hat, kann wie in Bild 006847 gezeigt die dem Virtual Subnet entsprechende MAC Broadcast Domain im L3-Netzwerk in Form eines IP-Multicast- Verteilbaumes nachgebildet werden. Hierbei sind zwei Protokolle von großer Bedeutung: ein Protokoll für das Management von Multicast-Gruppen (MC- Gruppen) und ein Multicast Routingprotokoll (MC-Routingprotokoll). 11 Das Management von MC-Gruppen beim Internetprotokoll IPv4 erfolgt nach dem Internet Group Management Protocol (IGMPv3) gem. RFC 3376. Unterstützt eine NVE-Instanz das Protokoll IG- MPv3, kann sie einer oder auch mehreren MC-Gruppe/n angehören. Mithilfe von IGMPv3 kann sie den Routern z.b. signalisieren, dass sie bereits zu einer MC-Gruppe gehört, dass sie einer MC-Gruppe beitreten oder eine MC-Gruppe verlassen möchte. Für Näheres über das IP-Multicast Management sei auf [2] verwiesen. Beim Virtual Subnet nach NVGRE kann Protocol Independent Multicast Sparse Mode (PIM-SM) gem. RFC 4601 als MC- Routingprotokoll zum Einsatz kommen. Wie Bild 006847 illustriert, wird im L3-Netzwerk für jede IP-Multicast-Adresse mithilfe von Routern nach dem MC-Routingprotokoll ein logischer IP- Multicast-Verteilbaum eingerichtet. Die Edge Router, über die IP- Subnetze mit einzelnen NVE-Instanzen an den IP-Multicast- Verteilbaum angebunden sind, können als Blätter im IP-Multicast- Verteilbaum angesehen werden. Der designierte, im Protokoll PIM- SM als Rendezvous-Point bezeichnete Router stellt die Wurzel (Root) im IP-Multicast-Verteilbaum dar. Um über ein L3-Netzwerk einen MAC-Frame mit einer MAC- Broadcast-Adresse von einer VM an alle anderen VMs im selben Virtual Subnet zu verschicken, wird dem zu sendenden MAC-Frame ein GRE-Header vorangestellt und dieser dann in ein IP-Paket mit der dem betreffenden Virtual Subnet zugewiesenen IP-Multicast- Adresse als Ziel-IP-Adresse eingekapselt (Bild 006845). Ein solches, von einer NVE-Instanz stammendes Multicast-IP-Paket wird 11 Für kompakte Informationen über IP-Multicasting und MC-Routing darunter auch über PIM-SM s. Abschnitte 2.8 und 10.6 in [2]. 17

zuerst von dieser NVE-Instanz an den Rendezvous-Point übergeben. Daraufhin verschickt dieser das Multicast-IP-Paket an die restlichen NVE-Instanzen. Im Endeffekt kann man den IP-Multicast- Verteilbaum der Funktion nach als ein virtuelles Broadcast-Medium (vbm) betrachten (Bild 006849a). Virtual Subnet oberhalb eines L3-Netzwerks dank eines Broadcast-Servers Wie in Bild 006847 gezeigt wurde, ist die Nutzung von IP- Multicasting zur Nachbildung einer MAC Broadcast Domain im L3- Netzwerk eine flexible Lösung. Um diese zu realisieren, müssen Router im L3-Netzwerk das IP-Multicast-Routing unterstützen. Dies ist jedoch nicht immer der Fall. Kommt die Nutzung von IP- Multicasting nicht infrage, so könnte man anstelle eines Routers als Rendezvous-Point, welcher jeden empfangenen MAC Broadcast Frame an eine Gruppe von MAC-Adressen verteilt, einen speziellen MAC-Broadcast-Server an die Wirt-Server anbinden. Diese Idee illustriert Bild 006848; sie wurde im Patent [P1] vorgestellt. Bild 006848: Einsatz eines MAC-Broadcast-Servers bei NVGRE zur Nachbildung einer MAC Broadcast Domain im L3-Netzwerk 18

ARP: Address Resolution Protocol B-Link: Broadcast Link C/PA: Customer/Provider Address D: Destination (Ziel) ET: EtherType (Angabe des Layer-3-Protokolls) FCS: Frame Checking Sequence NVE: Network Virtualization Edge PT: Protocol Type S: Source (Quelle) vswitch: virtueller L2-Switch VSID: Virtual Subnet Identifier Anmerkung: Es sei hervorgehoben, dass die Request-Nachrichten des Address Resolution Protocol (ARP) gem. RFC 0826, mit dem man für eine IP-Zieladresse die ihr entsprechende MAC-Zieladresse ermittelt, als MAC Broadcast gesendet werden müssen. Bild 006848 soll verdeutlichen, dass die IP-Adresse δ des MAC- Broadcast-Servers allen Wirt-Servern bekannt ist und jeder von ihnen seine MAC-Frames mit ARP-Requests an den MAC- Broadcast-Server zwecks der Verteilung an andere Wirt-Server übergeben kann. Wie die Verteilung von MAC Broadcast Frames im Broadcast-Server erfolgen kann, zeigt Bild 006849b. Für die Fortsetzung siehe: Dreibändiges Loseblattwerk (Print und CD-Version) mit Update-Dienst: "Protokolle und Dienste der Informationstechnologie" Aktualisierungszyklus: 2 Monate WEKA Media, Kissing ISBN-13: 978-3827691422, Bestell-Nr. OL9142J http://shop.weka.de/protokolle-und-dienste-derinformationstechnologie-online 19