R.13 · IPv6
IPv6 : adresses, préfixes et types
Leçon théorique · questionnaire de validation · gratuit, dans le navigateur
IPv4 offre environ 4,3 milliards d'adresses : bien trop peu pour la planète, d'où le NAT partout. IPv6 en offre 2¹²⁸, assez pour donner un réseau entier à chaque foyer. Il est déjà majoritaire sur les réseaux mobiles et chez de nombreux opérateurs, et le CCNA demande de savoir l'écrire, le lire et le configurer.
Ce que vous saurez à la fin : écrire une adresse IPv6 en entier et en abrégé, distinguer préfixe et identifiant d'interface, reconnaître les types d'adresses (globale, unique locale, lien local, multicast), et expliquer comment une machine obtient son adresse (SLAAC, DHCPv6, EUI-64).
1. 128 bits en hexadécimal
Une adresse IPv6 fait 128 bits, écrits en huit groupes de quatre chiffres hexadécimaux (0 à 9, puis a à f) séparés par : :
2001:0db8:00ac:0001:0000:0000:0000:0010
Deux règles d'abréviation, à connaître par cœur :
- Dans chaque groupe, les zéros de tête peuvent disparaître :
00acdevientac,0001devient1,0000devient0; - Une seule fois dans l'adresse, une suite de groupes nuls se remplace par
::.
2001:db8:ac:1:0:0:0:10 règle 1
2001:db8:ac:1::10 règle 2 : la forme à retenir
Le :: n'apparaît qu'une fois, sinon on ne saurait plus combien de groupes il remplace. Quand deux suites de zéros existent, on abrège la plus longue (la première à égalité).
2. Préfixe et identifiant d'interface
Comme en IPv4, un préfixe sépare la partie réseau de la partie machine. En IPv6, un réseau local est presque toujours un /64 : 64 bits de préfixe, 64 bits d'identifiant d'interface.
Un site reçoit typiquement un /48 et découpe ses réseaux en /64 : 2001:db8:ac:1::/64 pour un étage, 2001:db8:ac:2::/64 pour le suivant. Plus besoin de compter les hôtes : un /64 en contient 2⁶⁴.
3. Les types d'adresses
| Type | Préfixe | Usage |
|---|---|---|
| Globale (global unicast) | 2000::/3 (commence par 2 ou 3) |
Routable sur Internet, l'équivalent d'une adresse publique |
| Unique locale (unique local) | fc00::/7, en pratique fd00::/8 |
Interne, non routée sur Internet, l'équivalent des plages privées |
| Lien local (link-local) | fe80::/10 |
Toujours présente sur chaque interface active ; ne franchit jamais un routeur ; sert aux voisins et aux protocoles de routage |
| Multicast | ff00::/8 |
Un groupe : ff02::1 toutes les machines du lien, ff02::2 tous les routeurs |
| Boucle locale | ::1/128 |
La machine elle-même |
| Non spécifiée | ::/128 |
« Pas encore d'adresse » |
IPv6 n'a pas de broadcast : le multicast le remplace. Il existe aussi l'anycast : la même adresse portée par plusieurs serveurs, le routage menant au plus proche (c'est ainsi que fonctionnent les grands DNS publics).
4. Obtenir une adresse
- SLAAC (auto-configuration sans état) : le routeur envoie des Router Advertisements contenant le préfixe ; la machine y colle son identifiant d'interface. Aucun serveur à installer ;
- DHCPv6 : un serveur attribue les adresses (avec état), ou seulement des options comme le DNS (sans état, en complément de SLAAC) ;
- EUI-64 : une façon de calculer l'identifiant d'interface depuis l'adresse MAC. On coupe la MAC en deux, on insère
fffeau milieu et on inverse le 7ᵉ bit :3c:22:fb:9a:41:0edonne3e22:fbff:fe9a:410e. Les postes de travail préfèrent aujourd'hui un identifiant aléatoire (vie privée).
Le NDP (Neighbor Discovery) remplace ARP : une machine découvre l'adresse MAC de son voisin par un message ICMPv6 Neighbor Solicitation.
5. Configurer et vérifier
ip -6 addr show eth0 # inet6 fe80::… scope link, inet6 2001:db8:… scope global
ip -6 route # route par défaut via fe80::1 : la passerelle est souvent en lien local
ping -6 2001:db8:ac:1::1
ip -6 neigh # les voisins (NDP), équivalent de la table ARP
! Cisco IOS
ipv6 unicast-routing ! active le routage IPv6 (désactivé par défaut)
interface Gi0/1
ipv6 address 2001:db8:ac:1::1/64
ipv6 address fe80::1 link-local ! lien local choisi plutôt que calculé
show ipv6 interface brief
FRRouting suit la même logique : ipv6 forwarding, puis l'adresse sur l'interface. Un réflexe utile en dépannage : si une interface n'a même pas d'adresse fe80::, elle n'est pas active.