Exam Objective 1.4: Troubleshoot IPv6 address configuration, assignment, and prefix sizing (unicast and modified EUI 64).
IPv6 was designed to solve IPv4 address exhaustion, and CCNA candidates are expected to read, write, and troubleshoot IPv6 addressing with the same fluency as IPv4. This objective focuses specifically on unicast address types, prefix length (the IPv6 equivalent of a subnet mask), and the Modified EUI-64 process routers and hosts use to automatically build an interface ID from a MAC address.
An IPv6 address is 128 bits long, written as eight groups of four hexadecimal digits separated by colons, such as 2001:0db8:0000:0000:0000:ff00:0042:8329. Each hex digit represents 4 bits, so 8 groups times 16 bits equals 128 bits total.
Shortening rules:
Leading zeros within a group can be omitted (0db8 becomes db8, 0042 becomes 42)
One single consecutive run of all-zero groups can be replaced with a double colon (::), but this shortcut can only be used once per address, since using it twice would make the address ambiguous (the device couldn't tell how many zero groups belong to each ::)
Applying both rules, the example address above shortens to 2001:db8::ff00:42:8329.
Prefix length is the IPv6 equivalent of a subnet mask, written as a slash followed by the number of network bits, such as /64. IPv6 does not use a dotted-decimal mask like IPv4 — prefix length is always expressed in CIDR notation.
A unicast address identifies a single interface; a packet sent to a unicast address is delivered to that one specific interface.
Global Unicast Address (GUA):
The IPv6 equivalent of a public IPv4 address — globally unique and routable across the internet
Currently allocated from the 2000::/3 range (meaning the first 3 bits are 001, covering addresses from 2000:: through 3fff:ffff:...)
Structure: a global routing prefix (assigned by an ISP/registry), a subnet ID, and a 64-bit interface ID
Typically uses a /64 prefix for the network portion, leaving 64 bits for the interface ID
Unique Local Address (ULA):
The IPv6 equivalent of a private IPv4 address (RFC 1918) — not intended to be routable on the public internet
Uses the fc00::/7 range, with fd00::/8 being the portion actually used in practice (the fc00::/8 half is reserved for future/centrally-assigned use)
Used for internal, site-local communication, similar in spirit to how 10.0.0.0/8 or 192.168.0.0/16 are used in IPv4
Link-Local Address (LLA):
Automatically assigned to every IPv6-enabled interface, required for IPv6 to function at all on that link
Uses the fe80::/10 range
Only valid on the local link/segment — never routed beyond it
Used for essential local operations such as neighbor discovery, and as the next-hop address for many IPv6 routing protocols
Every IPv6 interface will have a link-local address even if no other IPv6 address is configured
Exam Alert: Know the three prefixes cold: Global Unicast = 2000::/3, Unique Local = fc00::/7 (fd00::/8 in practice), Link-Local = fe80::/10. A question showing an address starting with fe80 is testing whether you recognize it as link-local and therefore not routable off the segment.
Anycast address — assigned to multiple interfaces (often on different devices), and a packet sent to an anycast address is delivered to only the nearest interface (by routing distance) sharing that address. Anycast addresses use the same format as unicast addresses — there's no distinct prefix range, the distinction is purely in how the address is assigned and used.
Multicast address — delivered to a group of interfaces that have joined that multicast group, using the ff00::/8 range. IPv6 has no broadcast address at all; multicast (and anycast) replace the role broadcast played in IPv4.
Loopback address — ::1/128, the IPv6 equivalent of IPv4's 127.0.0.1, used for testing the local IP stack.
Unspecified address — :: (all zeros), used when a device does not yet have an address, such as during the address-acquisition process itself.
Modified EUI-64 (Extended Unique Identifier, 64-bit) is the process a device uses to automatically generate a 64-bit interface ID for its IPv6 address from its existing 48-bit MAC address, without needing DHCP or manual configuration.
The Modified EUI-64 process, step by step:
Start with the 48-bit MAC address, split into two 24-bit halves: the OUI (Organizationally Unique Identifier, the first 24 bits identifying the manufacturer) and the device identifier (the last 24 bits, unique to that specific NIC).
Insert the fixed 16-bit value FFFE exactly in the middle, between the OUI and the device identifier, producing a 64-bit value.
Flip the 7th bit (the universal/local, or U/L, bit) of the first byte. This bit indicates whether the address is universally administered (0) or locally administered (1) in the original IEEE scheme; flipping it from 0 to 1 signals that this is now a modified/derived value rather than the original burned-in MAC.
Worked example:
Original MAC address: 00:16:D3:23:68:8A
Split into halves: 0016D3 and 23688A
Insert FFFE in the middle: 0016D3-FFFE-23688A
Flip the 7th bit of the first byte (00 becomes 02 after the flip)
Resulting interface ID: 0216:D3FF:FE23:688A
If the prefix is 2001:db8:1:1::/64, the full address becomes 2001:db8:1:1:0216:d3ff:fe23:688a
Why the 7th bit flip matters: The first byte 00 in binary is 00000000. The 7th bit (counting from the left, bit position 1 being the most significant) is the second bit from the left in standard IEEE numbering conventions used for this purpose; flipping it changes 00000000 to 00000010, which in hex is 02. This is why a MAC address starting with an even hex digit like 00 typically becomes 02 after the flip, and this flip is a very commonly tested calculation step.
Exam Alert: You are highly likely to be given a MAC address and a /64 prefix, and asked to calculate the resulting EUI-64 interface ID, or given a completed EUI-64 address and asked to identify the original MAC address (which requires reversing the same three steps: flip the bit back, remove FFFE, rejoin the two halves).
Why /64 is the standard for LAN segments: Cisco and IETF best practice reserves 64 bits for the interface ID on any network segment where hosts exist, primarily because Modified EUI-64 and other autoconfiguration mechanisms (like SLAAC) are built around a 64-bit interface ID. Using anything other than /64 on a host-facing segment breaks EUI-64-based autoconfiguration and is strongly discouraged.
When something other than /64 is used:
Point-to-point WAN links between routers are sometimes configured with /127 (analogous to a /30 in IPv4 for a 2-address point-to-point link), since only two addresses are needed and no host autoconfiguration is required on that link.
Prefixes shorter than /64 (like /48 or /56) are commonly seen at the allocation level — an ISP might assign a /48 or /56 to a customer site, which the customer then subnets down into individual /64s for each internal LAN segment.
Subnetting an IPv6 prefix: Similar in concept to IPv4 VLSM, but with vastly more available address space. If an organization is allocated a /48, it has 16 bits available to create subnets (since /64 is the target size for each individual LAN), meaning 2^16 = 65,536 possible /64 subnets can be created from a single /48 allocation.
Exam Alert: Expect a scenario where you're given a /48 or /56 site allocation and asked to identify or calculate a specific /64 subnet within it — the process mirrors IPv4 subnetting, just with hexadecimal instead of decimal math, and typically manipulating a nibble (4-bit hex digit) at a time.
Static assignment — an administrator manually configures the IPv6 address and prefix length on an interface, typically used for routers, servers, and other infrastructure devices.
Stateless Address Autoconfiguration (SLAAC) — a host learns the network prefix from a router's ICMPv6 Router Advertisement (RA) message and then generates its own interface ID (commonly using Modified EUI-64, though modern OSes often use randomized/privacy-extension interface IDs instead) to build a complete address without needing a DHCPv6 server at all.
Stateful DHCPv6 — a DHCPv6 server assigns the complete IPv6 address to the client, functioning much like DHCP does for IPv4, and the server tracks (maintains "state" on) which addresses have been leased to which clients.
Stateless DHCPv6 — a hybrid approach: the client uses SLAAC (from the router's RA) to build its own IPv6 address, but still queries a DHCPv6 server separately for additional configuration information such as DNS server addresses, since basic RA messages don't carry that information by default.
Exam Alert: Know the difference between stateful DHCPv6 (server assigns the whole address) and stateless DHCPv6 (client self-assigns via SLAAC, server provides only supplementary options like DNS). This distinction is frequently tested directly.
Missing link-local address / IPv6 not enabled on the interface — if an interface shows no link-local address at all, IPv6 has likely not been enabled on that interface (on Cisco IOS, the ipv6 enable command, or configuring any IPv6 address, is required before an interface will generate one).
Incorrect or mismatched prefix length — similar to an IPv4 subnet mask mismatch, if two devices on the same segment are configured with different prefix lengths, they may disagree about which addresses are considered "local" versus requiring routing through a gateway.
Duplicate Address Detection (DAD) failure — before using a new unicast address, an IPv6 host performs Duplicate Address Detection by sending a Neighbor Solicitation for its own tentative address; if another device responds claiming that same address, the new address is marked as a duplicate and is not used. A host stuck with a "tentative" address that never resolves usually indicates a duplicate address conflict.
Router Advertisement not being received — if a host relying on SLAAC never receives an RA from the local router (RA suppressed, router IPv6 routing not enabled, or a Layer 2 problem blocking multicast), the host will only have a link-local address and will fail to build a routable global address.
Firewall or ACL blocking ICMPv6 — because IPv6 relies heavily on ICMPv6 for essential functions (Neighbor Discovery, Router Advertisement, Duplicate Address Detection), overly aggressive ICMP filtering can break basic IPv6 functionality in ways that have no equivalent impact on IPv4.
On Cisco IOS:
show ipv6 interface brief — quickly displays each interface's IPv6 addresses (link-local and any global unicast) and up/down status
show ipv6 interface [interface] — detailed view including prefix information, joined multicast groups, and ND (Neighbor Discovery) settings
show ipv6 route — displays the IPv6 routing table, confirming whether a route to a destination prefix exists
ping ipv6 [address] or simply ping [address] when IPv6 is implied by the address format — tests basic reachability
show ipv6 neighbors — the IPv6 equivalent of the IPv4 ARP cache, showing which link-local/MAC pairings the router has learned via Neighbor Discovery
On Windows clients:
ipconfig /all — displays IPv6 address(es), including link-local, and whether an address was obtained via DHCPv6 or SLAAC
netsh interface ipv6 show address — an alternative way to view configured IPv6 addresses
Exam Alert: Expect show ipv6 interface brief output on the exam where you must identify whether an interface has only a link-local address (IPv6 enabled but no routable address assigned yet) versus a full global unicast address (properly configured and reachable beyond the local segment).
Confirm IPv6 is actually enabled on the interface — check for the presence of a link-local (fe80::/10) address at minimum.
Confirm whether a global unicast address is present; if only link-local exists, the device cannot communicate beyond the local segment.
Verify the prefix length matches what every other device on the same segment is using (typically /64 for LAN segments).
If using SLAAC, confirm the local router is actually sending Router Advertisements and that IPv6 routing/forwarding is enabled on the router.
If Modified EUI-64 is in use, manually calculate the expected interface ID from the known MAC address and compare it against the assigned address to catch calculation or configuration errors.
Check for Duplicate Address Detection failures — an address stuck in a "tentative" state points to a conflict.
Verify no ACL or firewall rule is blocking essential ICMPv6 message types (Neighbor Discovery, Router Advertisement/Solicitation).
Confirm a route to the destination prefix exists using show ipv6 route.
Q1. Which IPv6 address range is reserved for link-local addresses?
A. 2000::/3
B. fc00::/7
C. fe80::/10
D. ff00::/8
Answer: C. Link-local addresses use the fe80::/10 range and are automatically assigned to every IPv6-enabled interface. They are valid only on the local link and are never routed beyond it. 2000::/3 is Global Unicast, fc00::/7 is Unique Local, and ff00::/8 is Multicast.
Q2. A host's MAC address is 00:1A:2B:3C:4D:5E. Using Modified EUI-64 with the prefix 2001:db8:acad:1::/64, what is the resulting interface ID?
A. 001A:2BFF:FE3C:4D5E
B. 021A:2BFF:FE3C:4D5E
C. 001A:2BFE:FF3C:4D5E
D. 021A:2BFE:FF3C:4D5E
Answer: B. Split the MAC into 001A2B and 3C4D5E, insert FFFE in the middle to get 001A2B-FFFE-3C4D5E, then flip the 7th bit of the first byte (00 becomes 02). The result is 021A:2BFF:FE3C:4D5E. Answer A is incorrect because it skips the bit flip; C and D incorrectly place FE before FF.
Q3. Which statement correctly distinguishes stateful DHCPv6 from stateless DHCPv6?
A. Stateful DHCPv6 only provides DNS information; stateless DHCPv6 assigns the full address
B. Stateful DHCPv6 assigns the complete IPv6 address and tracks client leases; stateless DHCPv6 lets the client build its own address via SLAAC and only queries the server for supplementary options like DNS
C. Stateless DHCPv6 requires Modified EUI-64 while stateful DHCPv6 does not use MAC addresses at all
D. There is no functional difference between the two
Answer: B. In stateful DHCPv6, the server assigns and tracks the entire address, just as DHCP does for IPv4. In stateless DHCPv6, the client generates its own address through SLAAC using the router's advertised prefix, and only contacts a DHCPv6 server separately to obtain additional configuration details such as DNS servers.
Q4. An administrator runs show ipv6 interface brief and sees that GigabitEthernet0/1 has only a link-local address, fe80::21a:2bff:fe3c:4d5e, with no global unicast address listed. What is the most likely explanation?
A. The interface is using stateful DHCPv6 successfully
B. The interface has not been assigned a global unicast address, either statically or through SLAAC/DHCPv6
C. The link-local address is invalid and must be removed
D. The interface is configured with a /127 prefix
Answer: B. Every IPv6-enabled interface automatically generates a link-local address regardless of any other configuration. The presence of only a link-local address, with no global unicast address, means the interface has not yet received or been configured with a routable global address — the device can communicate only on the local link, not beyond it.
Q5. An organization is allocated a /48 IPv6 prefix from its ISP and wants to create individual /64 subnets for each internal LAN segment. How many /64 subnets can be created from a single /48 allocation?
A. 256
B. 4,096
C. 65,536
D. 16
Answer: C. A /48 to /64 subnetting split borrows 16 bits (64 minus 48), and 2 to the power of 16 equals 65,536 possible /64 subnets. This is analogous to IPv4 subnetting math, just applied to the much larger IPv6 address space.
Q6. A host's IPv6 address remains stuck in a "tentative" state and never becomes active. What is the most likely cause?
A. The prefix length is too short
B. Duplicate Address Detection detected a conflicting address already in use on the segment
C. The host is using stateless DHCPv6 instead of stateful DHCPv6
D. ICMPv6 is functioning normally
Answer: B. Before finalizing use of a new unicast address, a host performs Duplicate Address Detection by sending a Neighbor Solicitation for its own tentative address. If another device on the segment responds claiming that same address, the address remains marked "tentative" and is never brought into active use, indicating an address conflict rather than a prefix-length or DHCP configuration issue.