IPv6 supporte 3 types d'adresses: Unicast, Multicast et Anycast.
Les adresses unicast :
Elles désignent une et une seule machine.
Elles comportent une partie réseau "préfixe" et une partie hôte "suffixe":
La partie réseau ou préfixe est codée sur 64 bits : les 48 bits publics "Global Routing Prefix" et les 16 bits de site définissant le sous-réseau
La partie hôte ou suffixe est codée aussi sur 64 bits, fabriquée à partir de l'adresse MAC de l'interface, elle permet d'identifier la machine dans un réseau donné.
Prenons par exemple cette adresse fe80::20d:61ff:fe22:3476
fe80:: ,en réalité fe80:0000:0000:0000 correspond au préfixe ou partie réseau
20d:61ff:fe22:3476 correspond au suffixe ou partie hôte
Les adresses multicast :
Le protocole IPv6 généralise l'utilisation des adresses multicast qui remplacent les adresses de type "broadcast" (diffusion) qui n'existent plus en IPv6. La raison de cette disparition est que l'émission d'un paquet broadcast était très pénalisante pour toutes les machines se trouvant sur un même lien.
Une adresse multicast est une adresse désignant un groupe d'interfaces donné. Une interface est libre de s'abonner à un groupe ou de le quitter à tout moment, c'est donc moins pénalisant qu'en IPv4.
Le format des adresses multicast est le suivant :
ff01 : noeud local, les paquets ne quittent pas l'interface.
ff02 : lien local, les paquets ne quittent pas le lien .
ff05 : site local, les paquets ne quittent pas le site .
Voici un exemple intéressant d'utilisation d'adresse multicast qui vous permet de détecter les hôtes actifs sur le lien local :
# ping6 -I eth0 ff02::1
PING ff02::1(ff02::1) from fe80::20e:35ff:fe8f:6c99 eth2: 56 data bytes 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.048 ms 64 bytes from fe80::20d:61ff:fe22:3476: icmp_seq=1 ttl=64 time=9.05 ms (DUP!) 64 bytes from ::1: icmp_seq=2 ttl=64 time=0.045 ms 64 bytes from fe80::20d:61ff:fe22:3476: icmp_seq=2 ttl=64 time=3.33 ms (DUP!) 64 bytes from ::1: icmp_seq=3 ttl=64 time=0.037 ms
Vous pouvez identifier 2 hôtes actifs fe80::20e:35ff:fe8f:6c99 (celui d'où est passée la commande) et fe80::20d:61ff:fe22:3476 (qui correspond à un autre poste du réseau local).
Les adresses anycast :
Anycast est un nouveau type d'adressage. Il identifie qu'un noeud, parmi un groupe de noeuds, doit recevoir l'information.
Une adresse anycast, comme une adresse multicast, désigne un groupe d'interfaces, à la différence qu'un paquet émis avec comme destinataire une adresse anycast ne sera remis qu'à un seul membre du groupe, par exemple le plus proche au sens de la métrique des protocoles de routage, même si plusieurs interfaces ont répondu au message. L'interface de destination doit spécifiquement être configurée pour savoir qu'elle est anycast.
Pour l'instant, une seule adresse anycast est utilisée, elle est réservée au routeur mais dans l'avenir, d'autres pourraient être définies.