Delen via


Pakketstroom via het uitbreidbare switchgegevenspad

In dit onderwerp wordt beschreven hoe pakketten worden verplaatst naar of van uitbreidbare switchpoorten via het Hyper-V uitbreidbaar switchgegevenspad.

Opmerking In de uitbreidbare switchinterface staan NDIS-filterstuurprogramma's bekend als uitbreidbare switchuitbreidingen en wordt de stuurprogrammastack de uitbreidbare stuurprogrammastackgenoemd. Zie Hyper-V Extensible Switch Extensionsvoor meer informatie over de extensies.

Notitie Op deze pagina wordt ervan uitgegaan dat u bekend bent met de informatie in Overzicht van de Hyper-V Extensible Switch en Hybrid Forwarding.

Al het pakketverkeer dat via de poorten de uitbreidbare switch binnenkomt, volgt hetzelfde pad door de uitbreidbare stuurprogrammastack. Pakketverkeer dat is ontvangen van de externe netwerkadapterverbinding of verzonden vanaf een virtuele machine (VM)-netwerkadapterverbinding, wordt bijvoorbeeld via hetzelfde gegevenspad verplaatst.

In de volgende afbeelding ziet u het uitbreidbare switchgegevenspad voor NDIS 6.40 (Windows Server 2012 R2) en hoger.

Diagram met Hyper-V uitbreidbare switcharchitectuur voor NDIS 6.40 en latere versies.

In de volgende afbeelding ziet u het uitbreidbare switchgegevenspad voor NDIS 6.30 (Windows Server 2012).

Diagram met Hyper-V uitbreidbare switcharchitectuur voor NDIS 6.30.

Zie Hyper-V Architectuur voor uitbreidbare switch voor meer informatie over de onderdelen voor de uitbreidbare switchinterface.

Het uitbreidbare switchgegevenspad bevat de volgende onderdelen, vermeld in de volgorde waarin pakketten er doorheen stromen:

Bovenliggende protocolrand

  1. Pakketten komen aan bij de uitbreidbare switch van netwerkadapters die zijn verbonden met de switchpoorten. Deze pakketten worden eerst uitgegeven als verzendaanvragen vanaf de protocolrand van de uitbreidbare switch naar beneden het uitbreidbare switch-gegevenspad voor inkomend verkeer.

    De protocolgrens van de uitbreidbare switch bereidt de pakketten voor op het ingangsgegevenspad. De protocolgrens wijst een contextgebied toe voor deze pakketten dat de out-of-band (OOB) uitbreidbare switch-doorstuurcontext bevat. De OOB-gegevens worden gevuld met informatie over de bronpoort- en netwerkadapterverbinding van waaruit het pakket is geleverd aan de uitbreidbare switch.

    Zie Hyper-V Extensible Switch Forwarding Contextvoor meer informatie over de doorstuurcontext.

  2. In NDIS 6.40 (Windows Server 2012 R2) en hoger, als het pakket een NVGRE-pakket is van een externe netwerkadapter, stelt de uitbreidbare switch de vlag NativeForwardingRequired in de out-of-band-informatie (OOB) van het pakket in. Zie Hybrid Forwarding-voor meer informatie.

  3. Als het pakket is aangekomen op een poort waar het verkeer een virtueel subnet heeft, stelt de uitbreidbare switch het lid VirtualSubnetId van de NDIS_NET_BUFFER_LIST_VIRTUAL_SUBNET_INFO-structuur voor het pakket in.

    Notitie Het virtuele subnet kan een HNV-subnet of een virtueel subnet van derden zijn.

