Faut-il passer à IPv6 maintenant ?
un petit guide pour comprendre IPv6

par Jean-Paul Figer, ARMOSC

Publié le - Mis à jour le

vide

Principales rubriques

Depuis janvier 2008 Free a déployé IPv6 dans son offre grand public. C'est l'aboutissement d'une longue marche. Le projet IPv6 [Internet Protocol version 6] a été lancé en 1990 et adopté comme standard par l'IETF pour remplacer l'IPv4 en 1998.

Aujourd'hui, l'Internet fonctionne principalement avec le protocole IPv4 qui a plus de vingt ans d'âge. IPv4 a permis le fantastique développement de l'Internet grâce à quelques adaptations comme le NAT. En 2008, les 4 milliards d'adresses IPv4 publiques sont presque toutes attribuées alors que le nombre d'équipements connectés à Internet en particulier les téléphones mobiles est en très forte croissance. Le passage au protocole IPv6 qui offre un espace d'adresse quasi illimité (1038) est donc inéluctable. Le protocole IPv6 apporte aussi des avantages comme l'amélioration des performances de routage et la simplification de l'auto configuration du réseau. Cependant, IPv6 n'est pas compatible avec le protocole IPv4. Il faut donc gérer une transition, ce qui n'est jamais très simple. Le but de cet article est de servir de petit guide pratique pour se familiariser avec IPv6 à la maison, pas de se substituer au document de référence ou aux milliers d'articles qui expliquent en détail les caractéristiques de ce protocole.

Comment passer à IPv6 à la maison

ipv6 Free

Il faut un accès Free dégroupé. Dans l'interface de gestion de la Freebox, cocher la case Support IPv6 et redémarrer la Freebox.

Si vous avez une machine Ubuntu Linux, il n'y a rien à faire.  IPv6 est activé par défaut.
Sous Windows XP SP2, il faut au préalable installer le protocole "Microsoft TCP/IP version 6" en plus du "protocole Internet(TCP/IP)" qui supporte IPv4 (taper ipv6 install dans une fenêtre de commande).
Sous Windows Vista, IPv6 est activé par défaut.

Les adresses IPv6 sont attribuées automatiquement. En fait, vous conservez vos adresses IPv4 qui coexistent, côte à côte, avec les adresses IPv6.

Pour vérifier que tout s'est bien passé, allez sur le site IPv6.org qui affichera votre adresse IPv6 publique

You are using IPv6 from 2a01:5d8:52eb:be1d:f053:2abf:ef7d:6c89

Google est maintenant accessible aussi en IPv6 http://ipv6.google.com

Comprendre les adresses IPv6

Tous les détails techniques sur l'architecture de l'adressage IPv6 sont ici : RFC4291.

Une adresse IPv6 est bien plus longue qu'une adresse IPv4. C'est une des raisons d'utiliser le nouveau protocole. Le nombre d'adresses est quasiment infini. Chaque machine (noeud dans la terminologie IPv6) reliée au réseau peut utiliser une ou plusieurs adresses globales IPv6. Fini les complications du NAT et du port forwarding. De nouveau toutes les machines peuvent communiquer directement.

Une adresse IPv6 est donc représentée par 128 bits (32 en IPv4) que l'on écrit en 8 suites de 4 caractères hexadécimaux (0-9,a-f) séparé par le caractère deux-points  :

2a01:05d8:52eb:be1d:f053:2abf:ef7d:6c89

La notation des adresses IPv6

La notation comporte 39 caractères. Elle peut se simplifier en supprimant les zéros non significatifs et en remplaçant une suite de zéro par ::
Les adresses suivantes sont donc toutes équivalentes.

2001:0db8:0000:0000:0000:0000:1428:57ab
2001:0db8:0000:0000:0000::1428:57ab
2001:0db8:0:0:0:0:1428:57ab
2001:0db8:0:0::1428:57ab
2001:0db8::1428:57ab
2001:db8::1428:57ab

Les adresses 2001:db8::/32 comme ci-dessus servent pour les exemples et ne sont pas routées.

La notation des URL

Les adresses IPv6 dans les URL s'écrivent entre [  ] ce qui permet d'ajouter un numéro de port si nécessaire.

