Ch. 4 — IP version 6
Pourquoi IPv6 remplace IPv4 : 128 bits et notation abrégée RFC 5952, les types d'adresses (lien local, locales uniques, globales, multicast sollicitée, anycast), l'en-tête de 40 octets, la découverte de voisins ICMPv6, la SLAAC et la renumérotation.
Ce que fait ce cours
Le ch. 1 posait l'adressage IPv4 et le ch. 3 décrivait le fonctionnement d'IP « au mieux ». Ici, la nouvelle génération d'IP : IPv6, pensée dès le départ pour corriger ce qui manque à la précédente — l'espace d'adresses, la taille des tables de routage, le multicast, la QoS — tout en gardant le même service best effort. C'est aussi le socle du TP 4, qui observe tout ce mécanisme en direct dans Wireshark, et du mémo IPv6 pour les commandes.
Les faits à placer en tête : la spécification vient des travaux de l'IETF sur IPng (première spécification adoptée en 1994), le réseau de production date de juin 2006 (fin du réseau expérimental 6bone) et ≈ 200 000 préfixes IPv6 sont aujourd'hui annoncés par BGP. Les motivations de la refonte : l'épuisement des adresses IPv4, l'augmentation de la taille des tables de routage, une transition sur la durée, et l'intégration de l'expérience acquise — nettoyage des en-têtes, prise en compte de la sécurité et de la qualité de service, généralisation du multicast.
Une adresse sur 128 bits, à écrire correctement
Une adresse IPv6 tient sur 128 bits, découpés en 8 blocs de 16 bits écrits en hexadécimal
et séparés par des deux-crochets. Pour l'utiliser dans une URL, on l'encadre de crochets (sinon
les deux-crochets de l'adresse se confondent avec ceux du port) :
http://[2001:db8:3003:1::6543:210f]:80/index.html.
L'écriture abrégée est un sujet d'examen à part entière — la RFC 5952 fixe des règles strictes, et une adresse mal abrégée est simplement une autre adresse :
Le piège du ::
Le double deux-crochets ne remplace jamais un seul bloc nul — 2001:db8:0:1:1:1:1:1 reste
tel quel — et n'apparaît qu'une fois par adresse, sur la plus longue suite de blocs nuls
(à égalité, la première : 2001:0:0:1:0:0:0:1 s'écrit 2001:0:0:1::1, pas
2001::1:0:0:1). Comptez toujours les blocs : l'adresse abrégée doit en reconstituer 8.
Les types d'adresses
Là où IPv4 distinguait juste « publiques, privées, diffusion », IPv6 structure tout son espace en trois familles — unicast, multicast, anycast — avec des plages bien définies :
Deux plages méritent une attention particulière pour le cours :
- Lien local
fe80::/10: configurée automatiquement par la machine, elle permet de communiquer sur le réseau local seulement — un paquet avec cette adresse destination ne sort jamais du réseau local. Comme la même adresse existe sur chaque lien du monde, l'utiliser impose de préciser l'interface de sortie :ping6 fe80::c634:6bff:fe24:e80c %eth0. - Locales uniques
fc00::/7: l'analogue des adresses privées IPv4 (RFC 1918), mais avec une unicité globale obtenue par une génération pseudo-aléatoire de l'identifiant : deux sites peuvent fusionner leurs réseaux sans collision. Elles ne sont pas censées être annoncées à l'extérieur et les paquets de/vers ces préfixes doivent être filtrés.
Pas de diffusion, pas d'ARP
IPv6 n'a pas d'adresse de diffusion (broadcast) : son rôle est tenu par le multicast
ff02::1 (tous les nœuds du lien) et ff02::2 (tous les routeurs). Une adresse multicast se
lit : ff, 4 bits de pérennité (0 permanent / 1 temporaire), 4 bits d'étendue (1 interface,
2 lien, 5 site, e global), puis l'ID du groupe.
Préfixe + interface ID : EUI-64 et multicast sollicitée
Une adresse unicast globale se découpe toujours en deux moitiés de 64 bits : le préfixe de réseau (préfixe de routage global + ID de sous-réseau) et l'interface ID qui identifie une interface sur le réseau physique. L'interface ID peut être généré de plusieurs façons — fonction aléatoire (RFC 7217), adresses cryptographiques (CGA, HBA) — le format EUI-64 dérivé de la MAC étant aujourd'hui déconseillé (RFC 8064) : il rend la machine traçable. Il reste celui du cours, et celui que vous observerez en TP :
L'adresse de multicast sollicitée est l'outil clé de tout le fonctionnement d'IPv6 : au lieu de diffuser une question à tout le monde comme ARP, on parle à une adresse que une seule machine écoute — celle dont l'adresse unicast se termine par les mêmes 24 bits.
L'en-tête IPv6 : 40 octets, rien de plus
RFC 8200 (juillet 2017, ex-RFC 2460). La refonte passe par une simplification radicale de l'en-tête : taille fixe, champs alignés sur 64 bits, suppression du contrôle d'erreur, options déménagées hors de l'en-tête, QoS et sécurité prises en charge.
Les différences qui tombent en QCM
IPv6 n'a pas de somme de contrôle (l'en-tête IPv4 en avait une, TCP/UDP la recalculent à chaque routeur en IPv4, plus rien à faire ici), pas de champ de fragmentation (une adresse de 128 bits serait trop petite pour tout caser : la fragmentation passe dans une extension), et le TTL devient nombre de sauts. La taille de l'en-tête est fixe : plus de champ IHL.
Les champs optionnels sont placés dans des extensions d'en-tête suivant l'en-tête IP : elles sont chaînées par le champ Prochain en-tête dans un ordre prédéfini, et le destinataire doit les traiter dans l'ordre (IPv6 → routage → fragment → TCP, par exemple). Seule l'extension hop-by-hop doit être examinée par tous les routeurs du chemin.
La découverte de voisins : ICMPv6 remplace ARP
Toute la plomberie de niveau 3-2 est regroupée dans le protocole de découverte de voisin (Neighbor Discovery), intégré à ICMPv6 et construit sur les adresses de multicast sollicitées. Ses objectifs : découvrir les adresses de niveau 2 (il remplace les requêtes ARP), permettre l'auto-configuration (unicité des adresses, préfixes à utiliser, paramètres du lien comme le MTU), trouver les routeurs sur le lien, choisir le routeur de sortie pour une destination, et vérifier l'accessibilité des voisins.
Les quatre messages à connaître par numéro
Sollicitation de voisin (type 135), annonce de voisin (136) — le couple qui remplace ARP — et sollicitation de routeur (133), annonce de routeur (134) — le couple de l'auto-configuration. En Wireshark (TP 4), ce sont les seuls types ICMPv6 que vous verrez.
La détection d'adresse dupliquée (DAD, Duplicate Address Detection) est réalisée pour toute
adresse unicast avant usage : l'hôte envoie une sollicitation de voisin depuis l'adresse ::
vers l'adresse de multicast sollicitée de l'adresse testée. Si une annonce de voisin répond,
l'adresse est déjà utilisée — on arrête l'auto-configuration. Silence, et l'adresse devient
« préférée ».
L'auto-configuration sans état (SLAAC)
Le grand confort d'IPv6 : une machine qui arrive sur un lien se configure toute seule, sans DHCP ni fichier de configuration. La séquence tient en cinq étapes :
Le routeur ne se contente pas de fournir le préfixe : son annonce apporte aussi les paramètres du lien (nombre de sauts, MTU, temporisateurs de voisinage) et les durées de vie de chaque préfixe — durée de validité et durée de préférence. C'est cette information qui rend la renumérotation d'un réseau presque invisible : on annonce un nouveau préfixe pendant l'ancien, puis on raccourcit la vie de l'ancien.
SLAAC « sans état » vs DHCPv6 « avec état »
La SLAAC est sans état : aucun serveur ne mémorise qui a quelle adresse — le routeur annonce des préfixes, les machines se débrouillent. L'auto-configuration avec état repose sur DHCPv6 : le routeur peut l'indiquer dans son annonce (ou juste un complément, p. ex. la configuration DNS) ; elle est aussi tentée quand aucun routeur ne répond aux sollicitations.
Les états d'une adresse : la clé de la renumérotation
Chaque adresse unicast passe par des états, pilotés par les durées annoncées dans l'annonce de routeur :
Cette double horloge est tout l'art de la renumérotation (RFC 4192) : ajouter le nouveau préfixe avant de retirer l'ancien, laisser les connexions en cours finir sur l'adresse obsolète, et laisser les nouvelles connexions basculer d'elles-mêmes sur l'adresse préférée. Le TP 4 met exactement en scène cette bascule sur FRR.
À retenir
- Une adresse IPv6 = 128 bits, 8 blocs de 16 bits en hexadécimal. Abréviation RFC 5952 :
zéros de tête supprimés, un seul
::sur la plus longue suite de blocs nuls (jamais un seul bloc), tout en minuscules — et l'adresse doit reconstituer 8 blocs. - Plages :
::/128non spécifiée,::1bouclage,fe80::/10lien local (automatique, jamais routée, interface à préciser),fc00::/7locales uniques (privées filtrées),2000::/3globales (la seule allouée). Multicastff00::/8au lieu des diffusions :ff02::1tous les nœuds,ff02::2tous les routeurs. Anycast : remise à la plus proche. - Adresse unicast = 64 bits de préfixe + 64 bits d'interface ID (EUI-64 : MAC avec 7ᵉ bit
inversé et
ff:feinséré — aujourd'hui déconseillé pour la vie privée). Multicast sollicitée =ff02::1:ff+ 24 derniers bits de l'adresse. - En-tête 40 octets fixes : pas de somme de contrôle, pas d'options (→ extensions chaînées), classe de trafic + label de flot (QoS), nombre de sauts = TTL.
- La découverte de voisins (ICMPv6) remplace ARP : sollicitation/annonce de voisin (135/136) sur les multicast sollicitées, DAD pour vérifier l'unicité, sollicitation/annonce de routeur (133/134) pour la SLAAC — préfixes, MTU, durées de validité/préférence qui pilotent les états tentative → préférée → obsolète → invalide et rendent la renumérotation douce.
cours-4-ipv6.pdf
R3.06 · Cours — Yvan Peter, IUT de Lille · 42 diapositives
Chargement du document…
Dernière mise à jour le
Ch. 3 — Les protocoles : IP, ARP, ICMP, TCP et UDP
Le modèle TCP/IP et l'encapsulation, le service « au mieux » d'IP avec sa fragmentation et son TTL, ARP et ICMP côté réseau, puis la couche transport : ports, sockets, UDP et le TCP fiable, optimisé et équitable.
TP 1 — Gestion des adresses IPv4
Kathará, commande ip, table de routage et passerelle par défaut, configuration permanente, plans d'adressage VLSM — l'énoncé et le corrigé pas à pas des trois labs.