Partager via


Adresses IPv6 locales au lieu et de site local

Les adresses de lien IPv6 locales et locales de site sont appelées adresses étendues. L’API Windows Sockets (Winsock) prend en charge le membre sin6_scope_id dans la structure sockaddr_in6 pour une utilisation avec des adresses délimitées. Pour les adresses locales de liaison IPv6 (préfixe fe80::/10), le membre sin6_scope_id dans la structure sockaddr_in6 est le numéro d’interface . Pour les adresses locales de site IPv6 (préfixe fec0::/10), le membre sin6_scope_id dans la structure sockaddr_in6 est un identificateur de site.

Voici un exemple d’adresse IPv6 locale de lien sur l’interface #5 :

fe80::208:74ff:feda:625c%5

La commande suivante est disponible sur Windows XP avec Service Pack 1 (SP1) et versions ultérieures pour interroger et configurer IPv6 sur un ordinateur local :

Les modifications de configuration apportées à l’aide des commandes Netsh.exe sont permanentes et ne sont pas perdues lors du redémarrage de l’ordinateur ou du protocole IPv6.

Avant Windows XP avec Service Pack 1 (SP1), la configuration et la gestion IPv6 utilisaient plusieurs outils en ligne de commande plus anciens (Net.exe, Ipv6.exe et Ipsec6.exe) pour configurer et gérer IPv6. À l’aide de ces anciens outils, les modifications IPv6 ne sont pas permanentes et sont perdues lorsque l’ordinateur ou le protocole IPv6 a été redémarré. Ces anciens outils en ligne de commande sont uniquement pris en charge sur Windows XP.

Sur Windows XP avec SP1, la commande suivante affiche la liste des interfaces IPv6 sur un ordinateur local, y compris l’index de l’interface, le nom de l’interface et diverses autres propriétés d’interface.

interface netsh ipv6 show interface

Sur Windows XP avec SP1, la commande suivante modifie l’identificateur de site associé à un index d’interface.

netsh interface ipv6 set interface <InterfaceIndex ou Name> siteid=value

Sur Windows XP, l’ancienne commande suivante modifie également l’identificateur de site associé à une adresse locale de site par 3.

ipv6 rtu fec0::/10 3

Si vous envoyez ou vous connectez à une adresse délimitée, le membre sin6_scope_id dans la structure sockaddr_in6 peut être laissé non spécifié (zéro), ce qui représente une adresse ambiguë. Par exemple, l’adresse locale de lien suivante est ambiguë :

fe80::10

Si vous êtes lié à une adresse délimitée, le membre sin6_scope_id dans la structure sockaddr_in6 doit contenir une valeur différente de zéro qui spécifie un numéro d’interface valide pour une adresse locale de lien ou un identificateur de site pour une adresse locale de site.

Adresses ambiguës

Si vous envoyez ou vous connectez à une adresse délimitée et que vous n’avez pas spécifié le membre sin6_scope_id dans la structure sockaddr_in6 , l’adresse délimitée est ambiguë. Pour résoudre ce problème, le protocole IPv6 détermine d’abord si vous avez lié le socket à une adresse source. Si c’est le cas, l’adresse source liée résout l’ambiguïté en fournissant un numéro d’interface ou un identificateur de site.

Si vous envoyez ou vous connectez à une adresse délimitée et que vous n’avez pas spécifié le sin6_scope_id membre ni lié une adresse source, le protocole IPv6 vérifie la table de routage. Par exemple, la commande suivante affiche la table de routage IPv6 sur un ordinateur local :

netsh interface ipv6 show route

No   Manual   256  fe80::/64      13  Local Area Connection
No   Manual   256  fe80::/64      14  Wireless Network Connection

Cela indique que les adresses locales de lien sont traitées comme on-link to interface #13 et #14 par défaut.

L’ambiguïté se produit lorsqu’un ordinateur local a plusieurs cartes réseau. Par exemple, la commande netsh ci-dessus indique qu’il existe deux interfaces réseau (connexion locale et connexion réseau sans fil). Lorsqu’une application spécifie une adresse locale de liaison de destination (fe80::10, par exemple) sans ID d’étendue, l’adaptateur à utiliser pour envoyer le paquet n’est pas clair. Seule une unidiffusion locale de lien (fe80::/64) ou une adresse de destination IPv6 d’étendue de lien (ff00::/8) peut souffrir de ne pas avoir d’ID d’étendue lors de l’envoi d’un paquet.

Découverte de voisin

Si vous n’avez pas spécifié le membre sin6_scope_id dans la structure sockaddr_in6 , si vous n’avez pas lié d’adresse source et que vous n’avez pas spécifié d’itinéraire pour les adresses locales de lien, le protocole IPv6 essaiera la découverte de voisins pour résoudre l’adresse locale de lien de destination. Pour un paquet donné envoyé, une interface est essayée. Cette première interface essayée est considérée comme l’interface la plus préférée. Si la découverte de voisins ne parvient pas à résoudre l’adresse locale du lien sur une interface, le paquet à envoyer est supprimé et le système se rappelle que l’adresse locale de lien de destination n’est pas accessible via cette interface. Sur le paquet suivant à envoyer dans les mêmes conditions, une autre interface est essayée pour la découverte de voisins. Ce processus se poursuit à travers chacune des interfaces sur un ordinateur local pour chaque nouveau paquet jusqu’à ce que la découverte de voisins réponde pour l’adresse locale de liaison de destination ou que toutes les interfaces possibles aient été essayées et ont échoué. Chaque fois qu’une tentative de résolution du voisin échoue, une interface est supprimée pour ce voisin.

Si l’adresse locale de liaison de destination est résolue, cette interface est utilisée pour envoyer le paquet actif. Cette interface est également utilisée pour tous les paquets ambigus qui sont envoyés ultérieurement à la même adresse de destination locale de lien.

Si la découverte de voisins ne parvient pas à résoudre l’adresse locale du lien de destination sur toutes les interfaces, le système tente alors d’envoyer le paquet sur l’interface préférée (la première interface essayée). La pile réseau continue d’essayer de résoudre l’adresse locale de liaison de destination sur l’interface la plus préférée. Après un certain temps après l’échec de la découverte de voisins sur toutes les interfaces, la pile réseau redémarre à nouveau le processus et tente de résoudre l’adresse locale de liaison de destination sur toutes les interfaces. Actuellement, cet intervalle de temps pendant lequel la découverte de voisins est à nouveau essayée sur toutes les interfaces est de 60 secondes. Toutefois, cet intervalle de temps peut changer sur les versions de Windows et ne doit pas être pris en charge par une application.

Notes

Si une application lie la même adresse locale de lien à une autre interface après que La découverte de voisins a résolu l’adresse locale de lien, cela ne remplacera pas l’interface par l’adresse de destination locale de lien retournée par La découverte de voisins.

 

Pour plus d’informations sur la découverte de voisins pour IP version 6, consultez RFC4861 publiée par l’IETF.

Préfixes de site IPv6

Ipv6.exe

Netsh.exe

Utilisation d'une adresse IPv6