L'adresse IPv6 est une adresse IP, dans la version 6 du protocole IP (IPv6). Une adresse IPv6 est longue de 128 bits, soit 16 octets, contre 32 bits pour IPv4. On dispose ainsi d'environ 3,4×1038 adresses, soit plus de 667 millions de milliards d'adresses par millimètre carré de surface terrestre.
IPv6 a été principalement développé en réponse à la demande d'adresses Internet que IPv4 ne permettait pas de contenter. En effet, le développement rapide d'Internet a conduit à la pénurie du nombre d'adresses IPv4 disponibles.
La notation décimale pointée employée pour les adresses IPv4 (par exemple 172.31.128.1) est abandonnée au profit d'une écriture hexadécimale, où les 8 groupes de 2 octets (soit 16 bits par groupe) sont séparés par un signe deux-points :
La notation canonique complète ci-dessus comprend exactement 39 caractères.
Il est permis d'omettre de 1 à 3 chiffres zéros non significatifs dans chaque groupe de 4 chiffres hexadécimaux. Ainsi, l'adresse IPv6 ci-dessus est équivalente à :
De plus, une unique suite de un ou plusieurs groupes consécutifs de 16 bits tous nuls peut être omise, en conservant toutefois les signes deux-points de chaque côté de la suite de chiffres omise, c'est-à-dire une paire de deux-points (::). Ainsi, l'adresse IPv6 ci-dessus peut être abrégée en :
En revanche l'écriture suivante n'est pas valide
car elle contient plusieurs substitutions (dont les longueurs binaires respectives sont ici ambiguës) : il ne peut exister qu'une seule occurrence de la séquence :: dans la notation d'une adresse IPv6.
Pour résumer, la séquence :: dans l'adresse IPv6 signifie que l'on doit combler tout ce qu'il manque avec des 0, donc cette séquence ne peut être écrite qu'une seule fois.
L'adresse IPv6 non spécifiée peut ainsi être abrégée en ::0.0.0.0 ou tout simplement en ::.
Le scope d'une adresse IPv6 consiste en son domaine de validité et d'unicité.
On distingue :
Les adresses unicast et anycast ont la structure suivante :
champ | préfixe | sous-réseau | interface |
---|---|---|---|
bits | 48 | 16 | 64 |
Les adresses link-local ont le format suivant :
champ | préfixe | zéro | interface |
---|---|---|---|
bits | 10 | 54 | 64 |
La partie préfixe contient la valeur binaire 1111111010 et 54 zéros suivent. Ces adresses ne sont pas routables.
Les adresses multicast ont le format suivant :
champ | préfixe | drap. | scope | groupe |
---|---|---|---|---|
bits | 8 | 4 | 4 | 112 |
Le préfixe consiste en la valeur binaire 11111111. Trois des quatre bits du champ drapeau sont définis par la RFC 4291. Le bit le plus significatif est réservé à un usage ultérieur. Les quatre bits de scope indiquent le domaine de validité de l'adresse.
Les adresses locales uniques ont le format suivant :
champ | préfixe | L | ID globale | Subnet | Interface |
---|---|---|---|---|---|
bits | 7 | 1 | 40 | 16 | 64 |
Ces adresses sont définies par la RFC 4193.