Gegevenspad voor inkomend verkeer

  1. Een extensie verkrijgt een pakket van het inkomend gegevenspad wanneer de functie FilterSendNetBufferLists wordt aangeroepen. De extensie stuurt het pakket door naar onderliggende extensies op het gegevenspad voor inkomend verkeer door NdisFSendNetBufferLists aan te roepen. Extensies voor filteren en doorsturen kunnen het pakket ook uit het gegevenspad voor inkomend verkeer verwijderen door NdisFSendNetBufferListsComplete aan te roepen.

  2. Bij het vastleggen van extensies die pakketten op het gegevenspad voor inkomend verkeer verkrijgen, kunnen zij de pakketgegevens inspecteren. Het vastleggen van extensies mag de verzendaanvragen voor pakketten in de inkomende gegevensstroom echter niet voltooien. Deze extensies moeten de pakketten altijd doorsturen naar onderliggende extensies in de uitbreidbare stuurprogrammastack.

    Een capture-extensie kan ook pakketten genereren op het gegevenspad voor inkomend verkeer. De extensie kan bijvoorbeeld pakketten genereren om verkeersomstandigheden te rapporteren aan een externe bewakingsapplicatie.

    Voor meer informatie over het genereren van pakketverkeer door een extensie, zie Oorspronkelijk Pakketverkeer.

  3. Bij het filteren van extensies kunnen ze pakketten verkrijgen op het gegevenspad voor inkomend verkeer en het volgende doen:

    • Pakketten verwijderen op basis van aangepast uitbreidbaar switch- of poortbeleid.

      Voor meer informatie over deze beleidsregels, zie Hyper-V Extensible Switch-beleidsregels.

      Notitie Pakketten die zijn verkregen op het gegevenspad voor inkomend verkeer, hebben geen doelpoorten gedefinieerd in de OOB-gegevens van het pakket. Als gevolg hiervan moeten filterextensies alleen aangepaste beleidsregels afdwingen op basis van de pakketgegevens of de bronpoort- of netwerkadapterverbinding van het pakket.

  • Kloon of wijzig pakketten die zijn verkregen via het gegevenspad voor inkomend verkeer.

  • Injecteer nieuwe pakketten in het gegevenspad voor inkomend verkeer.

  1. In NDIS 6.40 en hoger, na het vastleggen en filteren van extensies, maar vóór de doorstuurextensie op het gegevenspad voor inkomend verkeer, doet de uitbreidbare switch het volgende:

    • Als het pakket een NVGRE-pakket is van een externe netwerkadapter, is het adres in de pakketheader een pa-adres (provideradres). De uitbreidbare switch geeft dit aan door de vlag NativeForwardingRequired in de out-of-band-informatie (OOB) van het pakket in te stellen. Zie Hybrid Forwarding-voor meer informatie.

    • De uitbreidbare switch past het ingebouwde beleid voor inkomend verkeer toe op het pakket. Dit beleid kan toegangsbeheerlijsten (ACL's), DHCP Guard en Router Guard bevatten.

  2. Als een doorstuuruitbreiding niet is ingeschakeld in de uitbreidbare stuurprogrammastack, wordt de doelpoortmatrix voor een pakket bepaald door de uitbreidbare switch.

  3. Als een doorstuurextensie is ingeschakeld, moet deze het volgende doen wanneer het pakketten ontvangt op het ingangspad voor gegevens:

    • Als het pakket in NDIS 6.40 en hoger een NVGRE-pakket is (zie Hybrid Forwarding), kan de doorstuurextensie de doelpoortmatrix niet wijzigen in de OOB-gegevens van het pakket in het gegevenspad voor inkomend verkeer. Het kan echter het pakket laten vallen.

    • Als het pakket geen NVGRE-pakket is, moet de doorstuurextensie doelpoorten toevoegen aan de doelpoortmatrix in de OOB-gegevens van het pakket.

    • De doorstuurextensie moet pakketten verwijderen op basis van standaard of aangepast uitbreidbaar switch- of poortbeleid. Standaardswitch- of poortbeleidsregels omvatten eigenschappen voor beveiliging en virtueel LAN (VLAN). Als een doorstuuruitbreiding niet is ingeschakeld in de uitbreidbare stuurprogrammastack, worden deze beleidsregels afgedwongen door de uitbreidbare switch.

      Notitie Wanneer de doorstuurextensie pakketten filtert in het gegevenspad voor inkomend verkeer, worden filterregels toegepast op basis van de bronpoort en de doelpoorten die de extensie aan het pakket toewijst.

Daarnaast kan de doorstuurextensie het volgende doen:

  • Kloon of wijzig pakketten die zijn verkregen via het gegevenspad voor inkomend verkeer.

  • Injecteer nieuwe pakketten in het gegevenspad voor inkomend verkeer.

Onderliggende minipoortrand

  1. Wanneer het pakket aankomt op de onderliggende minipoortrand van de uitbreidbare switch, past de uitbreidbare switch het ingebouwde beleid toe op het pakket. Dit beleid omvat toegangsbeheerlijsten (ACL's) en QoS-eigenschappen (Quality of Service). Als het pakket niet wordt verwijderd vanwege dit beleid, genereert de uitbreidbare switch een ontvangstindicatie voor het pakket en wordt het pakket verder doorgestuurd naar het uitgaande gegevenspad.

    Notitie Als poortspiegeling is ingeschakeld op een poort waarnaar het pakket moet worden geleverd, voegt de minipoortrand een doelpoort toe aan de OOB-gegevens van het pakket voor de gespiegelde poort. De minipoortrand doet dit ongeacht of een doorstuuruitbreiding is geïnstalleerd en ingeschakeld in de uitbreidbare stuurprogrammastack. De minipoortrand voegt alleen de gespiegelde poort toe als deze nog niet is opgegeven in de matrix met doelpoorten voor het pakket.

  2. Als een doorstuurextensie niet is ingeschakeld, bepaalt de uitbreidbare switch de doelpoorten voor het pakket en voegt u deze doelpoorten toe aan de OOB-gegevens van het pakket voordat het pakket het uitgaande gegevenspad doorstuurt.

  3. In NDIS 6.40 en hoger voert het HNV-onderdeel alle benodigde NVGRE-inkapseling of decapsulatie uit na binnenkomst en voor vertrek, zodat de doorstuurextensie het pakket in ingekapselde en gedekapsuleerde vorm kan zien. Als het pakket bijvoorbeeld afkomstig is van een externe netwerkadapter en bestemd is voor een interne VM, verkrijgt de doorstuurextensie het ingekapselde pakket op inkomend verkeer en het ingekapselde pakket op uitgaand verkeer.

    Opmerking In het ingekapselde pakket is het adres in de pakketheader een PA-adres (provideradres). In het gedekapsuleerde pakket is het een klantadres (CA) in de adresruimte.

    1. Als het pakket een NVGRE-pakket is dat afkomstig is van een externe netwerkadapter, voert het onderdeel Hyper-V Network Virtualization (HNV) van de uitbreidbare switch NVGRE-decapsulatie uit op het pakket. Het HNV-onderdeel bepaalt de bestemmingen voor het pakket volgens het HNV-beleid en vervolgens stuurt de uitbreidbare switch het pakket door naar het uitgaande gegevenspad.

    2. Als het pakket afkomstig is van een interne VM, voert het HNV-onderdeel NVGRE-inkapseling uit op het pakket als HNV-beleid is ingesteld voor het pakket. Het HNV-onderdeel bepaalt de bestemmingen voor het pakket volgens het HNV-beleid en vervolgens stuurt de uitbreidbare switch het pakket door naar het uitgaande gegevenspad.

    3. Anders stuurt de doorstuurextensie het pakket verder via het uitgaande datapad.

  4. Als in NDIS 6.30 een doorstuurextensie is ingeschakeld, moet het pakket via het uitgaande gegevenspad worden doorgestuurd.

Uitgaand gegevenspad

  1. Een extensie verkrijgt een pakket van het uitgaande gegevenspad wanneer de functie FilterReceiveNetBufferLists wordt aangeroepen. De extensie stuurt het pakket door naar bovenliggende extensies op het uitgaande gegevenspad door NdisFIndicateReceiveNetBufferLists aan te roepen. Filter- en doorstuur-extensies kunnen het pakket ook verwijderen uit het uitgaande gegevenspad door aanroepen van NdisFReturnNetBufferLists.

  2. Wanneer de doorstuurextensie een pakket op het uitgaande gegevenspad verkrijgt, kan het de doelpoortgegevens van het pakket in de OOB-gegevens inspecteren.

    Notitie De extensie verkrijgt deze informatie van de OOB-gegevens door GetNetBufferListDestinations aan te roepen.

Op basis van standaard- of aangepaste switch- of poortbeleid kan de extensie de verzending van het pakket uitsluiten naar een of meer bestemmingpoorten die in de OOB-gegevens zijn opgenomen.

  1. In NDIS 6.40 (Windows Server 2012 R2) en hoger, na de doorstuurextensie, maar vóór het filteren en vastleggen van extensies op het uitgaande gegevenspad, past de uitbreidbare switch het ingebouwde uitgaande beleid toe op het pakket. Dit beleid kan bestaan uit trunk-modus, bewakingsmodus, uitgaande ACL's en QoS-eigenschappen (Quality of Service).

  2. Wanneer filterextensies een pakket op het uitgaande gegevenspad verkrijgen, kunnen ze de doelpoortgegevens van het pakket in de OOB-gegevens inspecteren. Op basis van aangepast switch- of poortbeleid kan de extensie de levering van het pakket uitsluiten van een of meer doelpoorten die zich in de OOB-gegevens bevinden.

    Als de filterextensie de gegevens in een pakket moet wijzigen, moet het pakket eerst worden gekloond zonder dat de poortbestemmingen behouden blijven. Vervolgens moet de extensie het gewijzigde pakket injecteren in het gegevenspad voor inkomend verkeer. Hierdoor kunnen de onderliggende extensies beleidsregels afdwingen voor het gewijzigde pakket en kan de doorstuurextensie poortbestemmingen toevoegen.

    Zie Klonen of Pakketverkeer voor meer informatie.

  3. Bij het vastleggen van extensies kunnen pakketten op het uitgaande gegevenspad worden opgehaald, zodat ze de pakketgegevens kunnen inspecteren. Als de capture-extensie echter pakketten moet genereren om verkeersomstandigheden te rapporteren aan een externe bewakingstoepassing, moet het door NdisFSendNetBufferLists aan te roepen deze pakketten genereren om een verzendbewerking te starten op het gegevenspad voor inkomend verkeer.

  4. Wanneer het pakket binnenkomt aan de bovenliggende protocolrand van de uitbreidbare switch, stuurt de uitbreidbare switchinterface het pakket door naar alle opgegeven doelpoorten.

  5. Zodra het pakket is doorgestuurd, voltooit de interface het pakket via hetzelfde pad in omgekeerde richting. Eerst roept de interface de functie FilterReturnNetBufferLists van de extensie aan om pakketten te voltooien die zijn doorgestuurd op het uitgaande gegevenspad. Vervolgens roept de interface de functie FilterSendNetBufferListsComplete van de extensie aan om pakketten te voltooien die zijn doorgestuurd op het gegevenspad voor inkomend verkeer.

    Wanneer het pakket is voltooid op zowel het uitgaande als het gegevenspad voor inkomend verkeer, voert de extensie alle benodigde pakketopruiming en naverwerking uit die mogelijk vereist zijn.