Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med SIO_ADDRESS_LIST_SORT IOCTL kan programutvecklare sortera en lista över IPv6- och IPv4-måladresser för att fastställa den bästa tillgängliga adressen för att upprätta en anslutning. SIO_ADDRESS_LIST_SORT IOCTL stöds i Windows XP och senare.
I Windows Vista och senare tar funktionen CreateSortedAddressPairs en angiven lista över potentiella IP-måladresser, parar ihop måladresserna med värddatorns lokala IP-adresser och sorterar paren enligt vilket adresspar som passar bäst för kommunikation mellan de två peer-datorerna. Funktionen CreateSortedAddressPairs ska användas i stället för SIO_ADDRESS_LIST_SORT IOCTL i Windows Vista och senare.
I följande avsnitt beskrivs användningsöverväganden för SIO_ADDRESS_LIST_SORT.
Parametrar
Bufferten som skickas till SIO_ADDRESS_LIST_SORT är en SOCKET_ADDRESS_LIST struktur. Varje SOCKET_ADDRESS i listan måste vara i SOCKADDR_IN6 format.
SIO_ADDRESS_LIST_SORT IOCTL sorterar både IPv6- och IPv4-adresser i Windows Vista och senare. Alla IPv4-adresser i listan som ska sorteras måste ha IPv4-mappat IPv6-adressformat. Mer information om IPv4-mappat IPv6-adressformat finns i Dual-Stack Sockets.
På Windows Server 2003 och Windows XP sorterar SIO_ADDRESS_LIST_SORT endast IPv6-adresser. IPv4-adresser i IPv4-mappat IPv6-adressformat stöds inte.
Vid utdata kan iAddressCount fältet i SOCKET_ADDRESS_LIST strukturen vara mindre än vid indata om IOCTL-koden fastställer att vissa måladresser är ogiltiga.
Sorteringsbestämning
Sorteringsordningen för IPv6-adresser för SIO_ADDRESS_LIST_SORT IOCTL baseras på prefixprinciptabellen. Prefixprinciptabellen konfigureras med hjälp av kommandoradsverktyget Netsh.exe. Följande kommandoradsfragment illustrerar grundläggande Netsh.exe konfigurationskommandon för prefixprinciptabell:
netsh interface ipv6 show prefixpolicies
netsh interface ipv6 add prefixpolicy ::/96 3 4
netsh interface ipv6 delete prefixpolicy ::/96
netsh interface ipv6 set prefixpolicy ::/96 3 4
Anteckning
På Windows Server 2003 och Windows XP var det första netsh-kommandot som anges ovan enligt följande. Alla andra relaterade kommandon är desamma.
netsh interface ipv6 show prefixpolicy
Adressordning bestäms också av en algoritm som beskrivs i RFC 3484 på Standardadressval för Internet Protocol version 6 (IPv6) publicerad av IETF. Mer information finns i https://www.ietf.org/rfc/rfc3484.txt. (Den här resursen kanske bara är tillgänglig på engelska.)
SIO_ADDRESS_LIST_SORT IOCTL sorterar adresser från bästa till sämsta och fyller i sin6_scope_id medlemmar om det behövs. För platslokala adresser fyller SIO_ADDRESS_LIST_SORT antingen i omfångs-ID:t eller tar bort adressen.
SIO_ADDRESS_LIST_SORT IOCTL ignorerar källadressen som är bunden till socketen och sorterar endast efter måladresslistan som skickas som en parameter.
Funktionen CreateSortedAddressPairs ska användas i stället för SIO_ADDRESS_LIST_SORT IOCTL i Windows Vista och senare. Funktionen CreateSortedAddressPairs returnerar en lista med adresspar som innehåller en lokal källadress och en måladress. Detta ger ett program rätt källadress att använda för varje måladress. Ett program kan också filtrera resultaten genom att söka efter en specifik källadress. i resultatet.
Krav
SIO_ADDRESS_LIST_SORT IOCTL definieras i Winsock2.h-huvudfilen. I Microsoft Windows Software Development Kit (SDK) som släpptes för Windows Vista och senare har organisationen av huvudfiler ändrats och SIO_ADDRESS_LIST_SORT IOCTL definieras i Ws2def.h huvudfil. Observera att Ws2def.h--huvudfilen automatiskt ingår i Winsock2.hoch aldrig bör användas direkt.
SIO_ADDRESS_LIST_SORT IOCTL stöds i Windows XP och senare.
Relaterade ämnen