Ch. 5 — IPv6
Pourquoi IPv6, l'en-tête simplifié de la RFC 8200 avec extensions chaînées, l'écriture canonique RFC 5952, les plages IANA (2000::/3, fd00::/8, ff00::/8) et les modes de diffusion.
Pourquoi IPv6 ?
Le successeur d'IPv4 (IP Next Generation) répond à quatre motifs :
- la pénurie d'adresses : les adresses privées plus le NAT n'étaient que des solutions temporaires, aux passerelles de complexité croissante ; IPv6 augmente les possibilités d'adressage ;
- la complexité de l'en-tête d'IPv4 : le simplifier améliore la gestion des paquets sur les routeurs ;
- l'explosion de la taille des tables de routage, qui ralentit les routeurs et crée une congestion croissante ;
- des besoins de services supplémentaires : meilleure gestion des options, authentification, étiquetage des flux de données, mobilité, multi-homing — et un nouveau type de diffusion, l'anycast (RFC 2526) : « 1 vers 1 parmi plusieurs », par exemple atteindre le plus proche serveur d'un groupe spécifié.
L'en-tête fixe (RFC 8200)
L'en-tête IPv6 est plus simple que celui d'IPv4 : plus de champ IHL (l'en-tête est de taille fixe), plus de checksum, la fragmentation a quitté l'en-tête de base, et les adresses font 128 bits.
0 4 12 16 24 31
+-----+----------+---------------------------+
| 6 | Classe | Étiquette de flot |
| | du trafic| (20 bits) |
+-----+----------+------------+--------------+
| Longueur « charge utile » |En-tête| # sauts |
| |suivant| restant |
+---------------------------+-------+---------+
| Adresse source (128 bits) |
+---------------------------------------------+
| Adresse destination (128 bits) |
+---------------------------------------------+
| DATA (= données utiles) |Champ par champ :
- Version : 6 sur 4 bits (
0110) ; - classe du trafic (1 octet) : identique au DiffServ (DSCP) + ECN d'IPv4 ;
- étiquette de flot (20 bits) : identifiant du flot d'appartenance — ce n'est pas un identifiant de datagramme ; 0 si non utilisé ;
- longueur de charge utile : le volume (en octets) du champ data uniquement ; si elle vaut 0, c'est un jumbogramme (longueur supérieure à 64 ko) qui utilise une extension spécifique (next header = 0) et des adaptations de TCP et UDP (RFC 2675) ;
- en-tête suivant (1 octet) : le chaînage des extensions — les « options » d'IPv4. S'il n'y a pas d'extension, il joue le rôle du champ protocole d'IPv4 ; les extensions sont optionnelles et ordonnées, chacune indiquant la nature de la suivante (RFC 6564) ;
- nombre de sauts maxi : l'équivalent du TTL d'IPv4, simplement renommé.
128 bits, une écriture canonique (RFC 5952)
Une adresse IPv6 tient sur 128 bits (16 octets), soit 2¹²⁸ ≈ 3,4 × 10³⁸ identifiants — de quoi assigner 10⁶ adresses par microseconde pendant 20 ans. L'écriture canonique impose : hexadécimal, séparateur « : » tous les 2 octets (16 bits), puis trois simplifications successives :
FE80 : 0000 : 0000 : 0000 : 0123 : 0000 : 0000 : 4560 écriture complète
FE80 : 0 : 0 : 0 : 123 : 0 : 0 : 4560 zéros non significatifs retirés
fe80 :: 123 : 0 : 0 : 4560 première plus longue suite de mots
nuls remplacée par ::, minusculesLe résultat s'utilise ensuite comme une adresse classique : socket (IP + port) —
172.18.49.25:80 en IPv4 devient [fe80::2e41:38ff:feb4:7ebc]:80 en IPv6 (crochets
obligatoires dans une URL) ; liaison spécifique avec le suffixe %eth0 pour préciser
l'interface ; masque en notation CIDR comme préfixe, compatible avec la notion de
(sous-)réseau.
Les plages de l'IANA
La répartition des 2¹²⁸ adresses (RFC 6890, registre IANA ipv6-address-space) :
::/8: adresses réservées. Parmi elles :::/128(indéfini, pour l'initialisation — DHCP),::1/128(boucle locale, équivalent de127.0.0.1/8en IPv4 mais une seule adresse suffit),::ffff:0:0/96(mapping IPv4 sur IPv6, RFC 4291 :::ffff:ac12:3119s'écrit aussi::ffff:172.18.49.25) et64:ff9b::/96(RFC 6052, traduction IPv4 et IPv6 l'une vers l'autre) ;2000::/3: adresses unicast globales, l'équivalent des adresses publiques IPv4, routables sur Internet. La gestion est hiérarchique : IANA délègue aux RIR (Regional Internet Registry), qui alimentent ISP et LIR, jusqu'aux utilisateurs finaux (délégations2000::/3→200x::/23→200x::/48→200x::/64) ;fc00::/7: adresses locales uniques, non routables — en pratiquefd00::/8(fc00::/8est réservé pour un usage futur) ;ff00::/8: adresses multicast, qui remplacent la diffusion locale et étendent la notion de multi-diffusion. Format : préfixe1111 1111, 4 bits de drapeaux (T : adresse temporaire ; P : construite sur un préfixe réseau ; R : point de rendez-vous), 4 bits de portée (1 : nœud ; 2 : lien local ; 5 : site local ; e : global), puis un identifiant de groupe — il existe des groupes réservés « tous les nœuds » et « tous les routeurs » ;fe80::/10: adresses de liaison locale, non routables — l'équivalent des adresses privées IPv4. Elles sont auto-configurées : soit à partir de l'adresse MAC via EUI-64 (la MAC de 6 octetsxx:xx:xx:yy:yy:yydevientxx:xx:xx:ff:fe:yy:yy:yysur 8 octets, donnantfe80::xxxx:xxff:feyy:yyyy), soit par un identifiant pseudo-aléatoire (RFC 8981, meilleure sécurité).
Structure des adresses globales et locales
Une adresse 2000::/3 se découpe en 3 bits 001, 45 bits de routage global, 16 bits de
sous-réseau et 64 bits d'interface. Une adresse fe80::/10 commence par 1111 1110 10
suivi de 54 bits à 0, puis des 64 bits d'interface — d'où la forme fe80::… familière.
Les modes de diffusion
Le routage se décline en plusieurs modèles de diffusion : unicast (1 vers 1), anycast (1 vers 1 parmi plusieurs, par exemple le plus proche d'un groupe donné), multicast (1 vers plusieurs), broadcast (1 vers tous) et geocast (1 vers une zone géographique — non pertinent en IP). En pratique, c'est le multicast qui reprend le rôle de la diffusion locale d'IPv4.
A retenir
- IPv6 = adresses sur 128 bits, en-tête fixe et simplifié (RFC 8200) : classe de trafic, étiquette de flot, charge utile, en-tête suivant (extensions chaînées), nombre de sauts ;
- écriture canonique RFC 5952 : minuscules, zéros non significatifs supprimés, une seule
compression
::sur la plus longue suite de mots nuls ; - plages IANA :
2000::/3(unicast global),fd00::/8(locales uniques),ff00::/8(multicast),fe80::/10(liaison locale auto-configurée),::1/128(boucle locale) ; - diffusion : unicast, anycast (le plus proche parmi plusieurs), multicast — le broadcast d'IPv4 est remplacé par le multicast.
R205-5-ipv6.pdf
R2.05 · Cours 5 — Datagramme et adresses IPv6 · 21 pages
Chargement du document…
Dernière mise à jour le
Ch. 4 — Le datagramme IPv4
L'en-tête RFC 791 champ par champ : Version, IHL, ToS devenu DiffServ, longueur totale, MTU et fragmentation, TTL, protocole, checksum, options — avec le décodage hexadécimal.
Ch. 6 — Routage
Routage direct (bus, étoile) et indirect : la trame change à chaque saut mais l'IP persiste — tables de routage, lecture sur Linux, Windows et Cisco, construction statique ou dynamique.