Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema wird beschrieben, wie Pakete über den Hyper-V erweiterbaren Switchdatenpfad zu oder von erweiterbaren Switchports wechseln.
Anmerkung In der erweiterbaren Switchschnittstelle werden NDIS-Filtertreiber als erweiterbare Switcherweiterungen bezeichnet, und der Treiberstapel wird als erweiterbarer Switchtreiberstapel bezeichnet. Weitere Informationen zu den Erweiterungen finden Sie unter Hyper-V Extensible Switch Extensions.
Anmerkung Diese Seite geht davon aus, dass Sie mit den Informationen in der Übersicht über den Hyper-V Extensible Switch und Hybrid Forwarding vertraut sind.
Der gesamte Paketdatenverkehr, der an dem erweiterbaren Switch von seinen Ports eingeht, folgt demselben Pfad über den erweiterbaren Switchtreiberstapel. Beispielsweise wechselt der Paketdatenverkehr, der von der Externen Netzwerkadapterverbindung empfangen oder von einer VM-Netzwerkadapterverbindung gesendet wird, über denselben Datenpfad.
Die folgende Abbildung zeigt den erweiterbaren Switch-Datenpfad für NDIS 6.40 (Windows Server 2012 R2) und höher.
Die folgende Abbildung zeigt den erweiterbaren Switchdatenpfad für NDIS 6.30 (Windows Server 2012).
Weitere Informationen zu den Komponenten für die erweiterbare Switchschnittstelle finden Sie unter Hyper-V Extensible Switch Architecture.
Der erweiterbare Switchdatenpfad weist die folgenden Teile auf, die in der Reihenfolge aufgeführt sind, in der pakete durch sie fließen:
- Überlagerndes Protokoll-Edge
- Eingangsdatenpfad
- Zugrunde liegende Miniport-Schnittstelle
- Datenausgangspfad
Darüberliegendes Protokoll-Edge
Pakete gelangen zum erweiterbaren Switch von Netzwerkadaptern, die mit den Switchports verbunden sind. Diese Pakete werden zuerst als Sendeanforderungen von der Protokollschnittstelle des erweiterbaren Switches durch den Eingangs-Datenpfad des Switches ausgegeben.
Der Protokollrand des erweiterbaren Switches bereitet die Pakete für den Eingangsdatenpfad vor. Der Protokollschnittstelle weist einen Kontextbereich für diese Pakete zu, der den out-of-band (OOB) erweiterbaren Switch-Weiterleitungskontext enthält. Es füllt die OOB-Daten mit Informationen über den Quellport und die Netzwerkadapterverbindung auf, von der das Paket an den erweiterbaren Switch übermittelt wurde.
Weitere Informationen zum Weiterleitungskontext finden Sie unter Hyper-V Extensible Switch Forwarding Context.
In NDIS 6.40 (Windows Server 2012 R2) und höher, wenn es sich bei dem Paket um ein NVGRE-Paket von einem externen Netzwerkadapter handelt, legt der erweiterbare Switch das NativeForwardingRequired-Flag in den OOB-Informationen (Out-of-Band) des Pakets fest. Weitere Informationen finden Sie unter Hybridweiterleitung.
Wenn das Paket an einem Port angekommen ist, an dem der Datenverkehr über ein virtuelles Subnetz verfügt, legt der erweiterbare Switch das VirtualSubnetId-Mitglied der NDIS_NET_BUFFER_LIST_VIRTUAL_SUBNET_INFO-Struktur für das Paket fest.
Anmerkung Das virtuelle Subnetz kann ein HNV-Subnetz oder ein virtuelles Drittanbieter-Subnetz sein.
Eingangsdatenpfad
Eine Erweiterung ruft ein Paket vom Eingangsdatenpfad ab, wenn seine FilterSendNetBufferLists-Funktion aufgerufen wird. Die Erweiterung leitet das Paket an zugrunde liegende Erweiterungen im Eingangsdatenpfad weiter, indem NdisFSendNetBufferLists aufgerufen wird. Durch Aufrufen von NdisFSendNetBufferListsComplete können Filter- und Weiterleitungserweiterungen auch das Paket aus dem Eingangsdatenpfad ablegen.
Beim Erfassen von Erweiterungen, wenn Pakete auf dem Eingangsdatenpfad erfasst werden, können sie die Paketdaten überprüfen. Das Erfassen von Erweiterungen darf jedoch nicht die Sendeanforderungen für Pakete im Eingangsdatenpfad abschließen. Diese Erweiterungen müssen die Pakete immer an zugrunde liegende Erweiterungen im erweiterbaren Switchtreiberstapel weiterleiten.
Eine Erfassungserweiterung kann auch Pakete auf dem Eingangsdatenpfad erzeugen. Beispielsweise kann die Erweiterung Pakete generieren, um Verkehrsbedingungen an eine Fernüberwachungsanwendung zu melden.
Weitere Informationen zur Erzeugung von Paketen durch eine Erweiterung finden Sie unter "Erzeugung von Paketdatenverkehr".
Beim Filtern durch Erweiterungen werden Pakete im eingehenden Datenpfad abgefangen, dabei können folgende Aktionen ausgeführt werden:
Verwerfen Sie Pakete basierend auf benutzerdefinierten erweiterbaren Switch- oder Portrichtlinien.
Weitere Informationen zu diesen Richtlinien finden Sie unterHyper-V Extensible Switch Policies.
Anmerkung Im Eingangsdatenpfad abgerufene Pakete verfügen nicht über Zielports, die in den OOB-Daten des Pakets definiert sind. Daher müssen Filtererweiterungen nur benutzerdefinierte Richtlinien auf der Grundlage der Paketdaten oder der Quellport- oder Netzwerkadapterverbindung des Pakets erzwingen.
Klonen oder Ändern von Paketen, die aus dem Eingangsdatenpfad abgerufen wurden.
Fügt neue Pakete in den Eingangsdatenpfad ein.
In NDIS 6.40 und höher führt der erweiterbare Schalter nach den Erfassungs- und Filtererweiterungen, aber vor der Weiterleitungserweiterung im Eingangsdatenpfad folgende Aktionen aus:
Wenn es sich bei dem Paket um ein NVGRE-Paket von einem externen Netzwerkadapter handelt, ist die Adresse im Paketheader eine Anbieteradressbereich-Adresse (PA). Der erweiterbare Switch gibt dies an, indem das Flag "NativeForwardingRequired" in den Out-of-Band-Informationen (OOB) des Pakets gesetzt wird. Weitere Informationen finden Sie unter Hybridweiterleitung.
Der erweiterbare Switch wendet die integrierten Eingangsrichtlinien auf das Paket an. Diese Richtlinien können Zugriffssteuerungslisten (Ingress Access Control Lists, ACLs), DHCP Guard und Router Guard enthalten.
Wenn eine Weiterleitungserweiterung im Erweiterbaren Switch-Treiberstapel nicht aktiviert ist, wird das Zielportarray für ein Paket durch den erweiterbaren Switch bestimmt.
Wenn eine Weiterleitungserweiterung aktiviert ist, muss dies beim Abrufen von Paketen im Eingangsdatenpfad folgendes tun:
In NDIS 6.40 und höher kann die Weiterleitungserweiterung das Zielportarray in den OOB-Daten des Pakets im Eingangsdatenpfad nicht ändern, wenn es sich bei dem Paket um ein NVGRE-Paket handelt (siehe Hybridweiterleitung). Es kann jedoch das Paket verwerfen.
Wenn das Paket kein NVGRE-Paket ist, muss die Weiterleitungserweiterung Zielports zum Zielportarray in den OOB-Daten des Pakets hinzufügen.
Die Weiterleitungserweiterung muss Pakete auf der Grundlage von Standard- oder benutzerdefinierten Richtlinien für erweiterbare Switches oder Ports ablegen. Standard-Switch- oder Port-Richtlinien umfassen Sicherheits- und Virtual-LAN (VLAN)-Eigenschaften. Wenn eine Weiterleitungserweiterung im erweiterbaren Switchtreiberstapel nicht aktiviert ist, werden diese Richtlinien vom erweiterbaren Switch erzwungen.
Anmerkung Wenn die Weiterleitungserweiterung Pakete im Eingangsdatenpfad filtert, wendet sie Filterregeln basierend auf dem Quellport sowie die Zielports an, die die Erweiterung dem Paket zuweist.
Darüber hinaus kann die Weiterleitungserweiterung folgende Aktionen ausführen:
Klonen oder Ändern von Paketen, die aus dem Eingangsdatenpfad abgerufen wurden.
Fügt neue Pakete in den Eingangsdatenpfad ein.
Zugrunde liegende Miniport-Edge
Wenn das Paket am zugrunde liegenden Miniport-Edge des erweiterbaren Switches eintrifft, wendet der erweiterbare Switch seine integrierten Richtlinien auf das Paket an. Diese Richtlinien umfassen Zugriffssteuerungslisten (Access Control Lists, ACLs) und QoS-Eigenschaften (Quality of Service). Wenn das Paket aufgrund dieser Richtlinien nicht verworfen wird, erzeugt der erweiterbare Switch eine Empfangsbestätigung für das Paket und leitet das Paket an den ausgehenden Datenpfad weiter.
Anmerkung Wenn die Portspiegelung für einen Port aktiviert ist, an den das Paket übermittelt werden soll, fügt der Miniport-Edge dem OOB-Daten des Pakets für den Spiegelport einen Zielport hinzu. Der Miniport-Edge führt dies unabhängig davon aus, ob eine Weiterleitungserweiterung im erweiterbaren Switchtreiberstapel installiert und aktiviert ist. Der Miniport-Edge fügt nur den Spiegelport hinzu, wenn er noch nicht im Array der Zielports für das Paket angegeben ist.
Wenn eine Weiterleitungserweiterung nicht aktiviert ist, bestimmt der erweiterbare Switch die Zielports für das Paket und fügt diese Zielports den OOB-Daten des Pakets hinzu, bevor es das Paket an den Ausgehenden Datenpfad weiterleitet.
In NDIS 6.40 und höher führt die HNV-Komponente alle erforderlichen NVGRE-Kapselungs- oder Entkapselungsvorgänge nach dem Eingang und vor dem Ausgang aus, sodass die Weiterleitungserweiterung das Paket in gekapselter und entkapselter Form sehen kann. Wenn das Paket beispielsweise von einem externen Netzwerkadapter stammt und für eine interne VM bestimmt ist, ruft die Weiterleitungserweiterung das gekapselte Paket beim Eingang und das entkapselte Paket beim Ausgang ab.
Anmerkung Im gekapselten Paket ist die Adresse im Paketheader eine Anbieteradresse (PA)-Leerzeichenadresse. Im entkapselten Paket handelt es sich um eine Adresse im Kundenadressraum (CA).
Wenn es sich bei dem Paket um ein NVGRE-Paket handelt, das von einem externen Netzwerkadapter empfangen wurde, führt die Hyper-V Network Virtualization (HNV)-Komponente des erweiterbaren Switches nvGRE-Entkapselung für das Paket aus. Die HNV-Komponente bestimmt die Ziele für das Paket gemäß den HNV-Richtlinien, und dann leitet der erweiterbare Switch das Paket über den Ausgehenden Datenpfad weiter.
Wenn das Paket von einer internen VM stammt, führt die HNV-Komponente NVGRE-Kapselung für das Paket durch, wenn HNV-Richtlinien für das Paket festgelegt sind. Die HNV-Komponente bestimmt die Ziele für das Paket gemäß den HNV-Richtlinien, und dann leitet der erweiterbare Switch das Paket über den Ausgehenden Datenpfad weiter.
Andernfalls leitet die Weiterleitungserweiterung das Paket an den Ausgehenden Datenpfad weiter.
Wenn in NDIS 6.30 eine Weiterleitungserweiterung aktiviert ist, muss das Paket entlang des Ausgangsdatenpfads weitergeleitet werden.
Datenausgangspfad
Eine Erweiterung ruft ein Paket vom Ausgangsdatenpfad ab, wenn seine FilterReceiveNetBufferLists-Funktion aufgerufen wird. Die Erweiterung leitet das Paket an Überlagerungserweiterungen weiter, die sich im ausgehenden Datenpfad befinden, indem NdisFIndicateReceiveNetBufferLists aufgerufen wird. Durch Aufrufen von NdisFReturnNetBufferLists können Filter- und Weiterleitungserweiterungen auch das Paket aus dem Ausgangsdatenpfad ablegen.
Wenn die Weiterleitungserweiterung ein Paket auf dem Ausgangsdatenpfad abruft, kann sie die Zielportinformationen in den OOB-Daten des Pakets überprüfen.
Anmerkung Die Erweiterung ruft diese Informationen aus den OOB-Daten ab, indem GetNetBufferListDestinations aufgerufen wird.
Basierend auf Standard- oder benutzerdefinierten Switch- oder Portrichtlinien kann die Erweiterung die Übermittlung des Pakets an einen oder mehrere Zielports ausschließen, die in den OOB-Daten enthalten sind.
In NDIS 6.40 (Windows Server 2012 R2) und höher wendet der erweiterbare Switch nach der Weiterleitungserweiterung, aber vor dem Filtern und Erfassen von Erweiterungen im Ausgangsdatenpfad die integrierten Ausgangsrichtlinien auf das Paket an. Diese Richtlinien können Trunkmodus, Überwachungsmodus, Ausgangs-ACLs und QoS-Eigenschaften (Quality of Service) umfassen.
Wenn Filtererweiterungen ein Paket auf dem Ausgangsdatenpfad erhalten, können sie die Zielport-Informationen des Pakets in den OOB-Daten überprüfen. Basierend auf benutzerdefinierten Switch- oder Portrichtlinien kann die Erweiterung die Übermittlung des Pakets an einen oder mehrere Zielports ausschließen, die in den OOB-Daten enthalten sind.
Wenn die Filtererweiterung die Daten in einem Paket ändern muss, muss sie zuerst das Paket klonen, ohne Portziele beizubehalten. Anschließend muss die Erweiterung das geänderte Paket in den Eingangsdatenpfad einfügen. Dadurch können die zugrunde liegenden Erweiterungen Richtlinien für das geänderte Paket erzwingen, und die Weiterleitungserweiterung kann Portziele hinzufügen.
Weitere Informationen finden Sie unter Klonen oder Paketdatenverkehr.
Wenn Erweiterungen Pakete im Ausgangsdatenpfad erfassen, können sie die Paketdaten überprüfen. Wenn die Erfassungserweiterung jedoch Pakete erstellen muss, um Datenverkehrsbedingungen an eine Remoteüberwachungsanwendung zu melden, muss sie diesen Paketdatenverkehr durch Aufrufen von NdisFSendNetBufferLists zum Initiieren eines Sendevorgangs für den eingehenden Datenpfad auslösen.
Wenn das Paket am überlässigen Protokollrand des erweiterbaren Switches eintrifft, leitet die erweiterbare Switchschnittstelle das Paket an alle angegebenen Zielports weiter.
Sobald das Paket weitergeleitet wurde, schließt die Schnittstelle das Paket über denselben Pfad in umgekehrter Weise ab. Zuerst ruft die Schnittstelle die FilterReturnNetBufferLists-Funktion der Erweiterung auf, um pakete abzuschließen, die auf dem Datenpfad des Ausgangs weitergeleitet werden. Anschließend ruft die Schnittstelle die FilterSendNetBufferListsComplete-Funktion der Erweiterung auf, um pakete abzuschließen, die auf dem Eingangsdatenpfad weitergeleitet werden.
Wenn das Paket sowohl für den Ausgangs- als auch für den Eingangsdatenpfad abgeschlossen ist, führt die Erweiterung alle erforderlichen Paketbereinigungen und Nachbearbeitungen durch, die möglicherweise notwendig sind.