IPPROTO_IPV6 socketopties
In de volgende tabellen worden IPPROTO_IPV6 socketopties beschreven die van toepassing zijn op sockets die zijn gemaakt voor de IPv6-adresfamilie (AF_INET6). Zie de getsockopt en setsockopt functiereferentiepagina's voor meer informatie over het ophalen en instellen van socketopties.
Als u protocollen wilt inventariseren en ondersteunde eigenschappen voor elk geïnstalleerd protocol wilt detecteren, gebruikt u de WSAEnumProtocols, WSCEnumProtocolsof de functie WSCEnumProtocols32.
Voor sommige socketopties is meer uitleg vereist dan deze tabellen kunnen overbrengen; dergelijke opties bevatten koppelingen naar aanvullende informatie.
Opties
Optie | Toevoegen | set | Type optval | Beschrijving |
---|---|---|---|---|
IP_ORIGINAL_ARRIVAL_IF | ja | ja | DWORD (Booleaanse waarde) | Geeft aan of de LPFN_WSARECVMSG (WSARecvMsg) functie optionele besturingsgegevens moet retourneren die de oorspronkelijke aankomstinterface bevatten waar het pakket is ontvangen voor datagram sockets. Deze optie wordt gebruikt met IPv6-overgangstechnologieën (bijvoorbeeld 6to4, ISATAP en Teredo-tunnels) die adrestoewijzing en automatische tunneling voor host-naar-host bieden voor unicast-IPv6-verkeer wanneer IPv6-hosts IP4-netwerken moeten doorlopen om andere IPv6-netwerken te bereiken. IPv6-pakketten worden via tunnel verzonden als IPv4-pakketten. Met deze optie kan de oorspronkelijke IPv4-interface waar het pakket is ontvangen, worden geretourneerd in de WSAMSG- structuur. |
IPV6_ADD_IFLIST | ja | DWORD (IF_INDEX) | Voegt een interfaceindex toe aan de IFLIST die is gekoppeld aan de optie IP_IFLIST. | |
IPV6_ADD_MEMBERSHIP | ja | ipv6_mreq | Koppel de socket aan de opgegeven multicastgroep op de opgegeven interface. Deze optie is alleen geldig voor datagram en onbewerkte sockets (het sockettype moet SOCK_DGRAM of SOCK_RAW zijn). | |
IPV6_DEL_IFLIST | ja | DWORD (IF_INDEX) | Hiermee verwijdert u een interface-index uit de IFLIST die is gekoppeld aan de optie IP_IFLIST. Vermeldingen kunnen alleen door de toepassing worden verwijderd. Houd er dus rekening mee dat vermeldingen verlopen zodra een interface is verwijderd. | |
IPV6_DROP_MEMBERSHIP | ja | ipv6_mreq | Laat de opgegeven multicastgroep uit de opgegeven interface. Deze optie is alleen geldig voor datagram en onbewerkte sockets (het sockettype moet SOCK_DGRAM of SOCK_RAW zijn). | |
IPV6_GET_IFLIST | ja | DWORD[] (IF_INDEX[]) | Hiermee haalt u de huidige IFLIST op die is gekoppeld aan de optie IP_IFLIST. Retourneert een fout als IP_IFLIST niet is ingeschakeld. | |
IPV6_HDRINCL | ja | ja | DWORD(booleaanse waarde) | Geeft aan dat de toepassing de IPv6-header op alle uitgaande gegevens levert. Als de parameter optval is ingesteld op 1 in de aanroep voor setsockopt-, is de optie ingeschakeld. Als optval- is ingesteld op 0, wordt de optie uitgeschakeld. De standaardwaarde is uitgeschakeld. Deze optie is alleen geldig voor datagram- en onbewerkte sockets (het sockettype moet SOCK_DGRAM of SOCK_RAW zijn). Een TCP/IP-serviceprovider die ondersteuning biedt voor SOCK_RAW moet ook IPV6_HDRINCL ondersteunen. |
IPV6_HOPLIMIT | ja | ja | DWORD (Booleaanse waarde) | Geeft aan dat TTL-gegevens (hop) moeten worden geretourneerd in de LPFN_WSARECVMSG (WSARecvMsg) functie. Als optval- is ingesteld op 1 in de aanroep naar setsockopt, is de optie ingeschakeld. Als deze optie is ingesteld op 0, is de optie uitgeschakeld. Deze optie is alleen geldig voor datagram- en onbewerkte sockets (het sockettype moet SOCK_DGRAM of SOCK_RAW zijn). |
IPV6_IFLIST | ja | ja | DWORD (Booleaanse waarde) | Hiermee haalt u de IP_IFLIST toestand van de socket op of stelt u deze in. Wanneer deze optie is ingesteld op true, is datagram-ontvangst beperkt tot interfaces die zich in de IFLIST bevinden. Datagrammen die op andere interfaces worden ontvangen, worden genegeerd. IFLIST begint leeg. Gebruik IP_ADD_IFLIST en IP_DEL_IFLIST om de IFLIST te bewerken. |
IPV6_JOIN_GROUP | ja | ipv6_mreq | Hetzelfde als IPV6_ADD_MEMBERSHIP | |
IPV6_LEAVE_GROUP | ja | ipv6_mreq | Hetzelfde als IPV6_DROP_MEMBERSHIP | |
IPV6_MTU | ja | DWORD | Haalt de schatting van het systeem op van het pad MTU. De socket moet zijn aangesloten. | |
IPV6_MTU_DISCOVER | ja | ja | DWORD (PMTUD_STATE) | Hiermee haalt u de MTU-detectiestatus van het pad voor de socket op of stelt u deze in. De standaardwaarde is IP_PMTUDISC_NOT_SET. Voor stroomsockets worden IP_PMTUDISC_NOT_SET en IP_PMTUDISC_DO pad MTU-detectie uitgevoerd. IP_PMTUDISC_DONT en IP_PMTUDISC_PROBE schakelt pad MTU-detectie uit. Voor datagramsockets, indien ingesteld op IP_PMTUDISC_DO, wordt geprobeerd pakketten te verzenden die groter zijn dan het pad MTU, resulteert dit in een fout. Als deze optie is ingesteld op IP_PMTUDISC_DONT, worden pakketten gefragmenteerd volgens interface MTU. Als deze optie is ingesteld op IP_PMTUDISC_PROBE, treedt er een fout op bij het verzenden van pakketten die groter zijn dan interface-MTU. |
IPV6_MULTICAST_HOPS | ja | ja | DWORD | Hiermee wordt de TTL-waarde opgehaald of ingesteld die is gekoppeld aan IPv6 multicast-verkeer op de socket. Het is ongeldig om de TTL in te stellen op een waarde die groter is dan 255. Deze optie is alleen geldig voor datagram- en onbewerkte sockets (het sockettype moet SOCK_DGRAM of SOCK_RAW zijn). |
IPV6_MULTICAST_IF | ja | ja | DWORD | Hiermee haalt u de uitgaande interface op voor het verzenden van IPv6 multicast-verkeer. Met deze optie wordt de standaardinterface voor het ontvangen van IPv6 multicast-verkeer niet gewijzigd. Deze optie is belangrijk voor multihomed computers. De invoerwaarde voor het instellen van deze optie is een 4-byte interface-index van de gewenste uitgaande interface in host bytevolgorde. De functie GetAdaptersAddresses kan worden gebruikt om de interface-indexinformatie te verkrijgen. Als optval- is ingesteld op NULL- in aanroep naar setsockopt-, wordt de standaard-IPv6-interface gebruikt. Als optval nul is, wordt de standaardinterface voor het ontvangen van multicast opgegeven voor het verzenden van multicast-verkeer. Wanneer u deze optie krijgt, retourneert de optval de huidige standaardinterface-index voor het verzenden van multicast IPv6-verkeer in host bytevolgorde. |
IPV6_MULTICAST_LOOP | ja | ja | DWORD (Booleaanse waarde) | Geeft aan dat multicastgegevens die op de socket worden verzonden, worden herhaald naar de sockets die buffer ontvangen als deze ook aan de doel-multicastgroep zijn gekoppeld. Als optval- is ingesteld op 1 in de aanroep naar setsockopt, is de optie ingeschakeld. Als deze optie is ingesteld op 0, is de optie uitgeschakeld. Deze optie is alleen geldig voor datagram- en onbewerkte sockets (het sockettype moet SOCK_DGRAM of SOCK_RAW zijn). |
IPV6_PKTINFO | ja | ja | DWORD (Booleaanse waarde) | Geeft aan dat pakketgegevens moeten worden geretourneerd door de LPFN_WSARECVMSG (WSARecvMsg) functie. |
IPV6_PROTECTION_LEVEL | ja | ja | INT | Hiermee kunt u een socket beperken tot een opgegeven bereik, zoals adressen met hetzelfde lokale koppelings- of site-voorvoegsel. Biedt verschillende beperkingsniveaus en standaardinstellingen. Zie IPV6_PROTECTION_LEVEL voor meer informatie. |
IPV6_RECVIF | ja | ja | DWORD (Booleaanse waarde) | Geeft aan of de IP-stack de besturingsbuffer moet vullen met details over welke interface een pakket met een datagramsocket heeft ontvangen. Wanneer deze waarde waar is, retourneert de LPFN_WSARECVMSG (WSARecvMsg) functie optionele besturingsgegevens met de interface waarin het pakket is ontvangen voor datagram sockets. Met deze optie kan de IPv6-interface waar het pakket is ontvangen, worden geretourneerd in de WSAMSG structuur. Deze optie is alleen geldig voor datagram- en onbewerkte sockets (het sockettype moet SOCK_DGRAM of SOCK_RAW zijn). |
IPV6_RECVTCLASS | ja | ja | DWORD (Booleaanse waarde) | Geeft aan of de IP-stack de besturingsbuffer moet vullen met een bericht met het veld Traffic Class IPv6-header op een ontvangen datagram. Als deze waarde waar is, retourneert de LPFN_WSARECVMSG (WSARecvMsg) functie optionele besturingsgegevens met de veldwaarde IPv6-header traffic class van het ontvangen datagram. Met deze optie kan het veld Traffic Class IPv6-header van het ontvangen datagram worden geretourneerd in de WSAMSG- structuur. Het geretourneerde berichttype wordt IPV6_TCLASS. Alle DSCP- en ECN-bits van het veld Verkeersklasse worden geretourneerd. Deze optie is alleen geldig voor datagram sockets (het sockettype moet SOCK_DGRAM). |
IPV6_RECVECN | ja | ja | DWORD (Booleaanse waarde) | Geeft aan of de IP-stack de besturingsbuffer moet vullen met een bericht met de ECN-bits van het veld IPv6-header van verkeersklasse op een ontvangen datagram. Als deze waarde waar is, retourneert de LPFN_WSARECVMSG (WSARecvMsg) functie optionele besturingsgegevens met de ECN-bits van de veldwaarde IPv6-header traffic class van het ontvangen datagram. Met deze optie kunnen de ECN-bits van het veld Traffic Class IPv6-header van het ontvangen datagram worden geretourneerd in de structuur van de WSAMSG-. Het geretourneerde berichttype wordt IPV6_ECN. Alle 2 ECN-bits van het veld Verkeersklasse worden geretourneerd. Deze optie is alleen geldig voor datagram en onbewerkte sockets (het sockettype moet SOCK_DGRAM of SOCK_RAW zijn). Voor typeveiligheid moet u de functies WSAGetRecvIPEcn en WSASetRecvIPEcn functies gebruiken in plaats van de socketoptie rechtstreeks te gebruiken. |
IPV6_UNICAST_HOPS | ja | ja | DWORD | Hiermee haalt u de huidige TTL-waarde op die is gekoppeld aan de IPv6-socket voor unicast-verkeer. Het is ongeldig om de TTL in te stellen op een waarde die groter is dan 255. |
IPV6_UNICAST_IF | ja | ja | DWORD (IF_INDEX) | Hiermee haalt u de uitgaande interface op voor het verzenden van IPv6-verkeer. Met deze optie wordt de standaardinterface voor het ontvangen van IPv6-verkeer niet gewijzigd. Deze optie is belangrijk voor multihomed computers. De invoerwaarde voor het instellen van deze optie is een 4-byte interface-index van de gewenste uitgaande interface in host bytevolgorde. De functie GetAdaptersAddresses kan worden gebruikt om de interface-indexinformatie te verkrijgen. Als optval- nul is, wordt de standaardinterface voor het verzenden van IPv6-verkeer ingesteld op niet-opgegeven. Wanneer u deze optie krijgt, retourneert de optval de huidige standaardinterface-index voor het verzenden van IPv6-verkeer in host bytevolgorde. |
IPV6_USER_MTU | ja | ja | DWORD | Hiermee haalt u een bovengrens op voor de MTU van de IP-laag (in bytes) voor de opgegeven socket. Als de waarde hoger is dan de schatting van het pad MTU (die u op een verbonden socket kunt ophalen door een query uit te voeren op de IPV6_MTU socketoptie), heeft de optie geen effect. Als de waarde lager is, worden uitgaande pakketten groter dan dit gefragmenteerd of niet verzonden, afhankelijk van de waarde van IPV6_DONTFRAG. De standaardwaarde is IP_UNSPECIFIED_USER_MTU (MAXULONG). Voor typeveiligheid moet u de functies WSAGetIPUserMtu en WSASetIPUserMtu functies gebruiken in plaats van de socketoptie rechtstreeks te gebruiken. |
IPV6_V6ONLY | ja | ja | DWORD (Booleaanse waarde) | Geeft aan of een socket die is gemaakt voor de AF_INET6-adresfamilie alleen is beperkt tot IPv6-communicatie. Sockets die zijn gemaakt voor de AF_INET6-adresfamilie kunnen worden gebruikt voor zowel IPv6- als IPv4-communicatie. Sommige toepassingen willen mogelijk het gebruik van een socket beperken die is gemaakt voor de AF_INET6 adresfamilie tot alleen IPv6-communicatie. Wanneer deze waarde niet nul is (de standaardinstelling voor Windows), kan een socket die is gemaakt voor de AF_INET6-adresfamilie alleen worden gebruikt voor het verzenden en ontvangen van IPv6-pakketten. Wanneer deze waarde nul is, kan een socket die is gemaakt voor de AF_INET6 adresfamilie worden gebruikt om pakketten te verzenden en ontvangen van en naar een IPv6-adres of een IPv4-adres. Houd er rekening mee dat de mogelijkheid om te communiceren met een IPv4-adres het gebruik van toegewezen IPv4-adressen vereist. Deze socketoptie wordt ondersteund op Windows Vista of hoger. |
Windows-ondersteuning voor IPPROTO_IPV6 socketopties
Optie | Windows 8 | Windows Server 2012 | Windows 7 | Windows Server 2008 | Windows Vista |
---|---|---|---|---|---|
IP_ORIGINAL_ARRIVAL_IF | ja | ja | ja | ||
IPV6_ADD_IFLIST | Vanaf Windows 10 versie 1803 | ||||
IPV6_ADD_MEMBERSHIP | ja | ja | ja | ja | ja |
IPV6_DEL_IFLIST | Vanaf Windows 10 versie 1803 | ||||
IPV6_DROP_MEMBERSHIP | ja | ja | ja | ja | ja |
IPV6_GET_IFLIST | Vanaf Windows 10 versie 1803 | ||||
IPV6_HDRINCL | ja | ja | ja | ja | ja |
IPV6_HOPLIMIT | ja | ja | ja | ja | ja |
IPV6_IFLIST | Vanaf Windows 10 versie 1803 | ||||
IPV6_JOIN_GROUP | ja | ja | ja | ja | ja |
IPV6_LEAVE_GROUP | ja | ja | ja | ja | ja |
IPV6_MULTICAST_HOPS | ja | ja | ja | ja | ja |
IPV6_MULTICAST_IF | ja | ja | ja | ja | ja |
IPV6_MULTICAST_LOOP | ja | ja | ja | ja | ja |
IPV6_PKTINFO | ja | ja | ja | ja | ja |
IPV6_PROTECTION_LEVEL | ja | ja | ja | ja | ja |
IPV6_RECVIF | ja | ja | ja | ja | ja |
IPV6_UNICAST_HOPS | ja | ja | ja | ja | ja |
IPV6_UNICAST_IF | ja | ja | ja | ja | ja |
IPV6_V6ONLY | ja | ja | ja | ja | ja |
Optie | Windows Server 2003 | Windows XP |
---|---|---|
IP_ORIGINAL_ARRIVAL_IF | ||
IPV6_ADD_IFLIST | ||
IPV6_ADD_MEMBERSHIP | ja | ja |
IPV6_DEL_IFLIST | ||
IPV6_DROP_MEMBERSHIP | ja | ja |
IPV6_GET_IFLIST | ||
IPV6_HDRINCL ja | ja | |
IPV6_HOPLIMIT ja | ja | |
IPV6_IFLIST | ||
IPV6_JOIN_GROUP | ja | ja |
IPV6_LEAVE_GROUP | ja | ja |
IPV6_MULTICAST_HOPS | ja | ja |
IPV6_MULTICAST_IF | ja | ja |
IPV6_MULTICAST_LOOP | ja | ja |
IPV6_PKTINFO | ja | ja |
IPV6_PROTECTION_LEVEL | ja | ja |
IPV6_RECVIF | ||
IPV6_UNICAST_HOPS | ja | ja |
IPV6_UNICAST_IF | ||
IPV6_V6ONLY |
Opmerkingen
Op de Microsoft Windows Software Development Kit (SDK) die is uitgebracht voor Windows Vista en later, is de organisatie van headerbestanden gewijzigd en wordt IPPROTO_IPV6 niveau gedefinieerd in het headerbestand Ws2def.h dat automatisch wordt opgenomen in het headerbestand Winsock2.h. De IPPROTO_IPV6 socketopties worden gedefinieerd in het headerbestand Ws2ipdef.h dat automatisch wordt opgenomen in het headerbestand Ws2tcpip.h. De Ws2def.h en Ws2ipdef.h headerbestanden mogen nooit rechtstreeks worden gebruikt.
De IP_ORIGINAL_ARRIVAL_IF socketoptie wordt ondersteund in Windows Server 2008 R2 en windows 7.
Eisen
Eis | Waarde |
---|---|
Rubriek |
|