TechKnowSurge
Cisco CCNA 1.8 Cisco CCNA 1.9
VideoNetworkFree

SLAAC

SLAAC (Stateless Address Autoconfiguration) allows IPv6 clients to generate their own IP addresses without a DHCP server, using router advertisements and either EUI-64 or random host bit generation to produce a unique address. Duplicate Address Detection ensures no two devices on the network share the same address.

Complete this video to capture a CTF flag worth 1 point.

About this video

SLAAC, or Stateless Address Autoconfiguration, is the process by which an IPv6 client device assigns itself an IP address upon joining a network, without relying on a stateful server like DHCP. The term stateless reflects the fact that no central authority assigns or tracks address allocations. Instead, the client derives its own address from information it receives directly from routers on the local network. When a client device connects, it joins the ff02::1 all-nodes multicast group and sends a Router Solicitation to the ff02::2 all-routers multicast group. Any router participating in that group responds with a Router Advertisement addressed back to ff02::1, delivering the network prefix and the router's own address so the client can identify its default gateway. With the network prefix in hand and the autoconfiguration flag confirmed as active, the client must generate the 64-bit host portion of its IPv6 address. Two methods exist for this. The EUI-64 approach derives the host bits from the device's 48-bit MAC address, extending it to 64 bits through a defined process. Because MAC addresses are globally unique burned-in identifiers, EUI-64 reliably produces a unique host value, and it is the default method used by Cisco equipment. The alternative is random generation, where the client produces 64 bits at random. Windows machines use this approach by default. While the probability of a collision across 64 random bits is extremely low, it is not zero, making random generation slightly less deterministic than EUI-64. Regardless of which method generates the host bits, the client runs Duplicate Address Detection before committing to the address. This process involves sending a Neighbor Solicitation to verify that no other device on the network is already using the candidate address. If another device holds that address, it responds with a Neighbor Advertisement, and the client must generate a new candidate. This final verification step ensures that SLAAC produces globally formatted, locally unique IPv6 addresses across a range of device types and environments.

What you'll learn

What's covered

SLAAC Overview

Aligned to

Cisco CCNA
1.8 Configure and verify IPv6 addressing and prefix
1.9 Describe IPv6 address types

Key terms

Stateless Address Autoconfiguration
SLAAC
An IPv6 mechanism that allows devices to automatically generate a globally unique IPv6 address using the network prefix from a Router Advertisement combined with a locally generated interface identifier, without requiring a DHCP server. SLAAC uses the EUI-64 process or a random interface ID to create the host portion of the address.
Router Solicitation
RS
An ICMPv6 message sent by an IPv6 host when it initializes to prompt routers on the link to send a Router Advertisement immediately, rather than waiting for the next periodic RA interval. Router Solicitation speeds up IPv6 address autoconfiguration on newly connected devices.
Router Advertisement
RA
An ICMPv6 message periodically broadcast by IPv6-enabled routers to announce their presence, advertise network prefixes, and provide default gateway information for SLAAC. Hosts also request RAs immediately on startup by sending a Router Solicitation.
Multicast
A transmission type in which data is sent from one source to a specific group of devices that have subscribed to a multicast group address, rather than to all devices or just one. This differs from broadcast (all devices) and unicast (one device).
Extended Unique Identifier 64-bit
EUI-64
A method for automatically generating the 64-bit interface identifier portion of an IPv6 address by inserting 0xFFFE into the middle of a device's 48-bit MAC address and flipping the Universal/Local bit. EUI-64 is used by SLAAC and stateless DHCPv6 to create host-specific IPv6 addresses.
Duplicate Address Detection
DAD
An IPv6 mechanism that verifies a newly assigned address is unique on the link before it is used for communication. A device sends a Neighbor Solicitation for its tentative address; if no response is received, the address is confirmed unique and assigned.
Media Access Control
MAC
A sublayer of the Data Link layer that controls how devices on a network gain access to a medium and transmit data.

Topics

Slaac Ipv6 Network Addressing Router Advertisements Eui 64 Duplicate Address Detection Networking

Transcript

SLAAC stands for stateless address autoconfiguration, and the idea behind this is when a client machine joins the network, it doesn't have to be given an IP address; the client comes up with its own IP address. Therefore it is stateless: I'm not going to state an IP address for you to take. So that is the idea behind this, and we know that it happens through these router solicitations and router advertisements. The information is given to this demo laptop around the network and the default gateway, but it doesn't give any specifics about the IP address itself.

Multicast groups

When a router connects to your network it will join a couple different multicast groups. One of them is going to be ff02::1, and ff02::2. The ff02::1, that's the all nodes, and that's actually the same multicast group that all of your machines on your network is going to be a part of, so that is what's taking the place of a broadcast. The next multicast group that it is going to join is this ff02::2, and that is going to be the routers. And so anything that joins this ff02::2 can then send out these router advertisements.

So what will happen is when this demo laptop connects to the network, it's also going to join the ff02::1 group, the all nodes group, and it's also going to send out a router solicitation, and it's going to send out this router solicitation going to the ff02::2 multicast group. So you could have multiple routers connected into your network, and that router solicitation is going to connect to each one of those routers, or get sent to each one of those routers that's participating. And then these routers are going to send out router advertisements back to this demo laptop, and so now this demo laptop will get information about its networks. When these router advertisements get sent back, the router advertisements get sent back to ff02::1, so it gets sent out to all of the devices.

So that is the difference between the router solicitation, which is sent out to all the routers, versus the router advertisement, which gets sent out to all nodes on your network and that multicast group.

Generating the host bits

The router advertisement is going to have some information in it. For instance, it's going to have the network that it's a part of; it's also going to have its own address, and so that client machine knows the address of the default gateway. So it gets some information about it, but what the client needs to do, now that it knows the network portion of it and it sees that the auto configuration flag is turned on, so it sees that SLAAC is operating, is that it's going to need to generate the host bits side of this, and it's going to need to generate something that no other machine on the network has.

There's two ways that it can do this: it can use that EUI-64 modified, or it could use the randomly generated. Now, different equipment out there will do different aspects to this. By default, for instance, your Cisco equipment uses the EUI-64 by default, versus your Windows machines, where it will be randomly generated. And so your client machines, your machines on your network, are somehow going to have to come up with that client bits part of this.

EUI-64 and the MAC address

When this happens, the question is, well, how does it know that it's going to create a unique address? The EUI-64 should be pretty straightforward: it uses the MAC address to come up with the host bits portion of it. Your MAC address is 48 bits long, and the host portion of this is 64 bits, so what it will do is it'll add some more. I'm not going to go in depth into how it comes up with the EUI-64 portion of this, but essentially, since it uses the MAC address, and MAC addresses are the burned in address or the unique address, it should be unique in the world, and no other device on your network should have that same MAC address.

Now there are times you can actually assign MAC addresses to the machines, or if it's some sort of virtual appliance, that maybe it has the same MAC address, so in that case that wouldn't be the ideal scenario there. But for the most part your MAC address should be unique on your network, and so therefore that EUI-64, if it's using that, should create a completely unique IPv6 address.

Randomly generated addresses and duplicate address detection

Now let's talk about randomly generated. We're talking about 64 bits that are randomly generated. The chances that another machine on that network randomly generates 64 bits the same as your machine, or as another machine on the network, is unlikely. The chances are pretty small, but there is a chance, and it will come up every once in a while. So that's where we get into that duplicate address detection, the DAD process, to make sure that it is a unique address on this network. And that's where it'll do that neighbor solicitation to make sure that that address is not taken, and then you will get a neighbor advertisement if it is taken.

About TechKnowSurge

TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.

Explore free tools and programs →