Avec l’in­tro­duc­tion d’IPv6, le fonc­tion­ne­ment de la com­mu­ni­ca­tion en réseau change dras­ti­que­ment. Grâce à l’aug­men­ta­tion de l’espace d’adressage de 32 à 128 bits, ce nouveau protocole permet non seulement de prévenir le risque croissant de ruptures d’adresses, mais aussi de com­mu­ni­quer de manière claire et sans ambiguïté. Con­trai­re­ment à IPv4, la version 6 applique for­mel­le­ment l’idée de base des IP, le principe de bout en bout. Nous vous ex­pli­quons comment.

Serveurs virtuels (VPS)
VPS éco­no­miques sur serveurs Dell En­ter­prise
  • 1 Gbit/s de bande passante et trafic illimité
  • Dis­po­ni­bi­lité de 99,99 % et cer­ti­fi­ca­tion ISO
  • As­sis­tance 24/7 primée pour sa qualité et con­seil­ler personnel

IPv6, qu’est-ce que c’est ?

IPv6 signifie « Internet Protocol version 6 ». Il a été introduit par l’IETF (Internet En­gi­nee­ring Task Force) et constitue l’un des processus stan­dar­di­sés de transfert de paquets de données sur les réseaux in­for­ma­tiques. Avec les 500 autres pro­to­coles réseaux de la suite TCP/IP, le suc­ces­seur direct d’IPv4, à savoir IPv6 (IPv5 n’ayant jamais vu le jour), constitue la base de la com­mu­ni­ca­tion Internet. Parmi les fonctions centrales de IPv6, on compte l’envoi des éléments réseaux aux adresses IPv6 et l’ache­mi­ne­ment de paquets entre sous-réseaux, appelé également routage. Pour ce faire, IPv6 est basé sur la couche réseau (Layer 3) du modèle OSI.

L’at­tri­bu­tion des adresses IP se fait à partir du registre Internet régional (le RIR), qui répartit les adresses IP par l’in­ter­mé­diaire de l’autorité IANA (Internet Assigned Numbers Authority). Le RIR compétent pour l’Europe, le Proche-Orient et l’Asie Centrale est le RIPE NCC (Réseaux IP Européens Network Coor­di­na­tion Centre).

IPv6 versus IPv4

Un simple coup d’œil permet déjà de constater que le format d’adresse de la sixième version d’IP est très différent de la version pré­cé­dente d’IPv4 :

  • Adresse IPv4 : 203.0.120.195
  • Adresse IPv6 : 2001:0620:0000:0000:0211:24FF:FE80:C12C

Alors que le protocole Internet de la version 4 est codé sur 32 bits et s’écrit sous forme décimale, son suc­ces­seur IPv6 permet des adresses de 128 bits, qui sont basées sur une écriture hexa­dé­ci­male pour des raisons de li­si­bi­lité. Cette com­pa­rai­son permet de com­prendre nettement que le problème central de IPv4 a été résolu : avec 128 bits, il est main­te­nant possible de générer bien plus d’adresses IP uniques qu’avec 32 bits.

  • Espace d‘adressage de IPv4: 32 bits = 232 adresses ≈ 4,3 milliards d‘adresses
  • Espace d‘adressage de IPv6: 128 bits = 2128 adresses ≈ 340 sex­til­lions d’adresses

Les chiffres per­met­tent de constater clai­re­ment l‘énorme écart entre les deux pro­to­coles : alors que l’espace d’adressage de IPv4, avec près de 4,3 milliards d’IP, est loin de permettre de fournir une adresse unique à chaque individu sur terre, un système à 128 bits pourrait en théorie permettre d’attribuer plusieurs adresses à chaque grain de sable de notre planète ! L’in­tro­duc­tion d’IPv6 permet ainsi d’investir pour le futur. En effet, des tendances comme celles décrites par l’internet des objets (« Internet of Things », IoT) suggèrent que le nombre d’appareils connectés à Internet et qui doivent être clai­re­ment iden­ti­fiés, aug­men­tera de manière sig­ni­fi­ca­tive dans les pro­chaines années.

Cons­truc­tion d’une adresse IPv6

Les 128 bits des adresses IPv6 sont répartis sur 8 blocs de 16 bits. Un bloc de 16 bits s’écrit avec 4 ca­rac­tères sous forme hexa­dé­ci­male (c’est à dire les 10 nombres entiers et 6 lettres de l’alphabet). Pour séparer ces blocs, on utilise les deux-points comme signe de ponc­tua­tion. Voici un exemple :

  • 2001:0620:0000:0000:0211:24FF:FE80:C12C

