DHCPv6 versus SLAAC: hoe IPv6-adressen worden toegewezen, toestand, gateway en DNS, en wanneer welke
Een IPv6-host kan op twee manieren automatisch een adres krijgen: DHCPv6 en SLAAC. Bij SLAAC (stateless address autoconfiguration, RFC 4862) leert de host de prefix van de link uit de router advertisements (RA's) die routers versturen, maakt hij zijn eigen interface-ID en stelt hij daarmee het adres samen. Geen enkele server houdt bij welke host welk adres gebruikt, vandaar de naam „stateless”. Bij DHCPv6 (RFC 8415) kiest, net als bij DHCP voor IPv4, een server een adres, leent het voor beperkte tijd uit en houdt er een registratie van bij. In beide gevallen wordt de standaardgateway uit RA's geleerd. Er is ook een combinatie die stateless DHCPv6 heet, waarbij het adres met SLAAC wordt gevormd en alleen andere informatie, zoals het adres van de DNS-server, van DHCPv6 komt.
| Kenmerk | DHCPv6 | SLAAC |
|---|---|---|
| Wie het adres bepaalt | De DHCPv6-server, die er een kiest uit het bereik dat hij beheert en het voor beperkte tijd uitleent | De host zelf, die de uit RA's geleerde prefix combineert met een interface-ID die hij zelf maakt |
| Toestand | Stateful: de server registreert welk adres hij aan welke host heeft uitgeleend | Stateless: geen enkele server registreert adrestoewijzingen |
| Wat nodig is | Een DHCPv6-server (en een relay agent als die op een andere link staat), plus RA's die hosts opdragen DHCPv6 te gebruiken | Een router die RA's verstuurt waarin de prefix wordt aangekondigd |
| Gebruikte berichten | UDP (poort 546 voor clients, 547 voor servers en relay agents); de basisuitwisseling is Solicit, Advertise, Request en Reply | Router Solicitation (RS) en Router Advertisement (RA) uit ICMPv6 Neighbor Discovery (NDP) |
| Standaardgateway | Niet geleverd door DHCPv6; het link-localadres van de router die de RA verstuurde, wordt gebruikt | Het link-localadres van de router die de RA verstuurde, wordt gebruikt |
| Adres van de DNS-server | Geleverd in een DHCPv6-optie | Geleverd in een RA-optie (RDNSS) of via stateless DHCPv6 |
| Interface-ID (onderste 64 bits) | Door de server gekozen | EUI-64-formaat afgeleid van het MAC-adres, of een waarde op basis van willekeurige getallen; voor privacy gebruiken veel besturingssystemen willekeurige waarden |
| Prefixlengte en delegatie | Wijst adressen één voor één toe, dus werkt ook met andere prefixen dan /64; kan ook hele prefixen aan routers delegeren (DHCPv6-PD) | Gaat in het algemeen uit van een /64-prefix; kan geen prefixen delegeren |
| Hoe makkelijk adressen te herleiden zijn | De registratie van de server laat zien welke host welk adres gebruikt; clients worden geïdentificeerd met een identifier die DUID heet | Er is geen registratie op een server, dus om het adres van een host te vinden moet je bijvoorbeeld de neighbor cache van de router raadplegen |
De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.