Une adresse IPv6 est une adresse IP de la version 6 du protocole Internet (IPv6). IPv6 a été principalement développé en réponse à la demande d'adresses qu'IPv4 ne permettait plus de contenter. Une adresse IPv6 contient 128 bits Request for comments no 2373, section 2.0, contre 32 bits pour IPv4. On dispose ainsi de 2128 ≈ 3,4 × 1038 = 340 sextillions d'adresses IPv6, contre 232 ≈ d'adresses IPv4.

Nombre d'adresses représentables Le développement rapide d'Internet a conduit à la pénurie du nombre d'adresses IPv4 disponibles.

Une adresse IPv6 est longue de 128 bits, soit 16 octets, contre 32 bits, soit 4 octets, pour IPv4. On dispose ainsi d'environ 3,4 adresses, soit plus de 340 sextillions, autrement dit plus de 340 milliards de milliards de milliards de milliards.

Le calcul est : (contre pour l'IPv4). On a 2 valeurs possibles : 0 ou 1, sur 128 bits.

Plus précisément : IPv6 possibles, contre possibles (environ ).

Cela équivaut à un nombre illimité puisque pour saturer le système, il faudrait placer près de (milliards de milliards) d'appareils connectés à Internet sur chaque millimètre carré de surface terrestre émergée ().

Notation d'une adresse IPv6 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 (soit 16 bits par groupe) sont séparés par un signe deux-points : 2001:0db8:0000:85a3:0000:0000:ac1f:8001

La notation complète ci-dessus comprend exactement 39 caractères, soit 8 blocs de 4 caractères (32) séparés par des double-points « : » (7).

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 à : 2001:db8:0:85a3:0:0:ac1f:8001

De plus, un groupe de 16 bits tous nuls ou plusieurs groupes consécutifs de 16 bits tous nuls, à la suite, peuvent être omis, en conservant toutefois les signes séparateurs deux-points de chaque côté de la suite de chiffres omise, c'est-à-dire une paire de deux-points « :: » Request for comments no 2373, section 2.2. Ainsi, l'adresse IPv6 ci-dessus peut être abrégée en :

2001:db8:0:85a3::ac1f:8001

En revanche l'écriture suivante n'est pas valide 2001:db8::85a3::ac1f:8001

car elle contient plusieurs substitutions (dont les longueurs binaires respectives sont ici ambigües) : 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 utilisée qu'une seule fois. Une seule et unique adresse doit pouvoir correspondre à la forme abrégée lors de l'utilisation des « :: ».

Il peut exister plusieurs façons différentes de représenter une adresse IPv6. La définit une représentation canonique.

L'adresse IPv6 non spécifiée peut ainsi être abrégée en « ::0.0.0.0 » ou tout simplement en « :: ».

Structure des adresses IPv6 Les adresses unicast et anycast ont la structure suivante :

+ Structure des adresses unicast globales.champ préfixe sous-réseau interfacebits n m 128 - n - m (64 en pratique) Avec un nombre de bits pour l’interface égal à 64 sauf si l’adresse commence par valeur binaire 000. Avec le réseau 2000::/3 qui est en 2024 encore le seul réseau IPv6 délégué à l’IANA pour faire de l’unicast global, le nombre de bit pour l’interface est en pratique égal à 64.

Les adresses locales de lien ont le format suivant : +Structure des adresses locales de lienchamp préfixe zéro interfacebits 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 :

+ Format d'une adresse multicastchamp préfixe drap. portée groupebits 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 . Le bit le plus significatif est réservé à un usage ultérieur. Les quatre bits de portée indiquent le domaine de validité de l'adresse.

Les adresses locales uniques ont le format suivant :

+ Structure des adresses locale uniquechamp préfixe L ID globale Subnet Interfacebits 7 1 40 16 64

Ces adresses sont définies par la . Le préfixe vaut 1111110. L vaut 1 pour les ID globales assignées localement. ID globale est un nombre pseudo-aléatoire choisi par l'organisation, de sorte qu'il est très improbable que deux organisations aient le même numéro. Subnet est le numéro du sous-réseau. Interface est l'identification de l'hôte dans le sous-réseau.

La portée de l'adresse IPv6 La portée d'une adresse IPv6 (IPv6 address scope) consiste en son domaine de validité et d'unicité.

On distingue : Les adresses unicast : l'adresse loopback ::1/128 a une validité limitée à l'hôte, les adresses locales de lien, uniques sur un lien donné, les autres adresses, y compris les adresses locales uniques, ont une portée globale, c'est-à-dire qu'elles sont uniques dans le monde et peuvent être utilisées pour communiquer avec d'autres adresses globalement uniques, ou des adresses locales de lien sur des liens directement connectés, Les adresses anycast, dont la portée est identique aux adresses unicast Les adresses multicast ff00::/8 les 4 bits les moins significatifs du (ff0::) identifient la portée de l'adresse : si s=1, l'adresse multicast est locale à l'hôte, si s=2, l'adresse est locale au lien, si s=5, l'adresse est locale au site, si s=8, l'adresse est locale à l'organisation, si s=e, l'adresse est globale.

Adresse IPv6 et DNS Les noms de domaines sont associés à une adresse IPv6 grâce à l'enregistrement AAAA, par exemple :

www.ipv6.ripe.net. IN AAAA 2001:67c:2e8:22::c100:68b

Les noms d'hôtes peuvent être associés à une ou plusieurs adresses IPv6 et/ou IPv4.

La résolution inverse est effectuée grâce au PTR dans le domaine ip6.arpa, en inversant les quartets de la forme canonique :

b.8.6.0.0.0.1.c.0.0.0.0.0.0.0.0.2.2.0.0.8.e.2.0.c.7.6.0.1.0.0.2.ip6.arpa IN PTR www.ipv6.ripe.net.

Les requêtes peuvent être reçues via IPv6 ou IPv4 et la réponse du serveur DNS ne doit pas dépendre du protocole utilisé par le client.

Quand des adresses IPv4 et IPv6 existent et sont utilisables pour contacter un hôtes distant, la précise la stratégie à employer pour le choix de l'adresse. IPv6 sera préféré à IPv4 à moins que l'administrateur du système en dispose autrement.

Quand une adresse IPv6 doit être utilisée comme nom d'hôte (par exemple dans une URL), elle doit être encadrée de crochets, [ ]. Par exemple, pour l'adresse IPv6 valide ci-dessus, on peut créer les URL suivantes (valides au plan syntaxique) : http://[2001:db8:a88:85a3::ac1f:8001]/index.html L'utilisation des crochets est obligatoire pour délimiter le nom d'hôte car elle permet d'éviter ici l'ambiguïté sur la présence ou l'absence de l'indication d'un numéro de port dans l'URL, qui autrement pourrait être interprétée comme désignant un hôte à une autre adresse, comme dans l'URL : http://[2001:db8:a88:85a3::ac1f]:8001/index.html

Notation des masques de sous-réseau Un sous-réseau, au sens large, est un ensemble d'adresses IPv6 commençant par une même séquence binaire. Le nombre de bits que comporte cette séquence est notée en décimal derrière une barre oblique (/). Ainsi, 2001:db8:1:1a0::/59 est le sous-réseau correspondant aux adresses comprises entre 2001:db8:1:1a0:0:0:0:0 et 2001:db8:1:1bf:ffff:ffff:ffff:ffff

En binaire :

2/3 Plus petit réseau privé routable Unicast sur Internet (/64) partie sous-réseau privé (64 bits)20010db8000101a0000000000000000000100000000000010000110110111000000000000000000100000001101000000000000000000000000000000000000000000000000000000000000000000000 préfixe réseau (/59) partie sous-réseau privé (69 bits)0010000000000001000011011011100000000000000000010000000110111111111111111111111111111111111111111111111111111111111111111111111120010db8000101bfffffffffffffffff 2/3 Plus grand réseau Unicast routable alloué (/48) partie sous-réseau privé (80 bits)

Le plus grand préfixe de sous-réseau non annoncé (globalement sur les échanges de routes entre réseaux mais routé uniquement dans un sous-réseau du client privé final) est fixé à 64 bits par la , ce qui laisse un choix d'au moins 2, soit 18 adresses par sous-réseau final.

Catégories d'adresses Différentes sortes d'adresses IPv6 jouent des rôles particuliers. Ces propriétés sont indiquées par le début de l'adresse, appelé préfixe (, , ) :

+ Type d'adresses IPv6 Préfixe Plage DescriptionPortée ::/8 Réservées 2000::/3 2000:... 3FFF:... Publiques (= sur Internet)Publique / Internetfc00::/8 fc00:... fcff:... Privées (centralisées)Privée / LAN fd00::/8 fd00:... fdff:...Privées (attribuées par un administrateur local)Privée / LAN fe80::/10 Locales à un lien (sur le même câble ethernet, switch, VLAN)Privée / LAN ff00::/8 Privées multicastPrivée / LAN

Adresses réservées

« ::/128 » : Adresse non spécifiée. Celle-ci n'est jamais assignée à un hôte mais peut être utilisée comme adresse source dans une phase d'acquisition de l'adresse IPv6. « ::1/128 » : Adresse loopback c'est-à-dire la machine elle-même, équivalent de 127.0.0.1 en IPv4. « 64:ff9b::/96 »: Adresses réservées pour les traducteurs de protocoles () « ::ffff:0:0/96 » : Représentation d'adresse IPv4 dans une structure IPv6. Ces adresses permettent d'encoder une adresse IPv4 dans une structure de données prévue pour IPv6. Elles sont utilisées par des programmes mais ne doivent pas se trouver dans le réseau. « ::ffff:0:0:0/96 » : adresses IPv4 traduites pour SIIT ().

Adresses globales unicast « 2000::/3 »

Celles-ci représentent 1/ de l'espace d'adressage total d'IPv6.

Parmi les adresses de « 2000::/3 », on distingue : Les adresses unicast globales (2001::/16) ouvertes à la réservation depuis 1999. Ces adresses sont allouées par bloc /23 à /12 par l'IANA à un registre Internet régionalIPv6 Global Unicast Address Assignments. Certains blocs sont réservés à un usage particulierIANA IPv6 Special Purpose Address Registry : « 2001::/32 » utilisé pour Teredo () « 2001:2::/48 » pour des tests de performance () « 2001:10::/28 » pour Orchid () « 2001:db8::/32 » est réservé pour la documentation par la Les adresses 6to4 (2002::/16) permettant d'acheminer le trafic IPv6 via un ou plusieurs réseaux IPv4 () Toutes les autres adresses routables (plus des trois quarts) sont actuellement réservées pour usage ultérieur.

2/3 4380 (2001::/32) Adresse d'hôte Teredo (96 bits)20010000xxxxxxxxxxxxxxxxxxxxxxxx00100000000000010000000000000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2/3 5180 (2001:2::/48) Adresse d'hôte de tests de performance (80 bits)200100020000xxxxxxxxxxxxxxxxxxxx001000000000000100000000000000100000000000000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2/3 4843 (2001:10::/28) Adresse d'hôte Orchid (100 bits)2001001xxxxxxxxxxxxxxxxxxxxxxxxx0010000000000001000000000001xxxx0000000000000010xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2/3 3849 (2001:db8::/32) Adresse de documentation (96 bits)20010db8xxxxxxxxxxxxxxxxxxxxxxxx00100000000000010000110110111000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2/3 3056 (2002::/16) Adresse IPv4 de routeur 6to4 (32 bits) Adresse d'hôte allouée par le routeur (80 bits)2002nnn .nnn .nnn .nnnxxxxxxxxxxxxxxxxxxxx0010000000000010xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Adresses locales uniques fc00::/7

Ces adresses sont utilisées pour les communications locales et ne sont routables que sur les sites qui le souhaitent. C'est l'équivalent des plages d'adresses privées de .