DHCPv6 vs SLAAC : attribution des adresses IPv6, état, passerelle et DNS, usages
Un hôte IPv6 peut obtenir automatiquement une adresse de deux façons : DHCPv6 et SLAAC. Avec SLAAC (autoconfiguration d’adresse sans état, RFC 4862), l’hôte apprend le préfixe du lien à partir des annonces de routeur (RA) envoyées par les routeurs, crée son propre identifiant d’interface et assemble l’adresse. Aucun serveur ne garde trace de l’adresse utilisée par chaque hôte, d’où le qualificatif « sans état ». Avec DHCPv6 (RFC 8415), comme avec DHCP pour IPv4, un serveur choisit une adresse, la prête pour une durée limitée (bail) et en conserve la trace. Dans les deux cas, la passerelle par défaut est apprise par les RA. Il existe aussi une combinaison appelée DHCPv6 sans état, dans laquelle l’adresse est formée par SLAAC et seules d’autres informations, comme l’adresse du serveur DNS, proviennent de DHCPv6.
| Critère | DHCPv6 | SLAAC |
|---|---|---|
| Qui choisit l’adresse | Le serveur DHCPv6, qui en choisit une dans la plage qu’il gère et la prête pour une durée limitée | L’hôte lui-même, qui combine le préfixe appris par les RA avec un identifiant d’interface qu’il crée |
| État | Avec état : le serveur enregistre quelle adresse il a prêtée à quel hôte | Sans état : aucun serveur n’enregistre les attributions d’adresses |
| Prérequis | Un serveur DHCPv6 (et un agent relais s’il se trouve sur un autre lien), plus des RA indiquant aux hôtes d’utiliser DHCPv6 | Un routeur qui envoie des RA annonçant le préfixe |
| Messages utilisés | UDP (port 546 pour les clients, 547 pour les serveurs et les agents relais) ; l’échange de base est Solicit, Advertise, Request et Reply | Sollicitation de routeur (RS) et annonce de routeur (RA) de la découverte des voisins ICMPv6 (NDP) |
| Passerelle par défaut | Non fournie par DHCPv6 ; on utilise l’adresse lien-local du routeur qui a envoyé la RA | On utilise l’adresse lien-local du routeur qui a envoyé la RA |
| Adresse du serveur DNS | Fournie dans une option DHCPv6 | Fournie dans une option de RA (RDNSS) ou par DHCPv6 sans état |
| Identifiant d’interface (64 bits de poids faible) | Choisi par le serveur | Format EUI-64 dérivé de l’adresse MAC, ou valeur fondée sur des nombres aléatoires ; pour la confidentialité, de nombreux systèmes d’exploitation utilisent des valeurs aléatoires |
| Longueur de préfixe et délégation | Attribue les adresses une par une : fonctionne donc aussi avec des préfixes autres que /64 ; peut aussi déléguer des préfixes entiers à des routeurs (DHCPv6-PD) | Suppose en général un préfixe /64 ; ne peut pas déléguer de préfixes |
| Facilité de suivi des adresses | Les enregistrements du serveur montrent quel hôte utilise quelle adresse ; les clients sont identifiés par un identifiant appelé DUID | Aucun enregistrement côté serveur : pour trouver l’adresse d’un hôte, il faut par exemple consulter le cache des voisins du routeur |
Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.