Afin de sim­pli­fier une adresse IPv6, il est possible de rac­cour­cir l’écriture de l’adresse en sup­pri­mant les zéros qui débutent un bloc. Si un bloc est constitué uni­que­ment de zéro, le dernier zéro doit être conservé.

  • 2001:0620:0000:0000:0211:24FF:FE80:C12C
  • 2001:620:0:0:211:24FF:FE80:C12C

De plus, sur uni­que­ment une partie d’une adresse IPv6, les blocs de zéros qui se suivent peuvent être supprimés :

  • 2001:620:0:0:211:24FF:FE80:C12C
  • 2001:620::211:24FF:FE80:C12C

Les deux-points qui se suivent (par deux reprises uni­que­ment) per­met­tent de connaître l’em­pla­ce­ment des zéros supprimés (ci-dessus après le deuxième bloc).

Il faut bien com­prendre que dans la pratique, les in­ter­nautes disposent de moins d’adresses que le format 128 bits ne semble l’indiquer. Ceci est dû au principe même sur lequel est conçu le protocole : con­trai­re­ment à son pré­dé­ces­seur, le nouveau standard IPv6 doit permettre une connexion de bout en bout réelle et rendre la cor­res­pon­dance des adresses privées aux adresses publiques par le NAT (Network Address Trans­la­tion) inutile. En principe, il est également possible d’établir des con­nexions de bout en bout avec IPv4 ; toutefois, comme l’espace d’adressage IPv4 est trop petit pour assigner une adresse unique à chaque appareil, l’in­ter­mé­diaire NAT a été développé. Avec le nouveau standard, chaque appareil qui est connecté à un réseau local peut main­te­nant être traité lo­gi­que­ment via sa propre adresse. Les adresses con­tien­nent par con­sé­quent, outre le préfixe de routage, un iden­ti­fiant d’interface unique, qui est généré ma­nuel­le­ment ou à partir de l’adresse MAC de la carte réseau de l’appareil. Le préfixe de routage et l’iden­ti­fiant d’interface com­pren­nent chacun 64 bits de l’adresse IPv6.

Cons­truc­tion du préfix de routage

Le préfixe de routage d’une adresse IPv6 est divisé en un préfixe réseau et un préfixe sous-réseau. Ceci est re­pré­senté dans la notation CIDR (Classless Inter-Domain Routing), c’est-à-dire le routage inter-domaine sans classe. Ainsi, la longueur du préfixe en bits est définie à l’aide du signe slash (/).

La notation 2001:0820:9511::/48 cor­res­pond par exemple à un sous-réseau avec une adresse de 2001:0820:9511:0000:0000:0000:0000:0000 à 2001:0820:9511:FFFF:FFFF:FFFF:FFFF:FFFF.

En règle générale, le réseau /32 est attribué par le RIR aux four­nis­seurs d’accès à Internet (FAI), qui le divise ensuite en sous-réseaux. Pour les clients, ce sont des réseaux /48 ou /56 qui sont octroyés. Le tableau suivant montre la cons­truc­tion classique d’une adresse unicast globale sous IPv6, (préfixe réseau, préfixe sous-réseau et iden­ti­fiant d’interface) :

Cons­truc­tion de l’iden­ti­fiant d’interface

L’ID d’interface permet l’iden­ti­fi­ca­tion claire d’un appareil donné connecté à un réseau. Il est généré ma­nuel­le­ment ou sur la base de l’adresse MAC de la carte réseau de l’appareil. Le second cas est le plus classique. Il repose sur la con­ver­sion du format d’adresse MAC standard au format EUI-64 modifié. Cela se déroule en trois étapes :

  • Pre­miè­re­ment, l’adresse MAC, longue de 48 bits, est découpée en deux parties longues de 24 bits. Ces parties cons­ti­tuent alors le début et la fin des 64 bits de l’iden­ti­fiant d’interface complet.
    • Adresse MAC : 00-11-24-80-C1-2C
    • Adresse MAC découpée : 0011:24__:__80:C12C
  • Deuxiè­me­ment, les 16 bits restants sont alloués au milieu par défaut avec la suite 1111 1111 1111 1110 qui cor­res­pond au code hexa­dé­ci­mal FFFE.
    • Adresse MAC complète : 0011:24FF:FE80:C12C
    • L’adresse MAC est main­te­nant au format EUI-64 modifié.
  • Enfin, le septième bit, appelé également bit universel ou local, est inversé. Cela indique si une adresse est unique globale ou locale.
    • Suite avant l’inversion : 0000 0000
    • Suite après l’inversion : 0000 0010

    • ID d’interface avant l’inversion :  0011:24FF:FE80:C12C
    • ID d’interface après l’inversion :  0211:24FF:FE80:C12C

Extension de la con­fi­den­tia­lité

Une adresse IPv6 qui repose sur un format EUI-64 modifié pourrait permettre à des tiers de tirer des con­clu­sions sur l’adresse MAC. Ceci pouvant générer quelques craintes de la part des uti­li­sa­teurs sur la pro­tec­tion de leurs données, des ex­ten­sions de con­fi­den­tia­li­tés ont été dé­ve­lop­pées, afin de rendre les ID d’in­ter­faces anonymes également avec IPv6. Le lien entre l’adresse MAC et l’iden­ti­fiant d’interface est alors rompu. A la place, les ex­ten­sions de con­fi­den­tia­lité génèrent des iden­ti­fiants d’interface tem­po­raires avec des con­nexions sortantes plus ou moins établies au hasard. Il est ainsi plus difficile d’en déduire des in­for­ma­tions sur l’hôte et d’établir des profils de com­por­te­ment en se basant sur l’IP.

Les types d’adresses IPv6

Comme avec IPv4, les dif­fé­rentes zones de l’adresse d’IPv6 pré­sen­tent des tâches et pro­prié­tés spé­ci­fiques. Elles sont spé­ci­fiées dans la RFC 4291 et RFC 5156 et sont iden­ti­fiables déjà par les premiers bits d’une adresse IPv6, ce que l’on appelle le préfixe. Parmi les prin­ci­paux types d’adresse, on compte les adresses unicast, les adresses multicast et les adresses anycast.

Adresses unicast

Les adresses unicast sont utilisées pour faire com­mu­ni­quer un élément réseau à un seul autre élément. Elles se divisent en deux ca­té­go­ries : les adresses lien-local et les adresses unicast globales.

  • Les adresses lien-local : les adresses de cette catégorie ne sont valides qu’au sein d’un réseau local. Elles com­men­cent par le préfixe FE80::/10. Les adresses de type lien-local sont utilisées pour traiter des éléments au sein d’un réseau local et servent par exemple à l’auto-con­fi­gu­ra­tion. En règle générale, l’adresse de lien-local s’étend jusqu’au routeur suivant, afin que chaque appareil connecté au réseau puisse être en mesure de com­mu­ni­quer avec lui, et générer une adresse IPv6 globale. Ce protocole est nommé Neighbor Discovery.
  • Les adresses unicast globales : il s’agit d’adresses uniques au monde dont un appareil réseau a besoin pour établir une connexion à internet. Le préfixe est gé­né­ra­le­ment 2000::/3 et englobe ainsi toutes les adresses qui com­men­cent par 2000 jusqu’à 3FFF. L’adresse unicast globale est « routable » et s’utilise pour traiter un hôte d’un réseau local sur Internet. Les adresses globales unicast qui sont re­dis­tri­buées par un four­nis­seur Internet à ses clients, com­men­cent par le bloc hexa­dé­ci­mal 2001.

Les adresses multicast

Alors que les adresses unicast servent à établir une com­mu­ni­ca­tion point à point, les adresses multicast per­met­tent une com­mu­ni­ca­tion d’un élément vers plusieurs. On parle de diffusion mul­ti­point ou de diffusion de groupe. Les paquets qui sont envoyés à une adresse multicast, sont reçus par l’ensemble des appareils réseau qui font partie du groupe multicast. Un appareil peut ap­par­te­nir à plusieurs groupes multicast. Si une adresse IPv6 est établie pour un appareil réseau, il devient au­to­ma­ti­que­ment membre d’un groupe multicast donné, ce qui est né­ces­saire pour la re­con­nais­sance, l’ac­ces­si­bi­lité mais aussi le préfixe. Des exemples de groupes multicast clas­siques : « tous les routeurs » ou « tous les hôtes ». En général, le préfixe FF00::/8 est appliqué pour les adresses multicast.

Adresses anycast

Les paquets peuvent également être envoyés à des groupes depuis une adresse anycast. Con­trai­re­ment aux adresses multicast toutefois, les paquets de données ne sont pas envoyés à tous les membres du groupe anycast mais seulement à l’appareil le plus proche. Les adresses anycast sont prin­ci­pa­le­ment utilisées pour permettre une ré­par­ti­tion des charges et pour des raisons de sécurité.

Format du paquet IPv6

Le protocole Internet IPv6 se distingue d’IPv4 par un format de paquet simplifié. Pour sim­pli­fier le trai­te­ment des paquets d’IPv6, une longueur standard de 40 bytes (320 bits) a été définie pour l’en-tête. Les in­for­ma­tions op­tion­nelles, qui ne sont né­ces­saires que pour des cas spé­ci­fiques, se re­trou­vent dans ce que l’on nomme les en-têtes d’extension, qui sont insérées entre l’en-tête et le payload. Cela permet d’insérer des options sans avoir à modifier l’en-tête.

