TechKnowSurge
Cisco CCNA 1.9 Cisco CCNA 1.8 CompTIA Network+ 3.4 Cisco CCST Networking 2.3
VideoNetworkFree

LLA & EUI 64

IPv6 link-local addresses allow devices to communicate on a local network segment without any external server or router, and the EUI-64 process derives these addresses directly from a device's MAC address. Duplicate Address Detection (DAD) then verifies that the generated address is unique on the network before it is used.

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

About this video

IPv6 introduced a fundamentally different approach to address assignment compared to IPv4. Rather than requiring a server to hand out addresses, every IPv6-capable interface automatically generates a link-local address the moment it joins a network, allowing it to communicate with neighboring devices on the same subnet immediately. This address is scoped to the local link and never routed beyond a Layer 3 device, but it is essential for core IPv6 functions including Neighbor Discovery Protocol (NDP), which devices use to locate routers and gather configuration information needed to reach external networks. A link-local address is always prefixed with FE80 and can be generated in one of two ways. The EUI-64 method derives the interface identifier directly from the device's 48-bit MAC address by splitting it in half, inserting the hex value FFFE in the middle to produce a 64-bit identifier, and then flipping the seventh bit of the result. While this approach produces a globally unique identifier tied to the hardware address, embedding MAC address information into routable addresses like Global Unicast Addresses raised privacy and security concerns, which is why modern operating systems such as Windows now default to randomly generated interface identifiers instead. Temporary global unicast addresses that rotate periodically are also supported as an additional privacy measure. Because link-local address generation is a decentralized process with no authority preventing collisions, IPv6 includes Duplicate Address Detection (DAD) as a safeguard. Before a device begins using its newly generated link-local address, it sends a test message to the network. If another device responds — indicating it already holds that address — the originating device must generate a new candidate and repeat the check. This mechanism ensures address uniqueness on the local segment without any central coordination, preserving the self-sufficient design philosophy that distinguishes IPv6 from its predecessor.

What you'll learn

What's covered

Link Local Addresses & EUI-64

Aligned to

Cisco CCNA
1.9 Describe IPv6 address types
1.8 Configure and verify IPv6 addressing and prefix
CompTIA Network+
3.4 Given a scenario, implement IPv4 and IPv6 network services
Cisco CCST Networking
2.3 Identify IPv6 addresses and prefix formats

Key terms

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.
Link-Local Address
An IPv6 address in the FE80::/10 range that is automatically assigned to every IPv6-enabled interface and used only for communication within a single network link. It cannot be routed beyond the local Layer 2 segment and is required for Neighbor Discovery and router communication.
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.
Neighbor Discovery Protocol
NDP
An IPv6 protocol that replaces ARP and handles router discovery, address autoconfiguration, and address resolution on local links.

Topics

Ipv6 Link Local Addresses Eui 64 Duplicate Address Detection Stateless Address Configuration Networking

Transcript

Let's take a deeper dive into the link local address and EUI-64 and the relationship between those two. We're going to be talking about link local addresses and what they're used for, how the link local address is created, what role EUI-64 plays a part in creating these link local addresses, and then finally DAD, which is duplicate address detection.

Why link local addresses exist

When we went from IPv4 to 6, it was an opportunity to really think of how we were doing things and do things a little differently, and that's exactly what happened. So although there are some similarities between IPv4 and IPv6, there are a lot of differences.

IPv6 was designed so that you could take a machine, plug it into the network, and it could start communicating. It didn't need to reach out to a server, it didn't need to reach out and get information; it could create its own address that would communicate on the network. And that's what link local addresses do: when you plug in a machine, it creates its own link local address and then it is able to communicate to other devices on the network. It didn't need a router, it didn't need a server, it didn't need anything else for it to establish that connection. A link local address is the mechanism that helps do that.

But in addition to that, if it does need information to get outside of that network, to be able to browse the internet, or to reach out to a router or reach out to a server to get additional information, it has some built-in mechanisms that do that as well. It uses something called Neighbor Discovery Protocol, or NDP, and it reaches out and grabs some of that information using this Neighbor Discovery Protocol. But in order for all of that to work, it has to have this link local address; it needs to be created.

