Vue d’ensemble du protocole IPv6 (Internet Protocol version 6)

Le protocole IPv6 (protocole Internet version 6) est une suite de protocoles standard conçus pour la couche réseau d’Internet. IPv6 est destiné à résoudre bon nombre des problèmes de l’actuelle version de la suite de protocoles (appelée IPv4), notamment ceux liés à l’épuisement des adresses, la sécurité, la configuration automatique, l’extensibilité, etc. IPv6 étend les capacités d’Internet à de nouveaux types d’applications, comme les applications pair à pair (P2P) et les applications mobiles. Voici les principaux problèmes du protocole IPv4 actuel :

  • Épuisement rapide de l’espace d’adressage.

    Cela a conduit à l’utilisation de NAT (Network Address Translator) pour mapper plusieurs adresses privées à une seule adresse IP publique. Les principaux problèmes de ce mécanisme sont la surcharge de traitement et l’absence de connectivité de bout en bout.

  • Prise en charge hiérarchique insuffisante.

    En raison de son organisation inhérente en classes prédéfinies, IPv4 n’offre pas de véritable prise en charge hiérarchique. Il est impossible d’organiser les adresses IP en les mappant parfaitement à la topologie du réseau. Ce défaut de conception majeur impose l’utilisation de tables de routage de grande taille pour la remise des paquets IPv4 sur Internet.

  • Configuration complexe du réseau.

    Avec IPv4, les adresses doivent être assignées de façon statique ou à l’aide d’un protocole de configuration tel que DHCP. Dans l’idéal, les ordinateurs hôtes ne devraient pas avoir à s’appuyer sur l’administration d’une infrastructure DHCP. Ils devraient pouvoir effectuer la configuration eux-mêmes en fonction du segment réseau où ils se trouvent.

  • Absence de mécanismes d’authentification et de confidentialité intégrés.

    IPv4 ne nécessite pas la prise en charge d’un mécanisme qui fournit l’authentification ou le chiffrement des données échangées. Cela n’est plus le cas avec IPv6. La sécurité du protocole Internet (IPsec) est une exigence de prise en charge d’IPv6.

Une nouvelle suite de protocoles doit répondre aux exigences de base suivantes :

  • Routage et adressage à grande échelle, avec une faible surcharge.
  • Configuration automatique pour diverses situations de connexion.
  • Authentification et confidentialité intégrées.

Adressage IPv6

Avec IPv6, les adresses ont une longueur de 128 bits. Une telle taille d’espace d’adressage permet de subdiviser les adresses disponibles en une hiérarchie de domaines de routage qui reflète la topologie d’Internet. Elle permet également de mapper les adresses des cartes réseau (ou des interfaces) qui connectent les appareils au réseau. IPv6 contient une fonctionnalité inhérente permettant de résoudre les adresses au niveau le plus bas, c’est-à-dire au niveau de l’interface réseau, et contient également des fonctionnalités de configuration automatique.

Représentation de texte

Les trois formats conventionnels utilisés pour représenter les adresses IPv6 sous forme de chaînes textuelles sont les suivants :

  • Format hexadécimal/deux-points :

    Il s’agit de la forme recommandée de n:n:n:n:n:n:n:n. Chaque n représente la valeur hexadécimale de l’un des huit éléments 16 bits de l’adresse. Par exemple : 3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562.

  • Format compressé :

    En raison de la longueur des adresses, il est courant d’avoir des adresses comprenant une longue chaîne de zéros. Pour simplifier l’écriture de ces adresses, utilisez le format compressé, dans lequel une séquence ininterrompue de blocs de 0 est représentée par un double deux-points (::). Ce symbole peut n’apparaître qu’une seule fois dans une adresse. Par exemple, l’adresse de multidiffusion FFED:0:0:0:0:BA98:3210:4562 s’affiche ainsi au format compressé : FFED::BA98:3210:4562. L’adresse de monodiffusion 3FFE:FFFF:0:0:8:800:20C4:0 s’affiche ainsi au format compressé : 3FFE:FFFF::8:800:20C4:0. L’adresse de bouclage 0:0:0:0:0:0:0:1 s’affiche ainsi au format compressé ::1. L’adresse non spécifiée 0:0:0:0:0:0:0:0 s’affiche ainsi au format compressé : ::.

  • Format mixte :

    Ce format associe les adresses IPv4 et IPv6. Dans ce cas, le format d’adresse est n:n:n:n:n:n:d.d.d.d, où chaque n représente les valeurs hexadécimales des six éléments d’adresse 16 bits d’ordre haut IPv6, et où chaque d représente la valeur décimale d’une adresse IPv4.

