MDstable
NoteSnippetChecklistPlaybook

Adressage IPv6 — Types & Notation

Structure des adresses IPv6, types (GUA, LLA, ULA, multicast), EUI-64, SLAAC, DHCPv6

snippetintermediate 2025-05-14 6 min read
ipv6addressinglink-localulaguaeui-64slaacdhcpv6multicastndp

Structure d'une adresse IPv6

text
128 bits = 8 groupes de 16 bits, séparés par ':'
Chaque groupe = 4 chiffres hexadécimaux
Exemple complet (non compressé) :
2001:0db8:0000:0000:0001:0000:0000:0001
Règles de compression :
1. Supprimer les zéros en tête DANS chaque groupe
0db8 → db8 | 00011 | 00000
2. Remplacer une ou plusieurs suites de groupes à 0000 par '::'
(une seule fois dans l'adresse)
Exemples de compression :
2001:0db8:0000:0000:0001:0000:0000:0001
2001:db8:0:0:1:0:0:1 (étape 1 seulement)
2001:db8::1:0:0:1 (étape 2 — remplace la suite la plus longue)
NB : 2001:db8::1::1 est INVALIDE (double '::')
fe80:0000:0000:0000:021a:2bff:fe3c:4d5e
→ fe80::21a:2bff:fe3c:4d5e
0000:0000:0000:0000:0000:0000:0000:0001
→ ::1 (loopback)

Types d'adresses IPv6

| Type | Préfixe | Portée | Usage | |---------------------|---------------|---------------|----------------------------------------------------| | GUA (Global Unicast)| 2000::/3 | Global | Routage Internet — équivalent IP publique | | LLA (Link-Local) | fe80::/10 | Lien local | Obligatoire sur toute interface, non routable | | ULA (Unique Local) | fc00::/7 | Site | Équivalent RFC 1918 — fd00::/8 en pratique | | Loopback | ::1/128 | Hôte | Équivalent 127.0.0.1 | | Non spécifiée | ::/128 | — | Source avant assignation d'adresse | | Multicast | ff00::/8 | Variable | Groupes de diffusion (remplace broadcast) | | Anycast | — | Global | Même adresse sur plusieurs nœuds, routage au plus proche |

text
GUA — 2000::/3 (bits 001xxxxx...) :
Plage effective : 2000:: à 3fff:ffff:...
Structure typique : /48 site | /16 sous-réseau | /64 interface
Exemple : 2001:db8:1234:0001::1/64
LLA — fe80::/10 :
Toujours présente, générée automatiquement (EUI-64 ou aléatoire)
Utilisée par NDP, OSPF, EIGRP comme source de hello
Non routée — scope = segment Ethernet uniquement
ULA — fc00::/7 (fd00::/8 recommandé) :
Bit L=1 → fd00::/8 (unique local, à usage pratique)
40 bits aléatoires → unicité quasi-garantie entre sites
Format : fdXX:XXXX:XXXX::/48

EUI-64 — Génération de l'identifiant d'interface

text
Convertir une adresse MAC 48 bits en identifiant d'interface 64 bits :
1. Diviser le MAC en deux moitiés de 3 octets
2. Insérer FF:FE au milieu
3. Inverser le bit U/L (bit 7 = Universal/Local) du premier octet
bit 7 à 0 → mettre à 1 (MAC administré globalement → universel)
bit 7 à 1 → mettre à 0
Exemple : MAC 00:1A:2B:3C:4D:5E
1. Diviser : 00:1A:2B | 3C:4D:5E
2. Insérer : 00:1A:2B:FF:FE:3C:4D:5E
3. Bit U/L : 00 = 00000000 → bit 700000010 = 02
Résultat EUI-64 : 02:1A:2B:FF:FE:3C:4D:5E → 021a:2bff:fe3c:4d5e
LLA résultante : fe80::21a:2bff:fe3c:4d5e
GUA résultante : 2001:db8:1::21a:2bff:fe3c:4d5e/64
Note : Privacy Extensions (RFC 4941) génèrent une partie interface
aléatoire et rotative pour les hôtes clients — désactiver en prod serveur.

Multicast IPv6

text
Format : ffXY::/16
X = flags (0 = bien connu, 1 = transitoire)
Y = scope (1=nœud, 2=lien, 5=site, e=global)
ff02:: = link-local multicast (scope=2, non routé)

| Adresse | Équivalent IPv4 | Usage | |---------------------|-------------------|-------------------------------------------| | ff02::1 | 224.0.0.1 | All nodes (tous les nœuds du lien) | | ff02::2 | 224.0.0.2 | All routers (tous les routeurs du lien) | | ff02::5 | 224.0.0.5 | OSPFv3 — All OSPF routers | | ff02::6 | 224.0.0.6 | OSPFv3 — All DR routers | | ff02::9 | 224.0.0.9 | RIPng routers | | ff02::a | 224.0.0.10 | EIGRP routers | | ff02::d | 224.0.0.13 | PIM routers | | ff02::fb | 224.0.0.251 | mDNS | | ff02::1:2 | — | DHCPv6 — All DHCP agents (relays/servers) | | ff02::1:3 | — | DHCPv6 — All DHCP servers | | ff02::1:ffXX:XXXX | — | Solicited-node multicast (NDP, par nœud) |

text
Solicited-node multicast :
Préfixe ff02::1:ff00:0/104 + 24 derniers bits de l'adresse unicast
Ex : 2001:db8::21a:2bff:fe3c:4d5e → ff02::1:ff3c:4d5e
Utilisé par NDP pour la résolution d'adresse (remplace ARP broadcast)

NDP — Neighbor Discovery Protocol

text
Remplace ARP (IPv4) — basé sur ICMPv6
Messages NDP :
RS (Router Solicitation) — hôte demande les infos réseau au routeur
RA (Router Advertisement) — routeur annonce préfixe, gateway, flags
NS (Neighbor Solicitation) — résolution d'adresse (équiv. ARP request)
NA (Neighbor Advertisement) — réponse à un NS (équiv. ARP reply)
Redirect — routeur redirige vers meilleur next-hop
Flags dans les RA :
M (Managed) = 1 → DHCPv6 stateful pour l'adresse
O (Other) = 1 → DHCPv6 stateless pour les infos DNS/domaine
M=0, O=0 → SLAAC pur (pas de DHCPv6)
text
! Cisco — vérifications NDP
show ipv6 neighbors
show ipv6 neighbors detail
clear ipv6 neighbors
! Linux
ip -6 neigh
ip -6 neigh show dev eth0

SLAAC — Stateless Address Autoconfiguration

text
RFC 4862 — configuration automatique sans serveur DHCP
Processus :
1. Interface génère une LLA (EUI-64 ou aléatoire) → test DAD
2. Envoi d'un RS à ff02::2 (all routers)
3. Routeur répond avec un RA : préfixe /64, gateway (LLA du routeur)
4. Hôte construit son GUA : préfixe + partie interface (EUI-64 ou RFC 4941)
5. DAD (Duplicate Address Detection) via NS/NA avant d'utiliser l'adresse
Conditions requises :
- Sous-réseau DOIT être /64 (SLAAC n'est pas défini pour d'autres préfixes)
- RA doit avoir le flag A (Autonomous) = 1
DAD (Duplicate Address Detection) :
NS vers solicited-node multicast de sa propre adresse tentative
Si NA reçu en retour → conflit → adresse non assignée
text
! Cisco — configuration SLAAC côté routeur
conf t
ipv6 unicast-routing ! activer le routage IPv6
interface GigabitEthernet0/0
ipv6 address 2001:db8:1:1::/64 eui-64 ! ou adresse manuelle
ipv6 address fe80::1 link-local ! LLA manuelle (facilite troubleshooting)
ipv6 nd ra-interval 30 ! intervalle RA (défaut 200s)
no ipv6 nd ra suppress ! s'assurer que les RA sont envoyés
no shutdown

DHCPv6 Stateful vs Stateless

text
Stateless (O=1, M=0) :
L'adresse est auto-configurée via SLAAC
DHCPv6 fournit uniquement : DNS, domaine, NTP, etc.
Cisco interface : ipv6 nd other-config-flag
Stateful (M=1) :
DHCPv6 attribue l'adresse + infos DNS
Équivalent DHCPv4 classique
Cisco interface : ipv6 nd managed-config-flag
Les deux flags sont dans les RA — les hôtes lisent M et O pour décider.

Configuration Cisco — référence rapide

text
conf t
! Activer le routage IPv6 (obligatoire)
ipv6 unicast-routing
! Adresses sur une interface
interface GigabitEthernet0/0
ipv6 address 2001:db8:1::1/64 ! GUA manuelle
ipv6 address fe80::1 link-local ! LLA manuelle
ipv6 enable ! active IPv6 sans adresse GUA (génère LLA auto)
no shutdown
! Vérifications
show ipv6 interface brief
show ipv6 interface GigabitEthernet0/0
show ipv6 route
show ipv6 neighbors
ping ipv6 2001:db8:1::2
ping ipv6 ff02::2 ! ping all-routers (debug)
💡 Tip —

Chaque interface Cisco avec ipv6 enable génère automatiquement une LLA fe80::/10 basée sur EUI-64. Forcer une LLA simple (ipv6 address fe80::1 link-local) sur tous les routeurs facilite le troubleshooting — dans les traces NDP et les tables de routage, fe80::1 est immédiatement identifiable.

OPS·BRAIN v1.027 notes · Networklocal