Partager via


Adresses locales et locales IPv6

Les adresses locales et locales de site IPv6 sont appelées adresses délimitées. L’API Windows Sockets (Winsock) prend en charge le membre sin6_scope_id dans la structure sockaddr_in6 à utiliser 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 lorsque l’ordinateur ou le protocole IPv6 est redémarré.

Avant Windows XP avec Service Pack 1 (SP1), la configuration et la gestion IPv6 utilisaient plusieurs anciens outils en ligne de commande (Net.exe, Ipv6.exeet Ipsec6.exe) pour configurer et gérer IPv6. À l’aide de ces outils plus anciens, 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 ne sont pris en charge que sur Windows XP.

Sur Windows XP avec SP1, la commande suivante affiche la liste des interfaces IPv6 sur un ordinateur local, notamment 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.

interface netsh 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 à 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) qui représente une adresse délimitée ambiguë. Par exemple, l’adresse locale de lien suivante est ambiguë :

fe80::10

Si vous effectuez une liaison à 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 délimitées 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. Dans ce 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 membre sin6_scope_id 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 :

interface netsh 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 des adresses on-link vers l’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 de zone 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, il n’est pas clair quel adaptateur utiliser pour envoyer le paquet. Seule une monodiffusion locale de lien (fe80 ::/64) ou une multidiffusion d’étendue de lien (ff00 ::/8) l’adresse de destination IPv6 peut souffrir de ne pas avoir d’ID d’étendue lors de l’envoi d’un paquet.

Découverte des voisins

Si vous n’avez pas spécifié le membre sin6_scope_id dans la structure sockaddr_in6, n’avez pas lié une adresse source et n’avez pas spécifié d’itinéraire pour les adresses locales de lien, le protocole IPv6 essaiera de résoudre l’adresse locale du 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 du voisin 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 liaison de destination n’est pas accessible sur cette interface. Sur le paquet suivant à envoyer dans toutes les mêmes conditions, une autre interface est tentée pour la découverte de voisins. Ce processus continue à travers chacune des interfaces sur un ordinateur local pour chaque nouveau paquet jusqu’à ce que la découverte des voisins réponde à l’adresse locale du lien de destination ou que toutes les interfaces possibles aient été tentées et échouées. Chaque fois qu’une tentative de résolution du voisin échoue, une interface est éliminée pour ce voisin.

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

Si la découverte du voisin ne parvient pas à résoudre l’adresse locale du lien de destination sur toutes les interfaces, le système tente ensuite d’envoyer le paquet sur l’interface la plus préférée (la première interface a essayé). La pile réseau tente de résoudre l’adresse locale du lien de destination sur l’interface la plus préférée. Après une période de 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 du lien de destination sur toutes les interfaces. Actuellement, cet intervalle de temps lorsque la découverte du voisin 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 compte par une application.

Note

Si une application lie la même adresse locale de lien à une autre interface une fois que la découverte du voisin a résolu l’adresse locale de lien, elle 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é par l’IETF.

préfixes de site IPv6

Ipv6.exe

Netsh.exe

à l’aide de IPv6