Comme on le sait, les quelques milliard de possibilités offertes par les adresses IPv4, codées sur 32 bits, sont arrivées à leur limite.
Pour tenter de contrer ce type de problème, depuis longtemps (environ une vingtaine d’années), l’IETF (Internet Engineering Task Force) travaille sur une solution durable,
à savoir le protocole IPv6, qui changera complètement le type d’adressage et le contenu des trames envoyées par rapport à l’IPv4.
Ces adresses seront codées sur 128 bits, et exprimées en hexadécimal. Une adresse IPv6, regroupée en 8 groupes de 2 octets et séparée par des double points, ressemble à ça :
2001:A632:0000:2A7B:901A:0000:173A:02BA
Ces adresses offrent maintenant un très grand éventail d’adresses disponibles, puisque dans les faits, cela correspondrait à une quantité de 6.7*10^23 adresses par cm² de notre planète Terre. De quoi être large pour un moment 🙂 .
I) Écriture :
Par convention, on peut simplifier l’écriture en omettant dans chaque groupe de 2 octets, de 1 à 3 zéros non significatifs.
Exemple : 2001:A632:0000:2A7B:901A:0000:173A:02BA, cette adresse peut s’écrire 2001:A632:0:2A7B:901A:0:173A:2BA
II) Types d’adresses :
Il existe plusieurs types d’adresses :
- Les adresses réservées : avec un préfixe de ::/8 ( soit 0000:0000:00000 avec le dernier octet variant de 00 à FF pour la partie hôte)
- Les adresses unicast : 2000::/3
- Les adresses de multicast : FF00::/8
- Les adresses locales uniques : FC00::/7
- Les adresses lien local : FE80::/10
III) Composition d’une trame IPv6 :
Ici on peut voir en plus des 128 bits * 2 d’adressage, on à 8 + 8 + 20 + 16 + 8 + 8 = 68 bits de nécessaires au transport d’une trame IPv6, soit en tout 256 + 68 = 324 bits.
Une petite description des champs s’impose :
- Version : Indique simplement la version du protocole utilisé
- Classe de trafic : Indique la priorité (si il y en à une) dans la trame, pour une QoS ou un service « temps réel »
- Étiquette de flux : Un simple tag, qui permet un routage plus facile
- Longueur des données utiles : Donne la longueur du champ de données
- En-tête : Identifie le type de données envoyées, et le protocole associé (ICMP,TCP,UDP, …)
- Nombre maximum de sauts : Équivalent à un TTL (Time to live) avant que la trame soit abandonnée
- Adresse source et adresse destination, sous la forme IPv6
- Et enfin le champ de donnée, qui vient se coller après l’en-tête générale, donc juste après l’adresse de destination de la trame