http://[2a01:5d8:52eb:be1d:f053:2abf:ef7d:6c89]:81/

La notation des réseaux

C'est le format CIDR qui est utilisé en IPv6. On indique le nombre de bits qui sont identiques dans toutes les adresses du réseau. Exemple
2a01:5d8:52eb::/48 représente le réseau dont les adresse vont de
2a01:5d8:52eb:0:0:0:0:0 à
2a01:5d8:52eb:ffff:ffff:ffff:ffff:ffff

C'est différent du concept de classe utilisé en IPv4. Le but est de simplifier les tables de routage.

Les types d'adresses

Il y a 3 types d'adresses qui sont identifiées par leurs bits de poids forts

  • Multicast
    ff00::/8 Ce préfixe désigne un ensemble d'adresses d'un réseau et les paquets sont envoyés à toutes les adresses de ce réseau
  • Anycast
    L'adresse, réservée aux routeurs, n'est pas unique et le paquet est envoyé à l'interface en principe la plus proche. Rien ne les distingue des adresses unicast
  • Unicast : les paquets sont envoyés à l'adresse désignée qui est celle d'une interface réseau. Les adresses de type unicast sont réparties de la manière suivante
    adresses lien local [link local]
     ::1/128 C'est l'adresse de bouclage local [localhost] équivalente de 127.0.0.1 en IPv4
     fe80::/10 C'est le préfixe du réseau local. Ces adresses permettent de communiquer entre les noeuds du réseau local. Le masque IPv4 est devenu inutile.
    adresses globales
    Les adresses de l'Internet IPv6 sont désignées par 2000::/3 . Elles commencent donc toutes par 2 ou 3. Pour simplifier, l'adresse est coupée en 2 parties : 64 bits pour l'adresse sur le lien local et 64 bits pour l'adresse dont les 48 premiers sont attribués au fournisseur Internet et les 16 suivants pour adresser les sous-réseaux.


Le routage est simple en IPv6 puisque l'adresse contient l'adresse de routage.
La même interface réseau physique peut recevoir plusieurs adresses IPv6. Pour éliminer l'ambiguïté, %iface est ajouté à la fin de l'adresse IPv6. Sous Windows %iface est un numéro %1, %2, ... Sous Linux, c'est souvent un nom comme %eth0 .

Auto configuration des adresses IPv6

Le mécanisme IPv6 d'auto configuration sans état [stateless autoconfiguration] des adresses est une simplification considérable par rapport à IPV4. Chaque noeud construit son ou ses adresses IPv6 sans configuration préalable, sans serveur supplémentaire (plus de DHCP !) et pratiquement sans configuration des routeurs.
Chaque noeud construit pour chaque interface réseau une adresse IPv6 en combinant des informations disponibles localement (64 bits bas) et l'adresse de réseau global fournie par le routeur (64 bits hauts). S'il n'y a pas de routeur, la machine construit seulement une adresse link local.

