Delen via


Overzicht van Hyper-V uitbreidbare switchpoorten

Elke netwerkverbinding met de Hyper-V uitbreidbare switch wordt vertegenwoordigd door een poort. De uitbreidbare switchinterface maakt en configureert een poort voordat er een netwerkverbinding wordt gemaakt. Nadat de netwerkverbinding is afgebroken, kan de interface de poort verwijderen of opnieuw gebruiken voor een andere netwerkverbinding.

Aan elke Hyper-V kindpartitie die met een netwerkinterface is geconfigureerd, wordt een poort toegewezen op de uitbreidbare switch. Wanneer een Hyper-V kindpartitie wordt gestart, creëert de extensible switch-interface een poort voordat de netwerkadapter van de virtuele machine (VM) beschikbaar is in het gastbesturingssysteem. Nadat de VM-netwerkadapter beschikbaar is gemaakt en geïnitialiseerd, maakt de uitbreidbare switchinterface een netwerkverbinding tussen de VM-netwerkadapter en de uitbreidbare switchpoort. Als de onderliggende partitie is gestopt, verwijdert de uitbreidbare switchinterface eerst de netwerkverbinding en vervolgens de uitbreidbare switchpoort.

Wanneer een uitbreidbare switchpoort wordt gemaakt, wordt deze geconfigureerd met een unieke id en naam. Nadat deze is gemaakt, kan de uitbreidbare switchpoort worden ingericht met beleidsregels die verschillende kenmerken definiëren voor het beheer van pakketverkeer via de poort. Standaardpoortbeleid kan bijvoorbeeld worden gedefinieerd voor VLAN-kenmerken (Virtual LAN) en toegangsbeperkingen voor poortverkeer. Daarnaast kunnen onafhankelijke softwareleveranciers (ISV's) aangepaste beleidsregels definiëren waarmee afzonderlijke poorten kunnen worden ingericht. Zie Poortbeleidvoor meer informatie.

Uitbreidbare switchpoorten bestaan uit de volgende typen:

validatiepoorten
Validatiepoorten worden gebruikt om poortinstellingen te valideren en te verifiëren. Deze poorten zijn tijdelijk en worden onder bepaalde voorwaarden gemaakt.

Wanneer bijvoorbeeld een Hyper-V onderliggende partitie wordt gemaakt of opnieuw wordt geconfigureerd voor netwerktoegang, maakt de uitbreidbare switchinterface een validatiepoort. De interface gebruikt deze poort om de instellingen voor de netwerkverbinding met de netwerkadapter van de virtuele machine (VM) van de partitie te controleren. Nadat de verificatie is voltooid, wordt de validatiepoort verwijderd en wordt er een operationele poort gemaakt.

Zie Validatiepoortenvoor meer informatie.

Operationele poorten
Operationele poorten worden gemaakt om een uitbreidbare switchnetwerkadapterverbinding te hosten. Wanneer een operationele poort wordt gemaakt, wordt er een poorttype toegewezen. Dit poorttype is van kracht nadat de poort is gemaakt en voordat deze wordt afgebroken. Voor poorten die zijn toegewezen aan Hyper-V subpartities, blijft het operationele poorttype van kracht terwijl de partitie operationeel is en wordt uitgevoerd.

Zie Operationele poortenvoor meer informatie.

Uitbreidingen voor uitbreidbare switch worden op de hoogte gesteld van het maken, bijwerken en verwijderen van poorten via de volgende OID-aanvragen (Extensible Switch Object Identifier):

OID_SWITCH_PORT_CREATE
De protocolrand van de uitbreidbare switch geeft een OID-setaanvraag van OID_SWITCH_PORT_CREATE om uitbreidbare switchextensies te informeren over het maken van een uitbreidbare switchpoort.

De extensie kan de aanmaakmelding vetoeren door STATUS_DATA_NOT_ACCEPTED voor de OID-aanvraag te retourneren. Als een extensie bijvoorbeeld geen resources kan toewijzen om het geconfigureerde beleid op de poort af te dwingen, verhindert de extensie de creatiemelding.

Als de extensie de melding voor het maken accepteert, moet deze de OID-aanvraag doorsturen naar de uitbreidbare switchstuurprogrammastack. De extensie bewaakt de voltooiingsstatus van deze OID-aanvraag om te bepalen of onderliggende extensies de melding voor het maken van de poort hebben vetoeerd.

Extensies kunnen pakketten pas doorsturen naar de zojuist gemaakte poort als er een netwerkverbinding is gemaakt. Zie Hyper-V Uitbreidbare switchnetwerkadaptersvoor meer informatie over dit proces.

OID_SWITCH_PORT_UPDATED
De protocolrand van de uitbreidbare switch geeft een OID-setaanvraag van OID_SWITCH_PORT_UPDATED om uitbreidbare switchextensies op de hoogte te stellen dat de parameters van een uitbreidbare switchpoort worden bijgewerkt. De OID wordt alleen uitgegeven voor poorten die al zijn gemaakt en die nog niet zijn begonnen met het teardown-/verwijderproces. Op dit moment is alleen het veld PortFriendlyName onderhevig aan updates na de creatie.

De protocolrand van de uitbreidbare switch geeft deze OID-aanvraag uit wanneer de vorige netwerkverbinding met de poort is afgebroken en alle OID-aanvragen naar de poort zijn voltooid.

Opmerking Deze OID-aanvraag kan worden uitgegeven als er nog geen netwerkadapterverbinding met de poort is gemaakt.

De extensie moet deze OID-setaanvraag altijd doorsturen naar de uitbreidbare switchstuurprogrammastack. De extensie mag het verzoek niet laten mislukken.

OID_SWITCH_PORT_TEARDOWN
De protocolrand van de uitbreidbare switch geeft een OID-setaanvraag van OID_SWITCH_PORT_TEARDOWN om uitbreidbare switchuitbreidingen op de hoogte te stellen dat een uitbreidbare switchpoort wordt verwijderd. De protocolrand van de uitbreidbare switch geeft deze OID-aanvraag uit wanneer de vorige netwerkverbinding met de poort is afgebroken en alle OID-aanvragen naar de poort zijn voltooid.

Opmerking Deze OID-aanvraag kan worden uitgegeven als er nog geen netwerkadapterverbinding met de poort is gemaakt.

De extensie moet deze OID-setaanvraag altijd doorsturen naar de uitbreidbare switchstuurprogrammastack. De extensie mag het verzoek niet laten mislukken.

Nadat de extensie deze OID-aanvraag heeft doorgestuurd, kan deze geen OID-aanvragen meer uitgeven voor de poort die wordt verwijderd.

OID_SWITCH_PORT_DELETE
De protocolrand van de uitbreidbare switch geeft een OID-setaanvraag van OID_SWITCH_PORT_DELETE aan om uitbreidbare switchextensies op de hoogte te stellen dat een uitbreidbare switchpoort is verwijderd. De protocolrand van de uitbreidbare switch geeft deze OID-aanvraag uit nadat de OID_SWITCH_PORT_TEARDOWN aanvraag en OID-aanvragen die zijn gericht op de poort zijn voltooid.

De extensie moet deze OID-setaanvraag altijd doorsturen naar de uitbreidbare switchstuurprogrammastack. De extensie mag de aanvraag niet laten mislukken.

Aan alle uitbreidbare switchpoorten die zijn gemaakt voor netwerkverbindingen, wordt een id toegewezen die groter is dan NDIS_SWITCH_DEFAULT_PORT_ID. De NDIS_SWITCH_DEFAULT_PORT_ID-identificator is voorbehouden en wordt op de volgende manieren gebruikt:

  • De bronpoort-id voor een pakket wordt opgeslagen in de out-of-band (OOB) doorstuurcontext van het pakket die is gekoppeld aan de NET_BUFFER_LIST structuur. Een bronpoort-id van NDIS_SWITCH_DEFAULT_PORT_ID geeft aan dat het pakket afkomstig is van de uitbreidbare switchextensie en niet van een uitbreidbare switchpoort. Een pakket met een bronpoort-id van NDIS_SWITCH_DEFAULT_PORT_ID wordt vertrouwd en omzeilt het uitbreidbare switchpoortbeleid, zoals toegangsbeheerlijsten (ACL's) en quality of service (QoS).

    De extensie kan ervoor zorgen dat het pakket wordt behandeld alsof het afkomstig is van een bepaalde poort. Hierdoor kan het beleid voor die poort worden toegepast op het pakket. De extensie roept SetNetBufferListSource aan om de bronpoort voor het pakket te wijzigen.

    Er kunnen echter situaties zijn waarin de extensie mogelijk de bronpoort-id van het pakket aan NDIS_SWITCH_DEFAULT_PORT_IDwilt toewijzen. De extensie kan bijvoorbeeld de bronpoort-id instellen op NDIS_SWITCH_DEFAULT_PORT_ID voor eigen beheerpakketten die naar een apparaat in het externe netwerk worden verzonden.

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

  • OID-aanvragen (Object Identifier) van OID_SWITCH_NIC_REQUEST worden door de uitbreidbare switchinterface uitgegeven om OID-aanvragen te kapselen die naar de externe netwerkadapter van de uitbreidbare switch worden verstuurd. Hardware-offload-OID-verzoeken worden bijvoorbeeld door de interface ingekapseld voordat ze naar beneden worden uitgegeven in de uitbreidbare switch-stuurprogrammastack.

    Een extensie kan ook ingekapselde OID-aanvragen uitgeven om aanvragen door te sturen naar beneden het uitbreidbare switchbesturingselementpad. Hierdoor kunnen extensies de mogelijkheden van een onderliggende fysieke netwerkadapter opvragen of configureren.

    De InformationBuffer lid van de NDIS_OID_REQUEST-structuur voor deze OID-aanvraag bevat een aanwijzer naar een NDIS_SWITCH_NIC_OID_REQUEST structuur. Als het SourcePortId lid is ingesteld op NDIS_SWITCH_DEFAULT_PORT_ID, geeft dit aan dat de OID-aanvraag afkomstig is van de uitbreidbare switchinterface. Als de DestinationPortId- is ingesteld op NDIS_SWITCH_DEFAULT_PORT_ID, geeft dit aan dat de OID-aanvraag is gericht op verwerking door een extensie in de uitbreidbare stuurprogrammastack.

    Voor meer informatie over het controlepad voor OID-aanvragen, zie Hyper-V Extensible Switch Control Path voor OID-aanvragen.

  • NDIS-statusaanduidingen van NDIS_STATUS_SWITCH_NIC_STATUS worden uitgegeven door de miniport-rand van de uitbreidbare schakelaar om een statusindicatie van de externe netwerkadapter van de uitbreidbare schakelaar in te kapselen.

    Een extensie kan ook ingekapselde NDIS-statusindicaties uitgeven om indicaties door te sturen naar het uitbreidbare schakelbesturingselementpad. Hierdoor kunnen extensies de gerapporteerde mogelijkheden van een onderliggende fysieke netwerkadapter wijzigen.

    De StatusBuffer lid van de NDIS_STATUS_INDICATION-structuur voor deze indicatie bevat een aanwijzer naar een NDIS_SWITCH_NIC_STATUS_INDICATION structuur. Als het SourcePortId lid is ingesteld op NDIS_SWITCH_DEFAULT_PORT_ID, geeft dit aan dat de statusindicatie afkomstig is van de uitbreidbare switchinterface. Als de DestinationPortId- is ingesteld op NDIS_SWITCH_DEFAULT_PORT_ID, geeft dit aan dat de OID-aanvraag is gericht op verwerking door een extensie in de uitbreidbare stuurprogrammastack.

    Voor meer informatie over het besturingspad voor NDIS-statusindicaties, zie Hyper-V Extensible Switch Control Path voor NDIS-statusindicaties.

De uitbreidbare interface van de switch onderhoudt een referentieteller voor elke poort die is aangemaakt. Een poort wordt niet verwijderd als de verwijzingsteller een niet-nulwaarde heeft. De interface biedt de volgende handlerfuncties voor het verhogen of verlagen van de referentiemeteritems van een uitbreidbare switchpoort:

ReferenceSwitchPort
Met de uitbreidbare switchextensie wordt deze functie aangeroepen om het referentiemeteritem van een poort te verhogen. Zolang de verwijzingsteller een waarde heeft die niet nul is, zal de protocollaire rand van de uitbreidbare switch geen OID-setaanvraag (Object Identifier) van OID_SWITCH_PORT_DELETE indienen om de uitbreidbare switchpoort te verwijderen.

De extensie moet ReferenceSwitchPort aanroepen voordat een bewerking wordt uitgevoerd waarvoor de poort een actieve status moet hebben. De extensie moet bijvoorbeeld ReferenceSwitchPort aanroepen voordat er een OID-methodeaanvraag van OID_SWITCH_PORT_PROPERTY_ENUMwordt uitgevoerd.

Opmerking De extensie mag geen ReferenceSwitchPort- aanroepen voor een poort nadat er een OID-setaanvraag van OID_SWITCH_PORT_TEARDOWN voor die poort is ontvangen.

DereferenceSwitchPort
De uitbreidbare switchextensie roept deze functie aan om de referentieteller van een poort te verlagen.

De extensie moet DereferenceSwitchPort aanroepen nadat de bewerking op de poort is voltooid. Als bijvoorbeeld de extensie met de naam ReferenceSwitchPort voordat een OID_SWITCH_PORT_PROPERTY_ENUM-aanvraag is uitgegeven, moet de extensie DereferenceSwitchPort aanroepen nadat de OID-aanvraag is voltooid.

Opmerking NDIS-poorten en uitbreidbare switchpoorten verschillende objecten zijn. Pakketten die door het uitbreidbare switchgegevenspad gaan, worden altijd toegewezen aan het NDIS-poortnummer van NDIS_DEFAULT_PORT_NUMBER. Het bron- en bestemmingsuitbreidbare switchpoortnummer van het pakket kan echter een waarde hebben van NDIS_SWITCH_DEFAULT_PORT_ID of hoger. Zie Hyper-V Extensible Switch Data Pathvoor meer informatie.