How the link local address is created

Your link local address does stay within your network. It does not go beyond your layer 3 device, so it stays to your subnet. That is the link local address, but in order to get out to the outside world you have to get some additional information, and it can use the link local address and some other mechanisms to actually do that, by communicating to other devices on the network.

So it needs to create this link local address, and it can do that in a couple of different ways. One is it could be randomly generated, so on the machine, the machine could randomly generate it. Or it can use this EUI-64, which takes your MAC address and goes through a process to turn it into a link local address. Then you should have a unique address on the network, because your MAC address should be unique in the world, and so this link local address should be unique as well.

A lot of equipment used to use this EUI-64 — Windows used to use it, that was the preferred method originally. But when you are creating things like your global unicast address, and it's going to the outside world, if that did have something like your MAC address incorporated into it, there could be some security concerns with that. And so now it's gone out of favor, to use more of this random method, so now Windows will use a random method of generating it.

Just a side note: in fact, when you create your GUA, your global unicast address, it can actually be set up to be temporary, so then it will cycle through it. As an extra security precaution, you could actually have it change every so often, so you're constantly changing out your global addresses. That's just a side note there.

But this link local address creation here can use a couple of different methods to create it, and it must use it for things like Neighbor Discovery Protocol.

The EUI-64 process

So what does this EUI-64 process look like? First of all, what we do is we split the MAC address in half. Here's a MAC address: we've got a MAC address of aabcc112233. Notice that we've now split this in half and we've inserted in the middle FFFE. So whenever you see this, you can think that this is an address that was created using EUI-64, because it's got this FFFE incorporated into the middle of it.

If that was the only step it would be pretty straightforward. There is a little bit of a catch to this. Step two can be a little more difficult to get down, but that is that the seventh bit needs to be flipped. What that means is if the seventh bit is a zero it needs to become a one, and if it's a one it needs to become a zero. So that's kind of an interesting little twist to this.

If we see this AA right here, then A is 1010, so we translate that into its binary equivalent, which is 10101010. We count seven bits in and we flip that to a zero, so now we see that that is now a zero, so now we've got 10101000. So what that translates to is A8.

If you have noticed, what I've done is I dropped the dashes here. Although you see MAC addresses with both dashes and you see them with colons, I've added colons here, and I've created them as being lowercase. So now this is a little more in the format that we would see in an IPv6 address. And then we insert that into this FE80. So FE80, and now we have a link local address.

So this process of taking the MAC address and putting it through this EUI-64 process, we then have a link local address, and because it has the MAC address incorporated into it, it should be unique on your network.

Duplicate address detection

Now, I say this should be unique, but MAC addresses can be adjusted on your machine, and a random number that comes up has the potential of lining up with somebody else's link local address as well that they elected to take. Even though it's unlikely — how many numbers are involved in this makes it real unlikely that there's going to be another device that chooses the same address as what your device has chosen — it is a possibility, and when it's a possibility it will come up now and then. So we need some sort of mechanism that helps discover if there's a duplicate address.

Because there is nothing orchestrating this — there is no DHCP server that hands out addresses to make sure that there's not duplicates on the network, because there's not a single source for assigning these addresses — we have to have this method that detects if there's duplicate addresses on the network. And so that's what this process does: the duplicate address detection, or DAD.

The duplicate address detection is a way for a device to come up with its link local address without consulting anything else on the network, and then what it will do is it will send out a test message to see if anybody responds to that test message. If they do send a message back, then this machine knows I'm going to have to choose some other number, because some device on the network already has elected to take that link local address. So that's the mechanism that allows us to do that double check: it's duplicate address detection, or DAD.

What we've talked about is link local addresses and how it's a must for IPv6 interfaces to have this link local address. We talked about the link local address creation, and there's a couple of ways that it can be created; one of those methods is to go through the process of the EUI-64, and it takes the MAC address to generate that. And finally we talked about how, since it is a process that could come up with a duplicate address on the network, it's got to use duplicate address detection to make sure no other device is assigned that same link local address.

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 →