MOOC:Verb32
From Livre IPv6
Pour des équipements terminaux, tels que les téléphones mobiles, les ordinateurs portables, les TV connectées, la configuration du réseau au moment de l'attachement peut être source de dysfonctionnement.
La diversité des équipements entraîne une diversité de procédures de configuration, de comportement et d'interface, et l'intervention de l'utilisateur ou l'administrateur est souvent nécessaire pour effectuer cette configuration et résoudre les problèmes.
L'auto-configuration est un mécanisme pour automatiser la configuration du réseau et rendre ce processus transparent. Son premier objectif est de rendre la connexion au réseau fonctionnelle dès l'attachement de l'équipement, de telle sorte qu'il devient lui-même autonome dans sa configuration, et que l'utilisateur n'ait plus à intervenir dans le processus.
Un second objectif est de centraliser la configuration pour un même réseau local. L'administrateur a juste besoin de définir les paramètres de connectivité communs pour ce réseau local en un seul endroit. Le réseau se charge ensuite de les fournir aux équipements terminaux.
Scénario d'auto-configuration
Nous allons maintenant voir les différents échanges de ce mécanisme qui va permettre à une interface réseau de se configurer automatiquement sur un réseau local. Dans ce scénario, une station A se connecte à un réseau local que l'administrateur a raccordé à l'Internet à travers un routeur R. Le réseau s'est donc vu attribué un préfixe global unicast P.
La première étape du mécanisme d'auto-configuration commence au moment où l'interface réseau de la station A est activée, par exemple lorsque l'utilisateur y branche le câble Ethernet. A ce moment, la station A crée pour son interface une adresse lien-local, à partir du préfixe fe80:: et de l'identifiant d'interface.
Comme pour toute adresse IPv6, avant d'être assignée à une interface, il est nécessaire d'en vérifier l'unicité. La station A va donc initier le mécanisme de détection de l'adresse dupliquée. Un message ICMPv6 de sollicitation de voisin est envoyé sur le réseau pour chercher une machine possédant l'adresse lien-local de la station A. Si aucune réponse n'est reçue à ce message, l'adresse est bien considérée comme unique et peut donc être assignée à l'interface.
À ce stade, la station A possède une adresse lien-local qui lui permet de communiquer avec toute autre station du même réseau local. Pour pouvoir communiquer avec d'autres stations au delà de ce réseau local, dans l'Internet par exemple, il lui est nécessaire d'obtenir les paramètres de connectivité communs à ce réseau.
La deuxième étape de la configuration automatique consiste donc en un échange entre la station et l'équipement possédant ces paramètres de connectivité : le routeur du réseau. La station A va chercher le routeur du réseau en envoyant un message ICMPv6 de sollicitation de routeur.
Comme la station ne connaît pas à priori l'adresse de ce routeur, elle envoie ce message avec comme adresse de destination l'adresse multicast ff02::2 qui permet d'atteindre tous les routeurs du réseau local.
Plusieurs routeurs peuvent être connectés au même réseau, mais seul celui qui gère la connexion avec l'Internet va répondre à cette sollicitation. Ce routeur envoie alors en réponse à la station un message ICMPv6 d'annonce de routeur.
La station A récupère dans le contenu du message d'annonce de routeur les paramètres de connectivité pour le réseau local. Parmi ces informations on retrouve l'adresse IP et l'adresse physique du routeur qui permet à la station de configuer sa route par défaut, le ou les préfixes IPv6 assignés à ce réseau, ainsi que la MTU à utiliser pour les paquets à destination de l'Internet. L'administrateur peut inclure d'autres informations de connectivité dans ce message comme par exemple l'adresse du serveur de résolution DNS.
Pendant la troisième étape, la station va déterminer son adresse IP en fonction du mode de configuration propre à ce réseau, c'est-à-dire avec ou sans état.
Enfin, la station met en place les informations de configuration, comme sa table de routage.
A la fin de cette dernière étape, la connectivité de la station au réseau est effective.
Nous allons détailler les étapes du mécanisme d'auto-configuration, et notamment, les messages échangés sur le réseau à chacune de ces étapes.
Au tout début du scénario, le routeur R est configuré pour le réseau, avec son adresse lien-local sur l'interface du réseau, mais aussi un préfixe qui est assigné par l'administrateur pour les adresses de ce réseau.
Après avoir reçu les paramètres communs de configuration au réseau, la station va chercher à déterminer son adresse IP.
Pour cela, elle va regarder quelle est la méthode retenue par l'administrateur pour configurer son adresse, information contenue dans le message d'annonce de routeur.
Il existe deux modes de configuration : avec et sans état.
Si l'administrateur choisit le mode de configuration sans état, alors l'équipement est autonome pour déterminer son adresse IP à partir du préfixe contenu dans le message d'annonce de routeur.
L'adresse IP est ensuite construite à partir de ce préfixe, en y ajoutant un identifiant d'interface spécifique à la station.
Si le mode de configuration avec état est retenu, l'équipement doit alors interroger un serveur de configuration DHCPv6 pour obtenir son adresse.
Quel que soit le mode de configuration qui a été retenu, au moment où l'adresse doit être configurée sur l'interface, on doit d'abord en vérifier l'unicité.
Pour cela, le mécanisme de détection de l'adresse dupliquée est de nouveau lancé.
Mais, cette fois-ci, pour vérifier l'unicité de l'adresse globale qui a été construite.
De la même façon, un paquet ICMPv6 de sollicitation de voisin est envoyé à l'adresse multicast sollicitée.
Si aucune réponse n'est obtenue, l'adresse globale qui a été construite par le mécanisme d'autoconfiguration avec ou sans état, est bien considérée comme unique.
Après avoir déterminé son adresse IP, la station va maintenant chercher à configurer le reste des informations nécessaires à sa connectivité.
Tout d'abord, pour la table de routage, on a besoin de savoir quel est le routeur par défaut de ce réseau.
Cette information est transmise dans le message d'annonce de routeur par le fait que c'est ce routeur, l'émetteur du message d'annonce de routeur, qui est à considérer comme le routeur par défaut de ce réseau.
La station A va donc réutiliser la source du message annonce de routeur comme passerelle par défaut dans sa table de routage.
On va donc retrouver cette adresse lien-local qui était dans le champ source comme passerelle par défaut dans la table de routage.
Ensuite, d'autres éléments de configuration comme le DNS peuvent être soit inclus dans le message d'annonce de routeur, soit obtenus par d'autres mécanismes, comme DHCPv6.
Une fois l'ensemble de ces éléments de configuration installés dans la station A, la connectivité au réseau de cette station est effective.
"La configuration automatique des paramètres réseau (partie 2)"
"Informations transmises par le routeur"
Bruno Stévant, enseignant-chercheur à l'Institut Mines-Télécom.
-Nous allons maintenant regarder en détail le contenu d'un message annonce de routeur.
Ce message est un message ICMPv6 de type 134, qui n'a pas d'autre valeur de code que la valeur 0.
Dans le message d'annonce de routeur, nous allons retrouver un bit, "M" pour "Manage", qui contrôle le mode de configuration de l'adresse.
Si ce bit M a pour valeur 0, alors c'est la configuration sans état qui a été retenue par l'administrateur pour ce réseau.
Si le bit M est à 1, alors la configuration avec état est à utiliser par les équipements.
Les valeurs de temporisation permettent de vérifier la disponibilité du routeur par les équipements du réseau.
Enfin, un ensemble d'options permettent de compléter l'annonce de routeur avec, notamment, l'adresse physique du routeur, la longueur maximale de données autorisées sur ce réseau, donc MTU, et enfin, les informations liées au préfixe configuré sur le réseau.
Parmi ces informations liées au préfixe, nous aurons des valeurs qui vont contrôler la durée de vie de l'adresse configurée à partir de ce préfixe.
Cette durée de vie est contrôlée par deux valeurs : le temps pendant lequel l'adresse est valide sur l'interface et le temps pendant lequel l'adresse est préférée pour de nouvelles connexions.
Ces valeurs sont associées aux adresses configurées à partir du préfixe, et le compteur qui contrôle l'état de l'adresse est réinitialisé à chaque nouveau message d'annonce de routeur contenant le préfixe associé.
Il est donc important que les messages d'annonce de routeur soient diffusés de manière continue sur le réseau local, pour mettre à jour les différents compteurs de disponibilité du routeur et de validité des adresses sur tous les équipements du réseau.
Cette diffusion continue peut permettre aussi d'annoncer des changements de configuration à prendre en compte par les équipements et un nouveau routeur par défaut à prendre en compte, en cas de défaillance du premier routeur par défaut.
L'intervalle de diffusion des annonces de routeur est défini par l'administrateur et est de l'ordre de la dizaine de secondes.
"Conclusion"
Le mécanisme d'autoconfiguration est important en IPv6.
Il permet à l'équipement de découvrir automatiquement la configuration utilisée sur un réseau local et d'activer de manière autonome son interface réseau. Il permet de vérifier le bon fonctionnement du réseau par la disponibilité des équipements comme le routeur et de détecter les changements de configuration pouvant intervenir.
Pour le réseau, le mécanisme d'autoconfiguration permet de centraliser une configuration correcte des paramètres du réseau, de fournir ces paramètres aux équipements se connectant et de leur annoncer d'éventuels changements de configuration.
Le mécanisme d'autoconfiguration est donc important car il facilite la vie de l'utilisateur, qui n'a plus à intervenir dans le mécanisme de configuration de réseau, et de l'administrateur, qui va ainsi gérer son réseau de façon centralisée.
DHCPv6
-Nous avons vu, dans la vidéo précédente, que l'autoconfiguration d'une interface réseau passe par plusieurs étapes, comme l'autoconfiguration avec ou sans état de l'adresse IP. Ce mode de configuration est déterminé pour le réseau local, selon les indications transmises par le routeur.
La configuration sans état d'une adresse IP amène des adresses qui ne sont pas forcément prédictibles, notamment dans le cas où l'identifiant de l'interface est généré de manière aléatoire.
Les adresses IPv6 issues de ce mode de configuration sans état ne sont pas non plus stables, car les adresses de l'interface peuvent changer avec le temps ou le matériel.
Ce mécanisme est cependant adopté le plus souvent, car la stabilité de l'adresse n'est pas forcément nécessaire, dans le cas d'un réseau domestique, de poste client ou invité.
Mais dans d'autres cas, la stabilité de l'adresse importe car elle va être manipulée ou enregistrée. C'est le cas de l'adresse d'un serveur. L'objectif de la configuration avec état est d'assigner des adresses IPv6 à la demande, de manière stable et prédictible. L'autoconfiguration avec état permet, de plus, de provisionner les adresses qui vont être assignées aux clients, d'automatiser ce mécanisme d'assignement, et de centraliser les configurations.
Le protocole DHCPv6 a été spécifié pour permettre cette configuration avec état de l'adresse IP.
"Le protocole DHCPv6"
Les principes du protocole DHCPv6 sont définis dans le RFC 3315.
DHCPv6 suit un modèle client-serveur.
Ses requêtes sont transportées sur le protocole UDP, avec le port 547.
Le protocole DHCPv6 définit plusieurs types de message qui sont identifiés par un type dans le corps du message.
Enfin, il définit un mécanisme de relayage permettant la communication entre un client local et un serveur distant.
DHCPv6 définit plusieurs profils d'équipement assurant chacun un rôle dans l'architecture du protocole.
Le client est la station cherchant à se configurer son adresse, en utilisant le protocole DHCPv6.
Le serveur est l'élément central et responsable de l'assignation à la demande d'adresse IPv6.
Le relais est un élément actif dans le protocole DHCPv6, permettant de relayer les requêtes du client. En effet, celui-ci étant en cours de configuration, il n'a pas forcément d'adresse lui permettant de communiquer directement avec le serveur.
Le relais intercepte donc les requêtes du client au niveau du réseau local et les retransmet au serveur. Le Requestor a un rôle d'administration et de supervision du serveur.
Différentes fonctions de messages sont définies par le protocole DHCPv6.
Tout d'abord, les messages liés à la découverte du serveur : les messages DHCPv6 SOLICIT et ADVERTISE.
Les messages liés à l'échange d'informations de configuration : les messages DHCPv6 REQUEST/REPLY.
Il existe des messages pour gérer les ressources allouées au client.
Enfin, certains messages permettent de signifier que l'on relaie des messages entre un client et un serveur.
Les messages du protocole DHCPv6 sont transportés dans des datagrammes UDP.
Le champ "type", au début de ce datagramme, sert à désigner la sémantique du message.
Un champ d'identification de transaction permet d'associer de manière sûre les réponses aux demandes correspondantes.
Le champ "options" contient des informations utiles, selon la sémantique du message.
DHCPv6 permet d'étendre simplement les options à inclure dans chaque message, en fonction des informations nécessaires.
Les messages servant au relayage ont un format particulier.
Ils sont émis par le relais, assurant la transmission d'une demande d'un client vers le serveur ou de la réponse d'un serveur vers le client.
Le champ "type" signifie qu'il s'agit d'un message de relayage d'une demande d'un client ou d'une réponse d'un serveur.
Le mécanisme de relayage est prévu pour permettre la mise en cascade de plusieurs relais.
Le champ "hop-count" est un compteur permettant de connaître soit le nombre de relais déjà traversés pour atteindre le serveur ou restant à traverser pour atteindre le client.
L'adresse de lien, "link-address", est une adresse unicast que le serveur va utiliser pour identifier le lien où se trouve le client.
C'est l'adresse du relais du côté du client.
L'adresse de pair, ou "peer-address", est l'adresse IPv6 de l'interface depuis laquelle le relais a envoyé le message au serveur.
C'est l'adresse du relais du côté du serveur.
Le champ "options" contient, lui, l'ensemble de la demande émise par le client ou de la réponse du serveur qui est ainsi encapsulée dans un message DHCPv6 de relayage.
"Scénarios d'allocation d'adresses avec état"
Nous allons maintenant dérouler le scénario de transaction entre un client et un serveur DHCPv6 sans la présence d'un relais.
Le serveur se situe alors dans le même réseau que le client.
Le message DHCPv6 SOLICIT est envoyé pour localiser des serveurs pouvant fournir les informations désirées par le client.
Ce message est envoyé à l'adresse multicast des agents DHCPv6 du sous réseau, ou FF02::1:2.
Les serveurs DHCPv6 configurés répondent à cette sollicitation et annoncent leur disponibilité par un message DHCPv6 ADVERTISE.
Le client sélectionnera, parmi les réponses reçues, le serveur qu'il juge adéquat et lui enverra directement la requête de configuration par un message DHCPv6 REQUEST.
Le serveur traite la demande et renvoie la réponse contenant, par exemple, l'adresse IPv6 à assigner à ce client.
Mais, dans la plupart des cas, le client ne peut pas communiquer directement avec le serveur.
Le relais va servir d'intermédiaire dans cette communication. Le client envoie sa sollicitation toujours à destination du groupe multicast des agents DHCPv6 du réseau local.
Le relais intercepte cette demande et l'encapsule dans un message DHCPv6 de relayage. Le relais étant connecté à l'infrastructure, il peut envoyer ce message au serveur.
Le serveur utilise les adresses contenues dans les champs du message pour renvoyer sa réponse, encapsulée aussi dans un message de relayage.
Le relais retransmet cette réponse du serveur au client sur le réseau local.
De la même façon, les requêtes suivantes seront encapsulées par le relais.
"Délégation de préfixes par DHCPv6"
En plus d'allouer des adresses à des clients, DHCPv6 peut aussi permettre d'allouer des préfixes IPv6, notamment à des routeurs.
C'est le mécanisme DHCPv6 Prefix Delegation défini par le RFC 3633.
Ce mécanisme permet de configurer automatiquement des équipements, comme des routeurs domestiques.
Dans cet exemple, un opérateur déploie, chez des clients, des routeurs domestiques permettant d'assurer la connectivité des équipements de la maison.
L'opérateur ne déploie pas forcément une configuration réseau de l'équipement dès sa sortie d'usine.
DHCPv6 peut permettre de contrôler la fourniture de ses paramètres de configuration, notamment les préfixes IPv6 à déployer sur les réseaux de la maison.
La délégation de préfixe par DHCPv6 permet au routeur domestique de récupérer un ou plusieurs préfixes qui lui sont attribués par l'infrastructure de l'opérateur.
Ces préfixes sont ensuite configurés localement sur les liens internes du routeur.
Les équipements domestiques peuvent alors se configurer automatiquement et, par l'autoconfiguration avec ou sans état, obtenir du routeur préfixes ou adresses à configurer sur leurs interfaces réseau.
"Conclusion"
En conclusion, DHCPv6 est un mécanisme client-serveur permettant d'allouer de manière stable des adresses ou des préfixes.
C'est un protocole souple et flexible, qui permet de s'adapter dans tous les cas où le contrôle de ressources est nécessaire, comme l'assignation d'adresses IPv6 pour des serveurs, afin de stabiliser ces adresses dans le temps, ou de provisionner des préfixes IPv6 pour des clients, à l'intérieur de leurs routeurs domestiques.