Analyse des adresses IPv6 avec/sans %zone (link-local, multicast), et génération des versions avec/sans zone.
%zone
#
Le Zone ID (ex : %eth0, %en0, %12) est surtout requis pour les adresses link-local (fe80::/10) et certains multicast à portée locale (ff01::/16, ff02::/16).
%eth0
%en0
%12
fe80::/10
ff01::/16
ff02::/16
Pour aller plus loin
Certaines adresses IPv6 ne sont uniques qu’à l’intérieur d’un lien. L’identifiant de zone précise alors l’interface concernée.
Une adresse globale peut être routée sans ambiguïté. Une adresse link-local, généralement dans fe80::/10, peut exister simultanément sur plusieurs interfaces d’une même machine. Le système doit donc savoir sur quel lien envoyer le paquet.
La zone est ajoutée après l’adresse avec le caractère %, par exemple fe80::1%eth0 ou fe80::1%12. Le nom ou le numéro dépend du système d’exploitation et de ses interfaces réseau.
%
fe80::1%eth0
fe80::1%12
Le suffixe de zone ne fait pas partie de l’adresse IPv6 de 128 bits. Il s’agit d’une information locale utilisée par l’hôte. Deux textes ayant la même adresse mais des zones différentes ciblent potentiellement deux liens différents.
La zone est surtout nécessaire pour les adresses link-local et certains groupes multicast à portée limitée. Pour une adresse globale ou ULA utilisée sans ambiguïté, elle est généralement inutile et ne doit pas être ajoutée arbitrairement.
Dans une URL, une adresse IPv6 est placée entre crochets. Le caractère % de l’identifiant de zone doit être encodé sous la forme %25, par exemple http://[fe80::1%25eth0]/.
%25
http://[fe80::1%25eth0]/
Une commande visant une adresse link-local peut échouer malgré une adresse correcte si la zone manque ou désigne la mauvaise interface. L’outil sépare l’adresse et la zone pour permettre de vérifier chacune de ces informations.