Freigeben über


Hybridweiterleitung

Ab NDIS 6.40 (Windows Server 2012 R2) unterstützt die erweiterbare Hyper-V-Switcharchitektur die Hybridweiterleitung durch die Hyper-V-Netzwerkvirtualisierungskomponente (HNV) des erweiterbaren Switches und durch Weiterleitungserweiterungen.

Hinweis Auf dieser Seite wird davon ausgegangen, dass Sie mit der Netzwerkvirtualisierung mithilfe von NVGRE-Aufgaben (Generic Routing Encapsulation) und übersicht über den hyper-V Extensible Switch vertraut sind.

NVGRE- und Nicht-NVGRE-Pakete

In einer Hybridweiterleitungsumgebung gibt es zwei Pakettypen, die in den erweiterbaren Hyper-V-Switch gelangen und diesen verlassen: NVGRE-Pakete und Nicht-NVGRE-Pakete:

  • NVGRE-Pakete weisen das gekapselte Format auf, das in NVGRE: Network Virtualization using Generic Routing Encapsulation Internet Draft angegeben ist. NVGRE-Pakete werden von der HNV-Komponente des erweiterbaren Hyper-V-Switches weitergeleitet.
  • Nicht-NVGRE-Pakete sind nur normale Netzwerkpakete. Nicht-NVGRE-Pakete werden von der Weiterleitungserweiterung weitergeleitet (oder, falls keine Weiterleitungserweiterung vorhanden ist, der erweiterbare Switch selbst).

Fluss von NVGRE- und Nicht-NVGRE-Paketen über den Switch

Wenn es sich bei einem Paket um ein NVGRE-Paket handelt, legt der erweiterbare Switch im Eingangsdatenpfad nach den Erfassungs- und Filtererweiterungen das Flag NativeForwardingRequired in der NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO-Struktur für das Paket fest. Diese Struktur ist im NetBufferListInfo-Element der NET_BUFFER_LIST Struktur des Pakets enthalten.

Hinweis Das NetBufferListInfo-Element des NET_BUFFER_LIST wird häufig als "Out-of-Band-Daten (OOB) des Pakets" bezeichnet.

Wenn das Flag NativeForwardingRequired in den OOB-Daten des Pakets festgelegt ist, handelt es sich bei dem Paket um ein NVGRE-Paket. Wenn es nicht festgelegt ist, ist das Paket ein Nicht-NVGRE-Paket.

Erweiterungen sollten das makro NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL verwenden, um den Wert des NativeForwardingRequired-Flags zu überprüfen.

NVGRE- und Nicht-NVGRE-Pakete werden wie folgt behandelt:

  • Die HNV-Komponente des erweiterbaren Hyper-V-Switches leitet alle NVGRE-Pakete weiter (d. h. bestimmt die Zieltabelle für).
  • Die HNV-Komponente führt die NVGRE-Kapselung und -Dekapselung nach Bedarf durch.
  • Die Weiterleitungserweiterung leitet alle Nicht-NVGRE-Pakete weiter.
  • Die Weiterleitungserweiterung kann keine NVGRE-Pakete weiterleiten, aber sie kann dieselben Filteraktionen wie eine Filtererweiterung ausführen, einschließlich des Hinzufügens oder Ausschließens von Zielports oder sogar dem Löschen von Paketen.
  • Wenn keine Weiterleitungserweiterung vorhanden ist, leitet der erweiterbare Hyper-V-Switch alle Pakete weiter.

Weitere Informationen finden Sie unter Paketfluss über den Datenpfad des erweiterbaren Switches.

Unterstützung für die Netzwerkvirtualisierung von Drittanbietern

Eine VirtualSubnetId kann auf einem VM-Netzwerkadapterport als externes virtuelles Subnetz konfiguriert werden. Dieses Feature wurde hinzugefügt, um Weiterleitungserweiterungen zu ermöglichen, um Netzwerkvirtualisierungslösungen von Drittanbietern bereitzustellen. Beim Eingang legt der erweiterbare Hyper-V-Switch das NativeForwardingRequired-Flag in den NET_BUFFER_LIST Strukturen für diese Pakete nicht fest. Eine Weiterleitungserweiterung kann dann die Paketheader bei Bedarf während der Weiterleitung ändern. Pakete, die geändert werden, müssen geklont und ihre ParentNetBufferList-Zeiger auf die ursprüngliche NET_BUFFER_LIST festgelegt werden. (Siehe Klonen von Paketdatenverkehr.)

Hinzufügen von Zielportdaten für den erweiterbaren Switch zu einem Paket

Klonen von Paketdatenverkehr

Weiterleitungserweiterungen

Paketfluss über den Datenpfad des erweiterbaren Switches

NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL

NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO