Le petit câbleurLe protocole DHCPv6

Joseph Davies

Le protocole DHCP (Dynamic Host Configuration Protocol) a été conçu pour prendre en charge l’attribution d’adresses IP et d’autres informations de mise en réseau aux ordinateurs de façon à ce qu’ils puissent communiquer automatiquement sur le réseau. Avec un réseau IPv6, vous n’avez pas besoin de DHCP pour configurer des adresses, mais il peut y avoir de bonnes raisons de l’utiliser. DHCP for IPv6 (DHCPv6) peut

fournir une configuration d’adresses avec prise en compte des états ou des paramètres de configuration sans prise en compte des états aux hôtes IPv6. Les hôtes IPv6 peuvent utiliser plusieurs méthodes pour configurer des adresses :

La configuration automatique des adresses sans prise en compte des états est utilisée pour configurer des adresses propres à la liaison et des adresses supplémentaire non propres à la liaison, en échangeant les messages de sollicitation de routeur et d’annonce de routeur avec les routeurs avoisinants.

La configuration automatique des adresses avec prise en compte des états est utilisée pour configurer des adresses non propres à la liaison via l’utilisation d’un protocole de configuration tel que DHCP.

Un hôte IPv6 exécute une configuration automatique d’adresses sans prise en compte des états et utilise un protocole de configuration tel que DHCPv6 basé sur les indicateurs suivants dans le message d’annonce de routeur envoyé par un routeur voisin :

Managed Address Configuration Flag, également connu sous le nom de Indicateur M. Lorsqu’il est configuré sur 1, cet indicateur ordonne à l’hôte d’utiliser un protocole de configuration pour obtenir les adresses avec prise en compte des états.

Other Stateful Configuration Flag , également connu sous le nom de Indicateur O. Lorsqu’il est configuré sur 1, cet indicateur ordonne à l’hôte d’utiliser un protocole de configuration pour obtenir les paramètres de configuration.

La combinaison des valeurs des indicateurs M et O peut produire les résultats suivants :

Les indicateurs M et O sont configurés sur 0. Cette combinaison correspond à un réseau sans infrastructure DHCPv6. Les hôtes utilisent des annonces de routeur pour les méthodes non propres à la liaison et d’autres méthodes (configuration manuelle par exemple) pour configurer les autres paramètres.

Les indicateurs M et O sont configurés sur 1. DHCPv6 est utilisé pour les paramètres d’adresses et les autres paramètres de configuration. Cette combinaison est connue sous le nom de prise en compte des états DHCPv6 ; DHCPv6 attribue des adresses avec prise en compte des états aux hôtes IPv6.

L’indicateur M est configuré sur 0 et l’indicateur O est configuré sur 1. DHCPv6 n’est pas utilisé pour attribuer des adresses, uniquement pour attribuer les autres paramètres de configuration. Les routeurs voisins sont configurés pour annoncer des préfixes d’adresses non propres à la liaison, à partir desquels les hôtes IPv6 dérivent des adresses sans prise en compte des états. Cette combinaison est connue sous le nom de DHCPv6 sans prise en compte des états : DHCPv6 n’attribue pas d’adresses avec prise en compte des états aux hôtes IPv6, mais des paramètres de configuration sans prise en compte des états.

L’indicateur M est configuré sur 1 et l’indicateur O est configuré sur 0. Dans cette combinaison, DHCPv6 est utilisé pour la configuration des adresses mais pas pour les autres paramètres. Étant donné que les hôtes IPv6 ont généralement besoin d’être configurés avec d’autres paramètres, comme les adresses IPV6 de serveurs DNS (Domain Name System), cette combinaison est peu probable.

Comme DHCP pour IPv4, les composants d’une infrastructure DHCPv6 consistent en des clients DHCPv6 qui demandent une configuration, des serveurs DHCPv6 qui fournissent la configuration et des agents de relais DHCPv6 transmettant les messages entre les clients et les serveurs lorsque les clients se trouvent sur des sous-réseaux ne disposant pas d’un serveur DHCPv6.

Messages DHCPv6

Comme avec DHCP pour IPv4, DHCPv6 utilise des messages UDP (User Datagram Protocol). Les clients DHCPv6 écoutent les messages DHCP sur le port UDP 546. Les agents DHCPv6 et les agents de relais écoutent les messages DHCPv6 sur le port UDP 547. La structure des messages DHCPv6 est beaucoup plus simple que celle de DHCP pour IPv4, qui avait ses origines dans le protocole BOOTP afin de prendre en charge les postes de travail sans disque. La figure 1 affiche la structure des messages DHCPv6 envoyés entre le client et le serveur.

Figure 1 Messages DHCPv6 entre le client et le serveur

Figure 1** Messages DHCPv6 entre le client et le serveur **(Cliquer sur l'image pour l'agrandir)

Le champ 1-byte Msg-Type (Type Msg 1 octet) indique le type de message DHCPv6. Le champ 3-byte Transaction-ID (ID-Transaction 3 octets) est déterminé par un client et utilisé pour regrouper les messages d’un échange de messages DHCPv6. Suivant le champ Transaction-ID, les options DHCPv6 sont utilisées pour indiquer l’identification du client et du serveur, les adresses et les autres paramètres de configuration. Pour obtenir une liste des options DHCPv6 définies, voir RFC 3315, comme référencé dans l’encadré « DHCPv6 RFC Ressources ».

Les options DHCPv6 sont au format type-durée-valeur (TLV). La figure 2 affiche la structure des options DHCPv6.

Le champ 2-byte Option-Code (Code-Option 2 octets) indique une option spécifique. Le champ 2-byte Option-Code indique la longueur du champ Option-Data (Données-Option) en octets. Le champ Option-Data contient les données de l’option.

Il existe une structure de messages séparée pour les messages échangés entre les agents de relais et les serveurs afin d’enregistrer des informations supplémentaires. La figure 3 affiche la structure de ce type de messages.

Figure 2 Structure des options DHCPv6

Figure 2** Structure des options DHCPv6 **(Cliquer sur l'image pour l'agrandir)

Le champ 1-byte Hop-Count (Nb-Sauts 1 octet) indique le nombre d’agents de relais qui ont reçu le message. Un agent de relais recevant un message peut le rejeter s’il dépasse le nombre de sauts maximal configuré. Le champ 16-byte Link-Address (Adresse-Lien 16 octets) contient une adresse non propre à la liaison attribuée à une interface connectée au sous-réseau sur lequel se situe le client. À partir du champ Link-Address, le serveur peut déterminer l’étendue d’adresses correcte à partir de laquelle attribuer une adresse. Le champ 16-byte Peer-Address (Adresse-Pair 16 octets) contient l’adresse IPV6 du client qui a envoyé le message ou de l’agent de relais qui a relayé le message. Au delà du champ Peer-Address se trouvent les options DHCPv6 qui incluent l’option de message de relais, qui contient le message relayé et d’autres options. L’option de message de relais fournit une encapsulation des messages échangés entre le client et le serveur.

Il n’y a pas d’adresses de diffusion définies pour IPv6. Ainsi, l’utilisation de l’adresse de diffusion limitée pour certains messages DHCPv4 a été remplacée par l’utilisation de l’adresse All_DHCP_Relay_Agents_and_Servers de FF02::1:2 pour DHCPv6. Par exemple, un client DHCPv6 tentant de découvrir l’emplacement du serveur DHCPv6 sur le réseau envoie un message de sollicitation à partir de son adresse propre à la liaison à FF02::1:2. S’il y a un serveur DHCPv6 sur le sous-réseau de l’hôte, il reçoit le message de sollicitation et envoie la réponse appropriée. Plus généralement, un agent de relais DHCPv6 sur le sous-réseau de l’hôte reçoit le message de sollicitation et le transmet à un serveur DHCPv6.

Figure 3 Structure de messages entre le relais et le serveur

Figure 3** Structure de messages entre le relais et le serveur **(Cliquer sur l'image pour l'agrandir)

Échange de messages avec prise en compte des états

Un échange de messages DHCPv6 avec prise en compte des états pour obtenir des adresses IPV6 et des paramètres de configuration (lorsque les indicateurs M et O d’une annonce de routeur reçue sont configurés sur 1) contient généralement les messages suivants :

  • Un message de sollicitation envoyé par le client pour localiser les serveurs.
  • Un message d’annonce envoyé par un serveur pour indiquer qu’il peut fournir des adresses et des paramètres de configuration.
  • Un message de requête envoyé par le client pour demander des d’adresses et des paramètres de configuration à un serveur spécifique.
  • Un message de réponse envoyé par le serveur contacté contenant les adresses et les paramètres de configuration.

S’il y a un agent de relais entre le client et le serveur, il envoie les messages de relais-transfert contenant les messages de sollicitation et de requête encapsulés du client. Le serveur envoie à l’agent de relais les messages relais-réponse contenant les messages d’annonce et de réponse encapsulés du client. Pour une liste complète des messages DHCPv6, voir la figure 4.

Figure 4 Messages DHCPv6

Message DHCPv6 Description Message équivalent DHCP pour IPv4
Sollicitation Envoyé par un client pour localiser des serveurs. DHCPDiscover
Annonce Envoyé par un serveur en réponse à un message de sollicitation pour indiquer la disponibilité. DHCPOffer
Requête Envoyé par un client pour demander des adresses ou des paramètres de configuration à un serveur spécifique. DHCPRequest
Confirmation Envoyé par un client à tous les serveurs pour déterminer si la configuration d’un client est valide pour le lien connecté. DHCPRequest
Renouvellement Envoyé par un client à un serveur spécifique pour étendre la durée de vie des adresses attribuées et obtenir des paramètres de configuration mis à jour. DHCPRequest
Nouvelle liaison Envoyé par un client à n’importe quel serveur lorsque aucune réponse au message de renouvellement n’est reçue. DHCPRequest
Réponse Envoyé par un serveur à un client spécifique en réponse à un message de sollicitation, de requête, de renouvellement, de nouvelle liaison, d’information-requête, de confirmation, de publication ou de refus. DHCPAck
Publication Envoyé par un client pour indiquer que le client n’utilise plus une adresse attribuée. DHCPRelease
Refus Envoyé par un client à un serveur spécifique pour indiquer que l’adresse attribuée est déjà utilisée. DHCPDecline
Nouvelle configuration Envoyé par un serveur à un client pour indiquer que le serveur dispose de nouveaux paramètres de configuration ou de paramètres mis à jour. Le client envoie ensuite un message de renouvellement ou d’information-requête. N/A
Information-requête Envoyé par un client pour demander des paramètres de configuration (mais pas d’adresses). DHCPInform
Relais-transfert Envoyé par un agent de relais pour transférer un message à un serveur. Relais-transfert contient un message client encapsulé en tant qu’option relais-message DHCPv6. N/A
Relais-réponse Envoyé par un serveur pour envoyer un message à un client via un agent de relais. Relais-réponse contient un message serveur encapsulé en tant qu’option relais-message DHCPv6. N/A

Échange de messages sans prise en compte des états

Un échange de messages DHCPv6 sans prise en compte des états pour obtenir uniquement des paramètres de configuration (lorsque l’indicateur M est configuré sur 0 et l’indicateur O sur 1) contient généralement les messages suivants : Un message d’information-requête envoyé par le client DHCPv6 pour demander des paramètres de configuration à un serveur et un message de réponse envoyé par un serveur contenant les paramètres de configuration demandés.

Pour un réseau IPv6 disposant de routeurs configurés pour attribuer des préfixes d’adresse sans prise en compte des états aux hôtes IPv6, l’échange DHCPv6 de deux messages peut être utilisé pour attribuer des serveurs DNS, des noms de domaine DNS et d’autres paramètres de configuration non inclus dans le message d’annonce du routeur.

Prise en charge DHCPv6 dans Windows

Windows Vista™ et la nouvelle version de Windows Server® (nom de code « Longhorn ») incluent un client DHCPv6. Le client DHCPv6 tente une configuration DHCPv6 en fonction des valeurs des indicateurs M et O dans les messages d’annonce de routeur reçus. Ainsi, pour utiliser DHCPv6, vous devez configurer les serveurs DHCPv6 et les agents de relais pour servir chacun des sous-réseaux IPv6, puis configurer vos routeurs IPv6 pour définir les valeurs appropriées pour ces deux indicateurs. S’il existe plusieurs routeurs d’annonce pour un sous-réseau donné, ils doivent être configurés pour annoncer les mêmes préfixes d’adresse sans prise en compte des états et les mêmes valeurs pour les indicateurs M et O. Les hôtes IPv6 exécutant Windows® XP ou Windows Server 2003 n’incluent pas de client DHCPv6 et ignorent donc les valeurs des indicateurs M et O dans les annonces de routeur reçues.

Vous pouvez configurer un routeur IPv6 exécutant Windows Vista ou Windows Server « Longhorn » afin de définir l’indicateur M sur 1 dans les annonces de routeur à l’aide de la commande « netsh interface ipv6 set interface InterfaceName managedaddress=enabled ». De même, vous pouvez configurer l’indicateur O sur 1 dans les annonces de routeur à l’aide de la commande « netsh interface ipv6 set interface InterfaceName otherstateful=enabled ».

Le version Bêta 2 de Windows Server « Longhorn » prend en charge un agent de relais DHCPv6 et une configuration DHCPv6 sans prise en compte des états avec le service DHCP Server. Vous pouvez configurer le service DHCP Server pour que les options DHCPv6 soient distribuées à tous les clients DHCPv6 dans l’échange de messages DHCPv6 deux messages décrit précédemment. Microsoft a l’intention d’inclure la prise en charge de l’opération de prise en compte des états DHCPv6 , y compris la possibilité de créer des étendues d’adresses IPv6 dans le composant logiciel enfichable de DHCP, dans la version Bêta 3 de Windows Server « Longhorn ».

DHCPv6 RFC Resource

RFC sélectionnés liés à DHCPv6 :

Joseph Daviesest rédacteur technique chez Microsoft et il enseigne et écrit sur le réseau Windows depuis 1992. Il a écrit cinq livres pour Microsoft Press et on lui doit la chronique en ligne mensuelle Cable Guy de Technet.

© 2008 Microsoft Corporation et CMP Media, LLC. Tous droits réservés. Toute reproduction, totale ou partielle, est interdite sans autorisation préalable.