Types d’adresse

Les bits de début de l’adresse déterminent le type de l’adresse IPv6. Le champ de longueur variable qui contient ces bits de début est appelé « préfixe de format ».

Une adresse de monodiffusion IPv6 est constituée de deux parties. La première partie contient le préfixe de l’adresse et la seconde contient l’identificateur d’interface. Voici comment écrire de manière concise la combinaison préfixe-adresse IPv6 : ipv6-address/prefix-length.

Voici un exemple d’adresse avec un préfixe 64 bits.

3FFE:FFFF:0:CD30:0:0:0:0/64.

Dans cet exemple, le préfixe est 3FFE:FFFF:0:CD30. L’adresse peut également être écrite au format compressé, de la manière suivante : 3FFE:FFFF:0:CD30::/64.

IPv6 définit les types d’adresses suivants :

  • Adresses de monodiffusion :

    Identificateur d’une interface unique. Un paquet envoyé à cette adresse est remis à l’interface identifiée. Les adresses de monodiffusion se distinguent des adresses de multidiffusion par la valeur de l’octet d’ordre haut. L’octet d’ordre haut des adresses de multidiffusion a une valeur hexadécimale de FF. Pour cet octet, toute autre valeur correspond à une adresse de monodiffusion. Voici les différents types d’adresses de monodiffusion :

    • Adresses link-local :

      Ces adresses sont utilisées sur une même liaison et sont au format suivant : FE80::*InterfaceID*. Les adresses link-local sont utilisées entre les nœuds d’une liaison pour la configuration automatique d’adresse, la découverte de voisin, ou en l’absence d’un routeur. Une adresse link-local est utilisée principalement au démarrage et lorsque le système n’a pas encore acquis les adresses d’une plus grande étendue.

    • Adresses site-local :

    Ces adresses sont utilisées sur un même site et sont au format suivant : FEC0::*SubnetID*:*InterfaceID*. Les adresses site-local sont utilisées pour l’adressage à l’intérieur d’un site sans recourir à un préfixe global.

    • Adresses de monodiffusion IPv6 globales :

    Ces adresses peuvent être utilisées sur Internet et sont au format suivant : *GlobalRoutingPrefix*::*SubnetID*:*InterfaceID*.

  • Adresses de multidiffusion :

    Identificateur d’un ensemble d’interfaces (appartenant généralement à des nœuds différents). Un paquet envoyé à cette adresse est remis à toutes les interfaces identifiées par cette adresse. Les types d’adresses de multidiffusion remplacent les adresses de diffusion IPv4.

  • Adresses anycast :

    Identificateur d’un ensemble d’interfaces (appartenant généralement à des nœuds différents). Un paquet envoyé à cette adresse est remis à seulement une interface identifiée par cette adresse. Il s’agit de l’interface la plus proche, d’après les métriques de routage. Les adresses anycast proviennent de l’espace d’adressage de monodiffusion et ne peuvent pas être distinguées par leur syntaxe. L’interface adressée effectue la distinction entre les adresses de monodiffusion et les adresses anycast, dans le cadre de sa configuration.

En général, un nœud a toujours une adresse link-local. Il peut avoir une adresse site-local, et une ou plusieurs adresses globales.

Routage IPv6

Le protocole IPv6 comprend un mécanisme de routage souple. En raison de la façon dont les ID réseau IPv4 sont alloués, les tables de routage volumineuses doivent être gérées par les routeurs Internet principaux. Ces routeurs doivent connaître tous les itinéraires afin de transmettre les paquets qui sont susceptibles d’être dirigés vers des nœuds Internet. Grâce à sa capacité de regrouper des adresses, IPv6 permet un adressage souple et réduit considérablement la taille des tables de routage. Dans cette nouvelle architecture d’adressage, les routeurs intermédiaires doivent uniquement effectuer le suivi de la partie locale de leur réseau afin de transmettre les messages de manière appropriée.

Découverte de voisin

Voici certaines des fonctionnalités fournies par la découverte de voisin :

  • Détection de routeur : Elle permet aux hôtes d’identifier les routeurs locaux.
  • Résolution d’adresse : Elle permet aux nœuds de résoudre une adresse link-layer pour l’adresse correspondante du tronçon suivant (en remplacement du protocole ARP).
  • Configuration automatique des adresses : Elle permet aux hôtes de configurer automatiquement les adresses locales et globales.