L’en-tête de paquet IPv6 ne comporte que 8 champs en-têtes. Avec IPv4, il s’agissait de 13 champs. La cons­truc­tion d’un en-tête IPv6 peut être re­pré­sen­tée de manière sché­ma­tique comme ci-dessous :

Chaque champ des en-têtes IPv6 comporte des in­for­ma­tions précises, qui sont né­ces­saires au transfert des paquets sur le réseau IP :

Champs Des­crip­tion
Version Contient la version du protocole IP selon laquelle le paquet IP a été créé.
Classe de trafic (traffic class) Définit les priorités (8 bits)
Iden­ti­fi­ca­teur de flux (flow label) Les paquets avec le même iden­ti­fi­ca­teur de flux sont traités de la même manière (20 bits)
Longueur des données utiles (payload length) Donne la longueur du contenu du paquet, y compris les ex­ten­sions mais sans les données d’en-tête (16 bits)
En-tête suivant (next header) Indique le protocole de la couche de transport su­pé­rieure (8 bits)
Sauts maximum (hop limit) Indique le nombre de sauts maximal pour les étapes in­ter­mé­diaires (routeurs), sur les­quelles un paquet peut passer avant d’expirer (8 bits)
Adresse IP source (Source IP address) Comprend l’adresse de l’ex­pé­di­teur (128 bits)
Adresse IP des­ti­na­tion (des­ti­na­tion IP address) Comprend l’adresse du des­ti­na­taire (128 bits)

Grâce à l’in­tro­duc­tion des en-têtes d’extension, les in­for­ma­tions op­tion­nelles des paquets IPv6  peuvent être mise en place de manière bien plus efficace qu’avec IPv4. Comme les routeurs ne vérifient et ne traitent pas les en-têtes d’extension IPv6 à l’envoi d’un paquet, ces dernières ne sont en générale traitées qu’à des­ti­na­tion. La per­for­mance des routeurs a donc été con­si­dé­ra­ble­ment améliorée depuis IPv6, car sous IPv4, les in­for­ma­tions op­tion­nelles devaient être vérifiées tout au long du chemin. Parmi les in­for­ma­tions qui peuvent inclure les en-têtes d’extension IPv6, on trouve les options node-to-node, les options de des­ti­na­tion, de routage, de frag­men­ta­tions, d’au­then­ti­fi­ca­tion et de chif­fre­ment (IPsec).

Les fonc­tion­na­li­tés du protocole Internet version 6

La plupart des in­ter­nautes sont connectés à IPv6 du fait de son large espace d’adressage. Pourtant, le nouveau standard offre également un certain nombre de fonctions qui per­met­tent de pallier les limites majeures d’IPv4. Il s’agit tout par­ti­cu­liè­re­ment de la mise en place du chif­fre­ment de bout en bout, qui rend le détour par NAT superflu et qui simplifie de manière sig­ni­fi­ca­tive l’im­plé­men­ta­tion des pro­to­coles de sécurité comme IPsec.

De plus, IPv6 permet la con­fi­gu­ra­tion au­to­ma­tique d’adresse via Neighbor Discovery ainsi que l’at­tri­bu­tion de plusieurs adresses IPv6 uniques par hôte de champs d’ap­pli­ca­tion dif­fé­rents, pour rendre compte de dif­fé­rentes to­po­lo­gies de réseau. Par ailleurs, on compte dans ses avantages la sim­pli­fi­ca­tion des en-têtes de paquet et le transfert des in­for­ma­tions op­tion­nelles aux ex­ten­sions d’en-tête pour l’envoi des paquets pour un routage plus rapide.

Avec QoS (Quality of service), IPv6 dispose d’un mécanisme intégré pour la sé­cu­ri­sa­tion de la qualité des services, qui permet de prioriser les paquets urgents et de gérer avec plus d’ef­fi­ca­cité le trai­te­ment des paquets de données. Les champs « Classe de trafic » et « Iden­ti­fi­ca­teur de flux » ont ainsi été définis selon la mé­tho­do­lo­gie QoS.

Plus critique par contre : l’at­tri­bu­tion d’adresses IP statiques à des appareils réseaux locaux ainsi que la pratique de créer des iden­ti­fiants d’interface uniques basés sur les adresses MAC. Les ex­ten­sions de con­fi­den­tia­lité offrent certes une al­ter­na­tive au format d’adresse EUI-64 modifié ; toutefois, le préfixe d’une adresse IPv6 étant fi­na­le­ment suffisant pour dresser un profil de com­por­te­ment d’un in­ter­naute, il serait sou­hai­table d’ajouter aux ex­ten­sions de con­fi­den­tia­lité un préfixe assigné par le FAI pour assurer l’anonymat sur Internet.

Aller au menu principal