Des millions de systèmes informatiques, micro-ordinateurs, serveurs ou routeurs, utilisent IPv4. En conséquence, il serait surréaliste d'espérer passer au tout-IPv6 du jour au lendemain. Il faut en effet mettre-à-jour ou remplacer tous les systèmes reliés à Internet.
Le déploiement d'IPv6 se fait donc lentement, alors que l'on continue à utiliser IPv4 sur les nombreux systèmes qui ne supporte pas encore la nouvelle version.
En particulier, de nombreux routeurs ne supportent pas encore IPv6. Pour pouvoir connecter deux machines supportant IPv6, mais reliées par une infrastructure réseau ne supportant que l'IPv4, il est nécessaire d'établir des « tunnels ». Il s'agit de mettre les paquets IPv6 dans des paquets IPv4 (c'est le même principe que les poupées russes), pour qu'ils puissent traverser le réseau IPv4. Une fois arrivé au bout du tunnel, les paquets sont décapsulés : on enlève la surcouche IPv4 pour récupérer le paquet IPv6 natif.
Différents types de tunnels sont spécifiés :
Avec tout ces types de tunnel, il est possible d'accéder à l'Internet-IPv6 depuis pratiquement toute connexion Internet.
Avertissement : La suite de cette section est un peu plus poussée techniquement. L'absence de schéma peut rendre la compréhension de cette partie d'autant plus délicate.
Un tunnel statique consiste à transmettre des paquets IPv6 sur IPv4. Ces paquets sont échangés entre deux machines selon des règles (routage) spécifiquement définie.
On obtient des paquets de cette forme :
Entête IP (v4) |
---|
Entête IPv6 (proto 41) |
Contenu du paquet IPv6 |
De tels paquets sont des paquets IPv4 normaux. Ils peuvent donc transiter sur l'Internet IPv4.
6to4 est une variante du tunnel statique. Toute machine qui dispose d'une adresse IPv4 globale peut utiliser le 6to4. C'est une sorte de tunnel entre toutes les machines de la planète qui disposent d'une adresse IPv4 publique/globale. Cela permet d'accéder à l'Internet IPv6 par une connexion Internet IPv4 usuelle, telle que fournie par un fournisseur d'accès grand public.
Le format des paquets est le même que pour le tunnel statique, mais les paquets sont échangés entre de très nombreuses machines supportant le 6to4.
Tout paquet IPv6 dont l'adresse de destination commence par
2002:
doit passer par le tunnel 6to4.
Dans ce cas, les bits 16 à 47 de l'adresse IPv6 destination
détermine à quelle adresse IPv4 le paquet doit être
transmis.
Cette adresse est celle d'un routeur 6to4.
Par exemple, si la destination d'un paquet IPv6 est
2002:8ac3:802d:1242:20d:60ff:fe38:6d16
,
, le paquet sera transmis par IPv4 au routeur 6to4 dont l'adresse IP est
138.195.128.45
(0x8a = 138, 0xc3 = 195, 0x80 = 128, 0x2d = 45).
C'est ensuite au routeur 6to4 de transmettre le paquet IPv6 à sa
destination finale.
Avec cette technique, si un fournisseur d'accès à Internet
vous attribue une adresse IPv4, vous disposez automatiquement
d'un jeu de 2^80 adresses IPv6 que vous pouvez librement utiliser :
toutes les adresses IPv6 commençant par 2002:8ac3:802d:
dans notre exemple.
C'est amplement suffisant pour que toutes les machines de votre réseau
local obtienne leur propre adresse IPv6.
Pour que les utilisateurs d'adresses IPv6 commençant par
2002:
puissent communiquer avec les autres, des relais entre le
monde 6to4 et l'Internet-IPv6 ont été mis-en-place sur Internet.
Par une astuce ingénieuse, l'adresse du relais le plus proche est toujours
192.99.88.1
en IPv4.
Ainsi, si vous utilisez 6to4 pour vous connecter à Internet, et que
vous souhaitez contacter une machine n'utilisant pas 6to4, par exemple,
2001:200:0:8002:203:47ff:fea5:3085
, vous pouvez transmettre les
paquets par le tunnel 6to4 au relais le plus proche.
ISATAP est l'équivalent interne de 6to4 (externe). Alors que 6to4 fournit une connectivité IPv6 vers l'extérieur, ISATAP fournit une connectivité IPv6 vers l'intérieur. C'est utile si certains des routeurs de votre réseau Intranet/local ne supportent pas IPv6.
Avec ISATAP, les 64 premiers bits de l'adresse IPv6 sont choisis.
Les bits 64 à 95 sont égaux à 0000:5ffe
.
Enfin, les bits 96 à 127 représente l'adresse IPv4 de
destination (bout du tunnel).
Teredo est une technologie non finalisée, développé par Microsoft Corporation. Elle consiste à encapsuler des paquets IPv6 dans des paquets UDP/IPv4. En effet, les paquets UDP peuvent traverser les dispositifs NAT, contrairement aux paquets IPv6 sur IPv4.
Il est déjà prévu des tunnels permettants la transmission d'IPv4 à travers un réseau IPv6, mais je n'en connait aucune application pour le moment.