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.
SLAAC Overview
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.
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.
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.
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.
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.
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 →