Cet article est une ébauche sur l’adressage et le protocole IPv6
Vous le savez probablement, l’adressage en IPv4 arrive à sa fin et s’il restera pendant longtemps actif, il est important de penser à la migration vers le protocole IPv6 dès maintenant. Je détaillerais dans un prochain post, la configuration réseau pour activer l’IPv6 sur un serveur Debian mais avant, je vais essayer de clarifier ce sujet pour ce qui est des grandes lignes.
L’adressage IP:
Pour définir l’adresse d’une machine ou d’un réseau, on utilisait jusqu’à présent un code à 32 bits (IPv4) unique pour chaque machine ou, à défaut, réseau. Toutes les adresses peuvent ainsi être représentées de la façon suivante:
1 |
11000000101010000000000000000001 |
Bien sûr, vous me direz que vous n’avez jamais vu telle adresse. Cette forme d’écriture n’est effectivement pas très pratique pour une utilisation courante. On a donc très simplement décidé de couper cette adresse en 8 octets distincts. Ce qui nous donne la forme suivante:
1 |
11000000 10101000 00000000 00000001 |
Enfin, toujours pour plus de simplicité, on prend le réflexe de convertir chacun de ces octets en base 10 afin de retomber sur une série simple de 4 chiffres, plus facile à manipuler. L’adresse précédente devient donc:
Bien sur, comme il est toujours difficile de se rappeler une adresse IP (même sous forme de 4 chiffres) à chaque fois que l’on veut aller sur un site web, on fera par la suite appel aux dns pour associer un nom de domaine à une ou plusieurs adresses IP. Ceci fera l’objet d’un post futur sur la mise en place d’un serveur dns et la définition de zones dns pour un domaine précis.
Les limites de l’IPv4:
J’ai dit plus haut que l’adresse utilisée par le protocole IPv4 était codée sur 32 bits. Il existe donc 2^32 soit 4294967296 adresses distinctes. Si cela était suffisant lors des débuts d’internet, on peut aisément comprendre que cela ne soit plus le cas aujourd’hui. (Il faut prendre en compte le fait que tout appareil connecté à internet doit être en mesure d’obtenir une adresse IP.)
On a pu limiter le nombre d’adresses IP nécessaires grâce à l’utilisation des routeurs et du protocole NAT qui permet de faire correspondre une seule IP publique d’un réseau à une multitude d’adresses IP internes non-uniques, à l’intérieur du réseau. Aujourd’hui, toutefois, avec l’arrivée massive des téléphones et tablettes connectées et la constante croissance de personnes connectées à internet, ce protocole devient obsolète.
Qu’est-ce que l’IPv6:
Ce qu’il est important de comprendre, c’est que l’IPv6 n’est que peu différent de l’IPv4. Sur le principe, il s’agit même exactement de la même chose. (Dans la pratique, on a intégré de nouvelles spécificités au protocole, afin de palier à certaines lacunes présente dans le protocole IPv4.)
Alors qu’est-ce qui change: Au lieu de coder une adresse sur 32 bits, on va la coder sur 128bits.
1 |
0010000000000001 0000110110111000 0000000000000001 0000000110100000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 |
Bien entendu, on va revoir un peu la façon dont on va simplifier cette adresse; utiliser la même simplification que pour l’IPv4 nous amènerait à des adresses 4 fois plus longue que nos habituels 192.168.0.1 ce qui poserait vite certains problèmes. Le choix effectué quand au codage de l’adresse a été d’utiliser le système hexadécimal.
De cette façon, l’octet 00000000 devient 00 et l’octet 11111111 devient FF
Ainsi, une adresse IPv6 qui est, rappelons le, constituées de 128 bits, soit 16 octets, sera condensé en 32 caractères hexadécimaux. Alors, oui, c’est toujours plus complexe que notre ancienne adresse IPv4, mais en même temps, on a quadruplé le nombre de bit. A noter que l’on prendra l’habitude de regrouper les caractères de l’adresse condensée en 8 groupes de 4 caractères.
1 |
2001:0db8:0000:85a3:0000:0000:ac1f:8001 |
Par ailleurs, la codification autorise la contraction d’une adresse en remplaçant toute série de quatre 0 consécutifs par :: (qu’il s’agisse d’une ou plusieurs séries de 0000. L’adresse suivante est équivalente à :
1 |
2001:0db8::85a3::ac1f:8001 |
A noter, une fois encore, que dans la pratique, nous n’aurons que rarement à retenir 32 caractères mais plutôt 16 à 20 caractères selon l’utilisation. Un post suivra pour expliquer plus en détail le fonctionnement détaillé de l’IPv6 et le fonctionnement des masques réseau. Intégrer cette partie dans ce post le rendrait vraiment trop long.
Mais alors, qu’apporte l’IPv6?
Comme indiqué précédemment, l’IPv6 est un standard destiné à palier à la pénurie d’adresses en IPv4. En effet, quand l’IPv4 permet quelques 4 milliards de combinaisons différentes (2^32), l’IPv6 en autorise 2^128 soit plus de 3.4×10^38 adresses, cad plus de 667 millions de milliards d’adresses par mm² sur la surface de la terre. De plus, l’IPv6 apporte une meilleure gestion du routage et un adressage bien plus structuré.
Le problème: les protocoles IPv4 et IPv6 ne sont pas compatibles. C’est une des raisons qui explique que le changement ait été tant repoussé. Durant la phase de transition (maintenant inévitable) il faudra donc que les machines soient compatibles et autorisent les 2 protocoles simultanément.
Vous l’aurez compris, plus tôt vous effectuer le passage à l’IPv6, plus vous anticiperez le changement massif qui doit de toute façon s’effectuer. Je vous invite donc à lire mes prochains posts sur la configuration réseau d’un serveur Debian pour l’IPv6 et les autres sujets associés.
Quelques liens utiles:
http://fr.wikipedia.org/wiki/IPv6
http://mirrors.deepspace6.net/Linux+IPv6-HOWTO-fr/