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.

KenmerkDHCPv6SLAAC
Wie het adres bepaaltDe DHCPv6-server, die er een kiest uit het bereik dat hij beheert en het voor beperkte tijd uitleentDe host zelf, die de uit RA's geleerde prefix combineert met een interface-ID die hij zelf maakt
ToestandStateful: de server registreert welk adres hij aan welke host heeft uitgeleendStateless: geen enkele server registreert adrestoewijzingen
Wat nodig isEen DHCPv6-server (en een relay agent als die op een andere link staat), plus RA's die hosts opdragen DHCPv6 te gebruikenEen router die RA's verstuurt waarin de prefix wordt aangekondigd
Gebruikte berichtenUDP (poort 546 voor clients, 547 voor servers en relay agents); de basisuitwisseling is Solicit, Advertise, Request en ReplyRouter Solicitation (RS) en Router Advertisement (RA) uit ICMPv6 Neighbor Discovery (NDP)
StandaardgatewayNiet geleverd door DHCPv6; het link-localadres van de router die de RA verstuurde, wordt gebruiktHet link-localadres van de router die de RA verstuurde, wordt gebruikt
Adres van de DNS-serverGeleverd in een DHCPv6-optieGeleverd in een RA-optie (RDNSS) of via stateless DHCPv6
Interface-ID (onderste 64 bits)Door de server gekozenEUI-64-formaat afgeleid van het MAC-adres, of een waarde op basis van willekeurige getallen; voor privacy gebruiken veel besturingssystemen willekeurige waarden
Prefixlengte en delegatieWijst 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 zijnDe registratie van de server laat zien welke host welk adres gebruikt; clients worden geïdentificeerd met een identifier die DUID heetEr 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.

Wanneer welke variant?

DHCPv6
Bedrijfsnetwerken die willen beheren en vastleggen welk adres aan welke host is toegewezen, en providerlijnen die prefixen aan routers uitdelen (DHCPv6-PD). Sommige besturingssystemen van hosts kunnen geen adres via DHCPv6 krijgen, dus controleer de ondersteuning.
SLAAC
Wanneer adressen eenvoudig moeten worden uitgedeeld zonder een server te draaien, zoals thuis en in veel LAN's. Informatie over de DNS-server wordt geleverd door de RA-optie RDNSS of door stateless DHCPv6.

Veelgestelde vragen

