Cours sur l'IPv6
Pourquoi IPv6 ?
L'IPv4 (version 4 du protocole IP) étant limitée à un espace d'adressage de 32 bits, elle ne peut fournir qu'environ 4,3 milliards d'adresses.
Avec l'explosion d'Internet (ordinateurs, smartphones, objets connectés...), ce stock d'adresses IPv4 est devenu insuffisant, d'où la nécessité d'IPv6, qui utilise des adresses sur 128 bits, offrant un espace théoriquement quasi illimité.
Caractéristiques principales d'IPv6
- Adresse sur 128 bits : généralement représentée sous forme hexadécimale, par blocs de 16 bits séparés par « : » (exemple : 2001:0db8:85a3:0000:0000:8a2e:0370:7334).
- Auto-configuration : grâce à la découverte de routeur (Router Solicitation/Advertisement), les hôtes peuvent s'auto-configurer sans serveur DHCP.
- Simplification des en-têtes : malgré une adresse plus longue, l'en-tête IPv6 a été repensé pour être plus efficace et plus simple à traiter par les routeurs.
- Sécurité intégrée (IPsec) : le chiffrement et l'authentification font partie du standard IPv6.
1. Les « classes » d'adresses IP : publiques et non routables
Attention : Historiquement, on parle souvent de classes pour IPv4 (A, B, C, etc.).
Avec l'apparition du CIDR (Classless Inter-Domain Routing), ces notions de classes sont devenues moins pertinentes en pratique.
En IPv6, il n'existe plus de « classes » au sens IPv4, mais des types d'adresses, avec différentes portées (scope).
1.1. Rappels : adresses publiques vs. non-routables (privées) en IPv4
- Adresses publiques : Routables sur Internet (par exemple 8.8.8.8, 93.184.216.34).
- Adresses privées (non-routables) : Non routables sur Internet, utilisées pour les réseaux locaux (par exemple 192.168.x.x, 10.x.x.x, 172.16.x.x -- 172.31.x.x).
1.2. Équivalent en IPv6
En IPv6, on ne parle plus de classes A, B ou C. À la place, on a :
- Global Unicast Addresses (GUA) :
- Adresses globalement routables sur Internet.
- Généralement préfixées en 2000::/3 (par exemple 2001:db8::/32).
- Unique Local Addresses (ULA) :
- Équivalent des adresses privées (non-routables globalement).
- Espace d'adressage fc00::/7, souvent fd00::/8 dans la pratique.
- Utilisées dans les réseaux internes ; pas censées être routées sur Internet.
- Link-Local Addresses :
- Préfixe fe80::/10.
- Portée locale au lien (interface réseau).
- Utilisées pour la découverte de voisinage (NDP) et comme passerelle locale.
- Multicast (ff00::/8) :
- Pour le trafic envoyé à un groupe d'hôtes (similaire au multicast IPv4 de la plage 224.x.x.x à 239.x.x.x).
Ainsi, les adresses dites "publiques" en IPv6 sont généralement les Global Unicast Addresses.
Les adresses "non-routables" en IPv6 sont principalement les Unique Local Addresses (ULA) et les Link-Local Addresses (qui ne sortent pas du lien local).
2. Le masque (ou longueur de préfixe)
2.1. Notion de masque en IPv4
En IPv4, on utilise un « masque de sous-réseau » (subnet mask) pour séparer la partie réseau (network) de la partie hôte (host). Par exemple :
- Adresse : 192.168.1.10
- Masque : 255.255.255.0 (ou /24 en notation CIDR)
Le masque (255.255.255.0) indique que les 24 premiers bits sont la partie réseau.
2.2. Notion de préfixe en IPv6
En IPv6, on parle plutôt de longueur de préfixe (prefix length).
Par exemple, on écrit souvent : 2001:db8:abcd:0012::/64
- Les 64 premiers bits (/64) représentent la partie réseau.
- Les 64 bits restants représentent la partie interface (ID de l'interface).
La grande majorité des sous-réseaux IPv6 sont en /64, pour permettre l'auto-configuration et faciliter les opérations de réseau.
3. La passerelle
3.1. Définition
La passerelle par défaut (default gateway) est l'adresse IP d'un routeur qui permet à une machine d'accéder à des réseaux extérieurs (typiquement Internet).
- En IPv4 : on configure (manuellement ou via DHCP) une passerelle du type 192.168.1.1.
- En IPv6 : la passerelle par défaut est souvent l'adresse link-local du routeur (fe80::1, par exemple). Les machines apprennent cette adresse via les Router Advertisements (RA), ce qui permet une configuration automatique.
3.2. Découverte de routeur (NDP)
En IPv6, on utilise le Neighbour Discovery Protocol (NDP) pour :
- Découvrir l'adresse MAC (équivalent d'ARP).
- Obtenir la passerelle par défaut (Router Advertisement).
- Valider l'unicité d'une adresse locale (Duplicate Address Detection).
4. Le VLSM (Variable Length Subnet Mask)
4.1. VLSM en IPv4
Le VLSM (Variable Length Subnet Mask) permet de découper un réseau en sous-réseaux de tailles différentes, en ajustant la longueur du masque. Par exemple, au lieu de découper systématiquement en /24, on peut avoir :
- Un sous-réseau en /25 (128 adresses).
- Un sous-réseau en /26 (64 adresses).
- Etc.
Cela permet une utilisation plus fine et plus efficace de l'espace d'adressage IPv4.
4.2. VLSM en IPv6
Grâce au gigantesque espace d'adresses IPv6, on pratique moins souvent le "VLSM" au sens traditionnel.
La plupart du temps, on sous-réseaute en /64.
Cependant, il est techniquement possible de découper différemment pour des besoins particuliers (p. ex. /48 pour un site, /56 pour un sous-site, /64 pour un VLAN, etc.).
On parle plus souvent de CIDR IPv6 ou simplement de gestion de préfixes.
5. Composition d'une trame (ou d'un paquet) IP
Pour être précis, on distingue :
- La trame (frame) : couche 2 (Ethernet, Wi-Fi, etc.).
- Le paquet (packet) : couche 3 (IP).
En général, on parle plutôt de paquet IP (ou d'en-tête IP) pour décrire la structure au niveau de la couche réseau.
5.1. Rappel rapide de la trame Ethernet (couche 2)
Une trame Ethernet comprend en gros :
- Preamble + SFD (Start Frame Delimiter)
- Destination MAC (6 octets)
- Source MAC (6 octets)
- EtherType/Length (2 octets) -- indique le type de protocole, IPv4, IPv6, ARP, etc.
- Payload (46 à 1500 octets, contenant le paquet IP)
- FCS (Frame Check Sequence, 4 octets)
5.2. En-tête IPv6 (couche 3)
Le paquet IPv6 se compose de :
- Version (4 bits) : doit être 6 pour IPv6.
- Traffic Class (8 bits) : classe de trafic, QoS.
- Flow Label (20 bits) : identification d'un flux particulier.
- Payload Length (16 bits) : taille de la partie "données".
- Next Header (8 bits) : indique le type de l'en-tête suivant (TCP, UDP, extension IPv6, etc.).
- Hop Limit (8 bits) : équivalent du TTL (Time To Live) en IPv4.
- Source Address (128 bits) : adresse source IPv6.
- Destination Address (128 bits) : adresse destination IPv6.
À cela peuvent s'ajouter des en-têtes d'extension (comme un en-tête d'authentification, d'encapsulation, etc.) avant d'arriver finalement aux données de la couche transport (TCP, UDP, etc.).
6. En résumé
L'IPv6 apporte :
- Un espace d'adressage beaucoup plus grand (128 bits).
- Une auto-configuration intégrée via NDP et les Router Advertisements.
- Un en-tête repensé pour une meilleure efficacité.
- Des mécanismes de sécurité (IPsec) inclus par défaut.
Les notions de classes (A, B, C) appartiennent à l'héritage IPv4 et sont remplacées en IPv6 par des types d'adresses (Global Unicast, Unique Local, Link-Local, Multicast).
Le masque de sous-réseau cède la place à la longueur de préfixe (souvent /64), et la passerelle (default gateway) est souvent configurer automatiquement via des adresses link-local. Enfin, la composition du paquet IPv6 diffère de celle d'IPv4 mais reste plus simple et extensible via des en-têtes supplémentaires.
En résumé, la transition vers IPv6 est incontournable pour répondre aux besoins croissants d'adressage sur Internet et garantir la scalabilité, la sécurité et la simplicité de configuration des réseaux de demain.
Pour aller plus loin
- RFC 4291 -- IP Version 6 Addressing Architecture
- RFC 8200 -- Internet Protocol, Version 6 (IPv6) Specification
- Site officiel IPv6 du RIPE NCC