C'est le standard IEEE EUI-64 qui est habituellement utilisé pour construire les 64 bits bas à partir d'une adresse MAC sur 48 bits. On intercale entre les 24 bits de poids fort (identification du vendeur) et les 24 bits de poids faible (le numéro de série de l'équipement) les 16 bits FFFE.
Par exemple, une interface réseau avec l'adresse MAC 00-50-56-C0-00-08 s'attribuera automatiquement une adresse link-local fe80::250:56ff:fec0:8

Les outils réseau IPv6

Sous Windows ou Ubuntu, il faut utiliser ping6 au lieu de ping et tracert6 au lieu de tracert pour le traceroute.

Pour installer IPv6 sous Windows XP, taper dans une fenêtre de commande
ipv6 install
puis
ipv6 if
pour voir la liste des interfaces

DNS [Domain Name System]

C'est tout simplement une extension du DNS IPv4. Un DNS doit fournir les adresses IPv4 et IPv6, qu'il soit interrogé en IPv4 ou en IPv6.
Les adresses IPv6 sont indiquées dans des enregistrements de type AAAA (type A pour IPv4).

Un nom de domaine spécial IP6 .ARPA est utilisé pour retrouver le nom d'un domaine à partir de l'adresse IPv6. C'est l'équivalent du domaine IN-ADDR.ARPA utilisé pour les adresses IPv4.
Par exemple l'enregistrement pour l'adresse  2a01:05d8:52eb:be1d:f053:2abf:ef7d:6c89 devient
9.8.c.6.d.7.f.e.f.b.a.2.3.5.0.f.d.1.e.b.b.e.2.5.8.d.5.0.1.0.a.2.IP6.ARPA.

La spécification détaillée est décrite dans la RFC 3596.

La transition vers IPv6

Les systèmes IPv4 et IPv6 ne sont pas compatibles. Ils doivent donc pouvoir coexister pendant une période assez longue. Plusieurs mécanisme sont utilisés

  • Double Pile [dual stack]
    C'est un peu comme le passage progressif des ports COM1 et LPT1 à des prises USB sur les PC. La solution choisie est la coexistence. Chaque interface réseau supporte l'adressage IPv4 et IPv6.
  • 6to4
    Cette méthode permet de transmettre des paquets IPv6 en utilisant des réseaux IPv4.
    On commence par affecter des adresses IPv6 à chaque adresse globale IPv4 en utilisant le préfixe 2002::/16 et en concaténant l'adresse IPv4 sur 32 bits.
    Le préfixe du réseau devient pour l'adresse 194.2.94.9 2002:c202:5e09:/48
    Il est alors possible d'adresser 280 noeuds derrière chaque adresse IPv4. Ensuite les paquets IPv6 sont encapsulés dans des paquets IPv4 puis transmis à des routeurs qui font l'interface entre les réseaux IPv6 et IPv4.

Les avantages d'IPv6

Un nombre quasi infini d'adresses IP globales : c'est le principal avantage, celui qui pousse à la migration. C'est nécessaire pour les nouvelles applications comme la mobilité. La complexité des systèmes comme le NAT va disparaître.

L'auto configuration sans état des adresses IPv6 : les problèmes de configuration qui compliquaient le déploiement des réseaux IPv4 disparaissent. Chaque machine calcule son adresse lien local et obtient du routeur les paramètres de la couche réseau globale.

Les adresses fixes sur le réseau local : les interfaces IPv6 ont des adresses lien local fixes qui ne changent jamais en plus des adresses globales utilisées par les applications. Ceci simplifie la conception des protocoles de configuration et de routage.

Multicast : le multicast est intégré en standard dans le protocole de base.

Jumbograms : les paquets IPv4 sont limités à 64 Ko. Cette limite passe à 4 Go en IPv6 quand la qualité des liens le permet.

Simplification du routage : tables de routage réduites et  pas de  contrôle d'erreur au niveau des en-têtes de paquets doivent permettre de réduire le temps de transit des paquets dans les routeurs.

Sécurité au niveau de la couche réseau : IPsec, couche de sécurité (authentification et chiffrage) entre routeurs est intégrée dans le protocole de base.

Envoyer vos remarques, suggestions ou questions à

Jean-Paul Figer
© Jean-Paul Figer, 1958-2013

J'ai travaillé pendant 40 ans à Capgemini. Cependant les opinions exprimées dans ces articles n'engagent que moi et ne représentent pas la position de Capgemini.

Pour être informé des nouveaux articles, inscrivez-vous avec votre adresse mail

Terminologie IPv6 en français

Voici la traduction en français des [termes anglais] utilisés dans cet article

noeud [node]
un système qui implémente IPv6.
routeur [routeur]
un nœud qui transmet [forward] des paquets qui ne lui sont pas explicitement adressés.
hôte [host]
tout nœud qui n’est pas un routeur.
lien [link]
un médium ou un canal de communication par lequel des nœuds peuvent communiquer à partir de la couche de lien, i.e., la couche immédiatement au-dessous d’IPv6. Des exemples sont les réseaux Ethernet (simples ou avec des ponts) ; les liaisons PPP ; les réseaux X.25, Frame Relay ou ATM ; et les " tunnels " de couche inter-réseaux (ou supérieure) tels que les tunnels à travers IPv4 ou IPv6 lui-même.
interface [interface]
un dispositif du nœud qui le relie au lien.