Zijn router advertisements (RA's) nog nodig bij gebruik van DHCPv6?

Ja. DHCPv6 kan geen standaardgateway leveren; hosts gebruiken het link-localadres van de router die de RA verstuurde als standaardgateway. RA's vertellen hosts ook, met de M-vlag (Managed), adressen via DHCPv6 te verkrijgen, en met de O-vlag (Other), andere informatie zoals DNS-servers via DHCPv6 op te halen.

Wat is stateless DHCPv6?

Een opzet waarin hosts hun eigen adressen met SLAAC vormen en alleen informatie die geen adres is, zoals adressen van DNS-servers, van een DHCPv6-server krijgen. De server registreert niet welk adres bij welke host hoort, vandaar „stateless”. Hosts worden ertoe aangezet door een RA met de M-vlag op 0 en de O-vlag op 1.

Hoe voorkomt SLAAC dubbele adressen?

Voordat de host een zelf gevormd adres gebruikt, controleert hij met Neighbor Discovery dat geen ander apparaat hetzelfde adres gebruikt. Dit heet duplicate address detection (DAD). Een adres dat dubbel blijkt te zijn, wordt niet gebruikt. Adressen die via DHCPv6 zijn verkregen, worden op dezelfde manier gecontroleerd.

Kan een host aan zijn SLAAC-adres worden gevolgd?

Met een interface-ID in EUI-64-formaat, afgeleid van het MAC-adres, zijn de onderste 64 bits op elk netwerk gelijk, waardoor de host makkelijker te volgen is. Daarom worden interface-ID's gebruikt die willekeurig ogen en per netwerk verschillen (RFC 7217), en tijdelijke adressen die in de loop van de tijd veranderen (RFC 8981).

Test uw begrip

Welk bereik bevat bij IPv6 de link-local-adressen, die alleen binnen dezelfde link worden gebruikt en op elke interface die IPv6 gebruikt altijd automatisch worden ingesteld?

  1. A2001:db8::/32
  2. Bff00::/8
  3. Cfe80::/10
Antwoord en toelichting tonen

Antwoord: C. fe80::/10

Link-local-adressen liggen in het bereik fe80::/10; ze worden niet voorbij een router doorgestuurd en alleen gebruikt voor communicatie binnen dezelfde link. Ze worden gebruikt voor uitwisselingen zoals Neighbor Discovery (NDP) en routeradvertenties, en de standaardgateway van een apparaat is normaal ook het link-local-adres van de router. 2001:db8::/32 is een bereik dat is gereserveerd voor voorbeelden in uitleg en documenten (documentatieadressen). ff00::/8 bevat de multicastadressen; IPv6 gebruikt multicast in plaats van broadcast.

Hoe maakt een apparaat bij SLAAC (stateless address autoconfiguration) van IPv6 een globaal unicastadres?

  1. AHet vraagt een DHCPv6-server en leent voor een bepaalde periode een adres van 128 bits dat door de server wordt beheerd
  2. BHet combineert de /64-prefix uit de routeradvertentie (RA) die een router verstuurt met een interface-ID (de onderste 64 bits) die het zelf maakt, en gebruikt het adres nadat het heeft gecontroleerd dat geen ander apparaat hetzelfde adres heeft
  3. CHet zet zijn eigen IPv4-adres ongewijzigd in de onderste 32 bits en vult de bovenste bits met een waarde die met fe80 begint
Antwoord en toelichting tonen

Antwoord: B. Het combineert de /64-prefix uit de routeradvertentie (RA) die een router verstuurt met een interface-ID (de onderste 64 bits) die het zelf maakt, en gebruikt het adres nadat het heeft gecontroleerd dat geen ander apparaat hetzelfde adres heeft

Bij SLAAC leert een apparaat de prefix van zijn link (normaal een /64) uit de routeradvertenties (RA's) die routers periodiek of op verzoek versturen. Die combineert het met een interface-ID, ofwel in het EUI-64-formaat dat van zijn MAC-adres is afgeleid, ofwel op basis van een willekeurige waarde, tot een adres. Voordat het het adres gebruikt, controleert het apparaat met Neighbor Discovery dat geen ander apparaat hetzelfde adres gebruikt (detectie van dubbele adressen, DAD). Het link-local-adres van de router die de RA verstuurde, wordt de standaardgateway, en omdat geen server de adrestoekenning beheert, heet het „stateless”. De adressen van DNS-servers worden doorgegeven via een optie in de RA of via stateless DHCPv6.

Een interface met MAC-adres 00-1A-2B-3C-4D-5E maakt met SLAAC een adres uit de prefix 2001:db8:1:1::/64 en een interface-ID in het EUI-64-formaat. Welk adres ontstaat er?

  1. A2001:db8:1:1:21a:2bff:fe3c:4d5e
  2. B2001:db8:1:1:1a:2bff:fe3c:4d5e
  3. C2001:db8:1:1:21a:2bfe:ff3c:4d5e
Antwoord en toelichting tonen

Antwoord: A. 2001:db8:1:1:21a:2bff:fe3c:4d5e

In het EUI-64-formaat wordt het MAC-adres van 48 bits gesplitst in de bovenste 24 bits en de onderste 24 bits, en daartussen wordt FF-FE ingevoegd om 64 bits te krijgen. Ingevoegd tussen 00-1A-2B en 3C-4D-5E geeft dat 00-1A-2B-FF-FE-3C-4D-5E. Daarnaast wordt de op één na laagste bit van de eerste byte (de U/L-bit) omgekeerd, zodat 00 verandert in 02, wat 02-1A-2B-FF-FE-3C-4D-5E geeft. In groepen van 16 bits, met weglating van de voorloopnullen in elke groep, wordt dat 21a:2bff:fe3c:4d5e, en met de prefix is het adres 2001:db8:1:1:21a:2bff:fe3c:4d5e. Omdat een adres waarin het MAC-adres zichtbaar is een apparaat gemakkelijker te volgen maakt, gebruiken de meeste huidige besturingssystemen interface-ID's op basis van willekeurige waarden.

  1. Apparaten in VLAN 20 (192.168.20.0/24) moeten hun adressen krijgen van een DHCP-server, 10.0.0.5, in een ander netwerk. Daarom is op de interface 192.168.20.1 van de L3-switch, de standaardgateway van VLAN 20, een DHCP-relayagent ingesteld. Welke beschrijving van wat de relayagent doet, is juist?
  2. Wat is de juiste volgorde van de berichten wanneer een apparaat via DHCP een IP-adres verkrijgt?

Oefenvragen over Netwerkontwerp en -beheer

Belangrijke termen uitgelegd

SLAAC (stateless address autoconfiguration)
Mechanisme van IPv6 waarbij een apparaat de netwerkprefix (normaal een /64) leert uit de routeradvertenties (RA's) die routers versturen, en die combineert met een interface-ID die het zelf maakt, om automatisch een adres in te stellen. De interface-ID is ofwel in het EUI-64-formaat afgeleid van het MAC-adres, ofwel gebaseerd op een willekeurige waarde om volgen te voorkomen. Voordat het apparaat het adres gebruikt, controleert het met detectie van dubbele adressen (DAD) dat geen ander apparaat het heeft.
DHCP (Dynamic Host Configuration Protocol)
Protocol dat apparaten die met een netwerk verbinding maken automatisch en voor beperkte tijd een IP-adres, subnetmasker, standaardgateway, DNS-servers en andere instellingen toekent.
IPv6
Versie 6 van IP. Het vergroot adressen tot 128 bits, geschreven als acht groepen van 16 bits in hexadecimale notatie, zoals 2001:db8::1. De header is eenvoudiger en heeft een vaste lengte van 40 bytes, en routers onderweg fragmenteren geen pakketten. Het is niet compatibel met IPv4, dus bij de overgang worden dual stack, waarbij beide tegelijk draaien, en vertaalmechanismen gebruikt.
Standaardgateway (default gateway)
De router waaraan een apparaat pakketten overdraagt voor bestemmingen in andere netwerken. Het apparaat bepaalt met zijn subnetmasker of een bestemming in hetzelfde netwerk ligt, en stuurt naar deze router als dat niet zo is.
DNS (Domain Name System)
Systeem dat gedistribueerd wordt beheerd door servers over de hele wereld en domeinnamen zoals www.example.com koppelt aan de IP-adressen die voor de communicatie worden gebruikt.
MAC-adres
Adres van 48 bits dat in Ethernet en draadloze LAN's wordt gebruikt om apparaten binnen hetzelfde netwerk aan te duiden. De bovenste 24 bits geven de fabrikant aan, en het adres wordt bij de productie aan elke interface toegekend.
ICMP (Internet Control Message Protocol)
Protocol voor het melden van fouten en toestanden bij IP-communicatie. Het meldt de afzender bijvoorbeeld dat een bestemming niet bereikbaar is (Destination Unreachable) of dat de TTL van een pakket 0 heeft bereikt (Time Exceeded). ping gebruikt echo requests en echo replies om de bereikbaarheid te controleren en de RTT te meten, en traceroute gebruikt Time Exceeded-meldingen om een pad na te gaan. Bij IPv6 verzorgt ICMPv6 ook onder meer neighbor discovery.

Verwante vergelijkingen