IPv6 for CCNA — SLAAC, EUI-64, and the boot sequence
The IPv6 subset the CCNA actually tests — address structure, EUI-64, SLAAC vs DHCPv6, link-local vs global, and the exact CLI commands to bring a host up on a fresh v6 network without needing a DHCP server.
IPv6 has been “the future of networking” for so long it’s practically a cliché. But the CCNA 200-301 blueprint puts real weight on it — enough that skipping v6 in your prep is a way to lose 8-12% of the exam. And in the field, dual-stack is standard for any enterprise that touches mobile clients, cloud providers, or ISP peering.
The good news: the v6 scope on the CCNA is narrower than a fresh look at RFC 8200 suggests. You need to know address structure, EUI-64, link-local addresses, SLAAC, and a few configuration commands. That’s it. Here’s the working knowledge.
The address — 128 bits, 8 hextets
An IPv6 address is 128 bits, written as 8 groups of 4 hex characters separated by colons:
2001:0db8:0000:0000:0000:0000:0000:0001
Two shortening rules to memorize:
- Leading zeros in a hextet can be dropped.
0db8becomesdb8. Not the trailing zeros. - A single run of consecutive all-zero hextets can be replaced with
::. Only once per address.
Applied to the example:
2001:db8::1
Same address, easier to type.
Address types
A v6 address falls into one of these categories on the CCNA:
- Global Unicast — routable on the internet. Roughly analogous to a public IPv4 address. Starts with
2000::/3(i.e., first hex digit is 2 or 3). - Unique Local (ULA) — private, non-routable on the internet. Analogous to RFC 1918. Starts with
fc00::/7(in practicefd00::/8). - Link-Local — used only on the local segment, never routed. Starts with
fe80::/10. Every IPv6-enabled interface has one automatically. - Multicast — starts with
ff00::/8. Note: IPv6 does not have broadcast. Anywhere IPv4 would broadcast, IPv6 multicasts. - Loopback —
::1(i.e.,0:0:0:0:0:0:0:1). Same as 127.0.0.1 in v4.
The one that trips up beginners: every interface has a link-local address whether you set an IPv6 address or not, as soon as you enable IPv6 on the device. Link-locals are how neighbor discovery and routing protocols talk. You will always see one in show ipv6 interface.
EUI-64 — deriving a host portion from the MAC
Every host on a subnet needs a unique interface ID (the second half of a v6 address). Instead of statically assigning it, IPv6 can derive it from the 48-bit MAC address using EUI-64:
- Start with the 48-bit MAC:
AA:BB:CC:DD:EE:FF. - Split it in half and insert
FF:FEin the middle:AA:BB:CC:FF:FE:DD:EE:FF. - Flip the 7th bit of the first byte (the U/L bit).
AA=1010 1010→ flip bit 7 →1010 1000=A8. - Result:
A8:BB:CC:FF:FE:DD:EE:FFbecomes the 64-bit host portion.
So if the interface has MAC AABB.CC00.0001 and the router advertises prefix 2001:db8:1::/64, the interface auto-configures as 2001:db8:1:a8bb:ccff:fe00:1/64.
The CCNA loves to give you a MAC and a prefix and ask for the resulting SLAAC address. Practice the seven-bit flip. AA → A8, 02 → 00, 00 → 02 — it’s always the 7th bit of the first byte.
SLAAC — auto-config without a DHCP server
SLAAC (Stateless Address Autoconfiguration) is IPv6’s answer to “how does a host get an IP without asking a server.”
The dance:
- Host boots. Enables IPv6. Auto-derives its link-local address from its MAC (usually via EUI-64) and self-assigns.
- Host sends a Router Solicitation (RS) to
ff02::2— the all-routers multicast — asking “any routers here?” - Router responds with a Router Advertisement (RA) containing the prefix, prefix length, default gateway (which is the router’s link-local), and DNS options.
- Host combines the prefix from the RA with its own EUI-64 interface ID and self-assigns a global address.
- Host runs Duplicate Address Detection — sends a Neighbor Solicitation to the address it’s about to claim. If nobody answers, the address is unique and the host uses it.
No DHCP server involved. This is a big deal: it means you can bring up an IPv6 network with just a router. In IPv4, you’d need a DHCP server or manual configuration on every host.
DHCPv6 — when SLAAC isn’t enough
SLAAC gives out an address and a gateway. It does not (traditionally) give DNS or other options.
Two solutions:
- Stateless DHCPv6 — host gets its address via SLAAC, DNS via DHCPv6. The RA has a flag
O = 1telling clients “SLAAC for address, DHCP for options.” - Stateful DHCPv6 — like IPv4 DHCP, hands out addresses too. The RA has
M = 1telling clients “DHCP for everything.”
CCNA scope typically covers SLAAC + stateless DHCPv6. Stateful DHCPv6 gets a mention.
Config on a Cisco router — enable v6
Router(config)# ipv6 unicast-routing
Router(config)# interface g0/0
Router(config-if)# ipv6 address 2001:db8:1::1/64
Router(config-if)# ipv6 address autoconfig
Router(config-if)# no shutdown
That first line — ipv6 unicast-routing — is critical. Without it, the router won’t route v6 or send RAs. Cisco disables v6 routing by default.
To use EUI-64 on the router itself:
Router(config-if)# ipv6 address 2001:db8:1::/64 eui-64
That tells the router “take this /64 prefix, derive the interface ID via EUI-64, use the resulting address on this interface.”
Verify — the three commands you’ll live in
Router# show ipv6 interface brief
Router# show ipv6 interface g0/0
Router# show ipv6 route
show ipv6 interface brief gives you a fast scan:
GigabitEthernet0/0 [up/up]
FE80::AABB:CCFF:FE00:100
2001:DB8:1::AABB:CCFF:FE00:100
Both a link-local (starts with FE80) and a global-unicast (starts with 2001). If you don’t see the link-local, IPv6 isn’t up on that interface.
show ipv6 interface g0/0 (no brief) gives you the full state — MTU, joined multicast groups, ND settings, RA parameters. Overwhelming at first, essential for troubleshooting.
Common mistakes
-
Forgetting
ipv6 unicast-routing. No routing, no RA. Hosts on the LAN never SLAAC. -
Confusing link-local with the interface address. Link-local is
FE80::/10and is the neighbor-discovery address. The global-unicast is what everything routes to. Both live on the interface simultaneously. -
Miscounting the seven-bit flip. The U/L bit is the 7th bit (from the left) of the first byte.
AA→A8, notAB. -
Assuming IPv6 has broadcast. It doesn’t. Any place a v4 network would use broadcast, v6 uses multicast (usually
ff02::1for all-hosts). -
Overusing
::. The::shortcut is allowed only once per address.2001::db8::1is invalid — ambiguous — and the parser rejects it. -
Manually assigning link-local addresses that don’t start with
FE80. You can override the derived link-local, but the address you assign must be in theFE80::/10range or the OS rejects it.
Address types — quick recognizer
| Starts with… | It’s a… |
|---|---|
2000-3FFF | Global unicast (routable, “internet address”) |
FE80 | Link-local (segment-only) |
FC00-FDFF | Unique Local (private, ULA) |
FF00-FFFF | Multicast |
::1 | Loopback |
:: | Unspecified (source address only) |
Cheat strip
| Concept | One-line meaning |
|---|---|
| IPv6 length | 128 bits, 8 hextets |
| Global unicast | 2000::/3 — routable |
| Link-local | FE80::/10 — auto, segment-only |
| Multicast | FF00::/8 — replaces broadcast |
| Loopback | ::1 |
| EUI-64 | MAC + FFFE inserted, 7th bit flipped |
| SLAAC | Host auto-derives address from RA prefix + EUI-64 |
| RA / RS | Router Advertisement / Router Solicitation |
ipv6 unicast-routing | Enable routing + RA generation on a Cisco router |
| DAD | Duplicate Address Detection — NS-based unique check |
| Stateless DHCPv6 | SLAAC address + DHCP for DNS |
| Stateful DHCPv6 | DHCP for everything, like IPv4 |
| :: shortcut | Once per address, contiguous zeros only |
The dual-stack reality
In production, you almost never see pure IPv6. You see dual-stack: every interface has both a v4 and a v6 address, every server has AAAA records alongside A records, applications prefer v6 when both are available.
Design implication: your v4 subnet map and your v6 prefix plan should overlay. If VLAN 10 is 10.0.10.0/24 in v4, it might be 2001:db8:10::/64 in v6. Keeping them aligned makes documentation manageable and troubleshooting sane.
For the CCNA, expect at least three v6-flavored questions: one on shortening rules, one on EUI-64 math, and one on the SLAAC/RA sequence. Practice the math. Read the RA flags. Do the seven-bit flip until it’s reflex. That covers 90% of what you’ll be asked.
Get posts like this by email.
One short, opinionated tutorial per week. Unsubscribe in one click.
Personal reply from a senior network engineer. No third-party tracking. Unsubscribe any time.