La découverte de voisin utilise le protocole IPv6 (ICMPv6) pour les types de messages suivants :

  • Publication de routeur : Envoyées par un routeur à intervalles réguliers ou en réponse à une sollicitation de routeur. Les routeurs IPv6 utilisent des annonces de routeur pour annoncer leur disponibilité, leurs préfixes d’adresse et autres paramètres.
  • Sollicitation de routeur : Envoyées par un hôte pour demander que les routeurs présents sur la liaison envoient immédiatement une annonce de routeur.
  • Sollicitation de voisin : Envoyées par les nœuds pour la résolution d’adresse, la détection d’adresses en double et la vérification de disponibilité d’un voisin.
  • Publication de voisin : Envoyées par les nœuds pour répondre à une sollicitation de voisin ou pour avertir les voisins d’un changement d’adresse link-layer.
  • Rediriger : Envoyées par les routeurs pour indiquer une meilleure adresse de tronçon suivant à une destination particulière pour un nœud expéditeur.

Configuration automatique IPv6

Un objectif important du protocole IPv6 est de prendre en charge le Plug-and-Play des nœuds. Autrement dit, vous devez pouvoir connecter un nœud à un réseau IPv6 et obtenir sa configuration automatique sans intervention humaine.

Types de configuration automatique

Le protocole IPv6 prend en charge les types de configuration automatique suivants :

  • Configuration automatique avec état :

    Ce type de configuration nécessite un certain degré d’intervention humaine, car le protocole DHCP pour serveur IPv6 (DHCPv6) est nécessaire à l’installation et à l’administration des nœuds. Le serveur DHCPv6 conserve une liste des nœuds auxquels il fournit des informations de configuration. Elle gère également les informations d’état pour que le serveur connaisse la durée d’utilisation de chaque adresse et le moment auquel elles sont susceptibles d’être de nouveau disponibles en vue de leur réaffectation.

  • Configuration automatique sans état :

    Ce type de configuration convient aux particuliers et aux petites entreprises. Dans ce cas, chaque hôte détermine ses adresses à partir du contenu des annonces de routeur reçues. Si vous utilisez la norme IEEE EUI-64 pour définir la partie de l’adresse correspondant à l’ID réseau, il est très probable que l’adresse d’hôte de la liaison soit unique.

Quelle que soit la manière dont l’adresse est déterminée, le nœud doit vérifier que son adresse potentielle est unique sur la liaison locale. Pour cela, un message de sollicitation de voisin est envoyé à l’adresse potentielle. Si le nœud reçoit une réponse, il sait que l’adresse est déjà utilisée et doit donc trouver une autre adresse.

Mobilité IPv6

La prolifération des appareils mobiles a créé un nouveau besoin, qui est celui de pouvoir changer d’emplacement de manière arbitraire sur un réseau Internet IPv6 tout en maintenant les connexions existantes. Pour fournir cette fonctionnalité, un nœud mobile reçoit une adresse racine à laquelle il est toujours joignable. Lorsque le nœud mobile se trouve à la racine, il se connecte à la liaison racine et utilise son adresse racine. Lorsque le nœud mobile ne se trouve pas à la racine, un agent interne (généralement, un routeur) relaie les messages entre le nœud mobile et les nœuds avec lesquels il communique.

Désactiver ou activer IPv6

Pour utiliser le protocole IPv6, vérifiez que vous exécutez une version du système d’exploitation qui prend en charge IPv6 et que le système d’exploitation et les classes de mise en réseau sont configurés correctement.

Étapes de configuration

Le tableau suivant répertorie les différentes configurations

IPv6 du système d’exploitation activé ? Code IPv6 activé ? Description
❌ Non ❌ Non Peut analyser les adresses IPv6.
❌ Non ✔️ Oui Peut analyser les adresses IPv6.
✔️ Oui ❌ Non Peut analyser les adresses IPv6 et résoudre les adresses IPv6 à l’aide des méthodes de résolution de noms qui ne sont pas marquées comme obsolètes.
✔️ Oui ✔️ Oui Peut analyser et résoudre les adresses IPv6 à l’aide de toutes les méthodes, notamment celles marquées comme obsolètes.

IPv6 est activé par défaut. Pour configurer ce commutateur dans une variable d’environnement, utilisez la variable d’environnement DOTNET_SYSTEM_NET_DISABLEIPV6. Pour plus d’informations, consultez Variables d’environnement .NET : DOTNET_SYSTEM_NET_DISABLEIPV6.

Voir aussi