SLAAC är en metod där en IPv6-enhet själv skapar sin IP-adress utan hjälp av en server. Den använder information från routerns Router Advertisement (RA) samt sin egen interface-identifierare (IID).
Namnet stateless betyder att det inte finns någon central server (som DHCPv6 i stateful läge) som håller reda på vilka adresser som delats ut. Varje enhet ansvarar själv för att bygga och kontrollera sin adress.
Steg för SLAAC
- Klienten ber om information (RS) – När en IPv6-enhet ansluts till ett nätverk skickar den ett Router Solicitation (RS)-meddelande till alla routrar på länken. Detta görs för att snabbare få nödvändig nätverksinformation.
- Routern svarar (RA) – Routern skickar ett Router Advertisement (RA). Detta meddelande innehåller bland annat:
- Prefix och prefixlängd (exempel: 2001:db8:acad:1::/64)
- Router Lifetime (om routern kan användas som default gateway)
- MTU (vilken maxstorlek paket får ha)
- M- och O-flaggor som talar om hur adressering ska ske
- Om flaggorna är M=0 och O=0 används SLAAC.
- Klienten bygger sin adress – Klienten tar prefixet från RA och kombinerar det med en Interface Identifier (IID) på 64 bitar.
Det finns två sätt att skapa IID:
- EUI-64
- Random identifier (slumpmässigt genererad IID)
EUI-64
EUI-64 (Extended Unique Identifier, 64-bit) är en metod som används för att automatiskt skapa en 64-bitars Interface Identifier i en IPv6-adress, ofta för Link-Local Addresses (LLA) eller när en IPv6-nod får en adress via SLAAC (Stateless Address Autoconfiguration).
Kort sagt tar man en enhets MAC-adress (som är 48 bitar) och gör om den till 64 bitar enligt en standardiserad process. Så här går det till:
- MAC-adressen delas i två delar: OUI (Organizationally Unique Identifier – de första 24 bitarna) och Interface ID (de sista 24 bitarna).
- Hex-värdet FFFE infogas i mitten, vilket utökar längden från 48 till 64 bitar.
- Den sjunde biten i den första byten (Universal/Local-biten) inverteras för att ange om adressen är globalt unik eller lokalt administrerad.
- AC = 10101100
- AE = 10101110

Resultatet blir en 64-bitars identifierare som kombineras med nätverkets prefix (t.ex. ett /64-prefix) för att skapa en fullständig IPv6-adress.
Random identifier (slumpmässigt genererad IID)
En IID (Interface Identifier) är de sista 64 bitarna av en IPv6-adress när prefixet är /64. Istället för att bygga den på en MAC-adress (som vid EUI-64), kan operativsystem generera den med slumpmässiga värden genom att använda olika typer av algoritmer. Adressen har oftast en tidsbegränsad livslängd. När den går ut genereras en ny IID → vilket ger nya IPv6-adresser över tid.
Hur det går till (RFC 4941 – Privacy Extensions):
- Enheten får ett IPv6-prefix från routern (t.ex. 2001:db8:abcd:1234::/64).
- Operativsystemet använder en slumptalsgenerator för att skapa en 64-bitars IID.
- Det resulterar i ett värde som kombineras med prefixet och blir en fullständig IPv6-adress, t.ex.: 2001:db8:abcd:1234:3f1a:29d7:88c2:4e7b
De flesta moderna operativsystem använder idag slumpmässigt genererade Interface Identifiers (IID) som standard för Global Unicast Addresses (GUA). Exempel på detta är: Windows, macOS och iOS, Linux och Android. Däremot använder Cisco-enheter och många nätverksutrustningar fortfarande ofta EUI-64-metoden för att skapa Link-Local Addresses (LLA) och ibland även som sekundära adresser för GUA.