Opening Framing: Why IPv4 Cannot Scale and What Replaces It
IPv4 provides approximately 4.3 billion addresses. That number sounded enormous when the protocol was designed in 1981, but it has been insufficient for over a decade. The five Regional Internet Registries (RIRs) have exhausted their general-purpose IPv4 pools. New networks today either acquire IPv4 addresses on a secondary market at increasing cost or deploy IPv6 — the protocol designed from the ground up to solve the address exhaustion problem and improve several operational weaknesses of IPv4.
IPv6 is not merely "IPv4 with more bits." It uses a different header format, a different approach to address configuration, a different relationship between hosts and routers, and a different strategy for local-link communication. The 128-bit address space is the most visible change, but the design philosophy behind IPv6 — stateless configuration, mandatory link-local addressing, and the elimination of broadcast — shapes how modern networks operate.
This week establishes the foundation for working with IPv6 addresses: reading them, abbreviating them, classifying them, and understanding how a device can configure its own globally routable address without a DHCP server. Every major cloud provider, mobile carrier, and content delivery network already runs IPv6 in production. A networking graduate who cannot read and configure IPv6 addresses is working with an incomplete toolkit.
Learning Outcomes
- LO1: Explain why IPv4 address exhaustion forced the development of IPv6 and why NAT is not a permanent solution.
- LO2: Read, write, and abbreviate IPv6 addresses using leading-zero suppression and the double-colon (::) rule.
- LO3: Distinguish the three main IPv6 address types — Global Unicast (GUA), Link-Local (LLA), and Multicast — and explain when each is used.
- LO4: Describe how SLAAC and EUI-64 allow a host to generate its own IPv6 address without manual configuration or a DHCP server.
- LO5: Configure and verify IPv6 Global Unicast and Link-Local addresses on router interfaces and hosts in Packet Tracer or a lab environment.
Key insight: IPv6 is not a future protocol — it is a present protocol that most students have already used without realizing it.
1) Why IPv4 Exhaustion Happened and Why NAT Is Not the Answer
The IPv4 address space contains 2^32 addresses (4,294,967,296). That number must cover every server, router interface, IoT sensor, mobile phone, and workstation on the planet. After reserving private ranges (RFC 1918), multicast, loopback, and other special-use blocks, the routable pool is significantly smaller. The Internet Assigned Numbers Authority (IANA) allocated its last blocks of IPv4 space to the RIRs in February 2011. By 2020, all five RIRs had effectively exhausted their general allocation pools.
Network Address Translation (NAT) has served as a temporary relief valve by allowing many private hosts to share a single public IPv4 address. NAT works, but it introduces operational costs that IPv6 eliminates:
| NAT limitation | Operational impact | How IPv6 solves it |
|---|---|---|
| Breaks end-to-end connectivity | Hosts behind NAT cannot be reached directly from the internet without port forwarding or STUN/TURN | Every IPv6 host can have a globally routable address; no translation needed |
| Complicates peer-to-peer protocols | VoIP, video conferencing, and gaming require NAT traversal hacks that increase latency and complexity | Direct host-to-host communication works natively |
| Hides source identity | Security logging and forensics become harder when thousands of users share one public IP | Each host has a unique address, simplifying attribution |
| Adds state to the network | NAT devices must track every active session; failure drops all sessions | Routers forward statelessly based on destination address |
| Cannot scale indefinitely | Carrier-grade NAT (CGNAT) introduces double translation and port exhaustion | 2^128 addresses eliminates scarcity entirely |
IPv6 provides 2^128 addresses — approximately 3.4 x 10^38. That is roughly 670 quadrillion addresses per square millimeter of the Earth's surface. The address space is large enough that wasteful allocation strategies are acceptable by design, which is intentional: it allows simple, hierarchical addressing without the conservation pressure that shaped IPv4.
2) IPv6 Address Format: 128 Bits in Hexadecimal
An IPv6 address is 128 bits long, written as eight groups of four hexadecimal digits separated by colons. Each group is called a hextet (16 bits). Unlike IPv4's dotted-decimal notation, IPv6 uses hexadecimal (base-16) because writing 128 bits in decimal would produce unwieldy numbers.
Full IPv6 address example
2001:0DB8:0000:0000:0000:0000:0000:0001
Breakdown:
- 8 hextets, each containing 4 hex digits
- Each hextet represents 16 bits
- Total: 8 x 16 = 128 bits
- Hex digits: 0-9 and A-F (case-insensitive)
Hexadecimal refresher:
Decimal: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Hex: 0 1 2 3 4 5 6 7 8 9 A B C D E F
Abbreviation Rules
Full IPv6 addresses are long, so two abbreviation rules make them manageable. Both rules are applied when reading or writing addresses in configuration, documentation, and packet captures.
Rule 1 — Leading Zero Suppression: Within each hextet, leading zeros can
be removed. The hextet 0DB8 becomes DB8. The hextet
0000 becomes 0. Trailing zeros are not removed —
D800 stays D800.
Rule 2 — Double Colon (::): One contiguous sequence of all-zero hextets
can be replaced by ::. This can only be used once per address
because using it twice would make the address ambiguous — the reader would not know how
many zero hextets each :: represents.
Abbreviation examples
Full: 2001:0DB8:0000:0000:0000:0000:0000:0001
Rule 1: 2001:DB8:0:0:0:0:0:1
Rule 1 + 2: 2001:DB8::1
Full: FE80:0000:0000:0000:00AA:0000:0000:0001
Rule 1: FE80:0:0:0:AA:0:0:1
Rule 1 + 2: FE80::AA:0:0:1
(:: replaces the first contiguous run of zero hextets: positions 2-4)
Note: Cannot also replace the zeros at positions 6-7 with a second ::
Full: 0000:0000:0000:0000:0000:0000:0000:0001
Rule 1 + 2: ::1
(The IPv6 loopback address — equivalent to 127.0.0.1 in IPv4)
Full: 0000:0000:0000:0000:0000:0000:0000:0000
Rule 1 + 2: ::
(The IPv6 unspecified address — equivalent to 0.0.0.0 in IPv4)
Students sometimes abbreviate 2001:0DB8:0000:1234:0000:0000:0000:0001
as 2001:DB8::1234::1. This is invalid because :: appears
twice. The correct abbreviation is 2001:DB8:0:1234::1 — the single
:: replaces the longest run of consecutive zero hextets.
Expanding an Abbreviated Address
To expand an abbreviated IPv6 address back to its full 32-hex-digit form, reverse the rules:
- If
::is present, count how many hextets are already visible. The::represents enough zero hextets to bring the total to 8. - Restore leading zeros in each hextet to make every hextet exactly 4 digits.
Expansion example
Abbreviated: 2001:DB8::1
Step 1: 3 hextets visible (2001, DB8, 1) → :: represents 5 zero hextets
2001:DB8:0:0:0:0:0:1
Step 2: Restore leading zeros
2001:0DB8:0000:0000:0000:0000:0000:0001
3) IPv6 Address Types: GUA, Link-Local, and Multicast
IPv6 does not use broadcast. Instead, it uses three primary address categories, each serving a distinct operational role. Understanding when each type is used is essential for configuring interfaces, troubleshooting connectivity, and designing network segments.
| Address type | Prefix | Scope | Purpose |
|---|---|---|---|
| Global Unicast (GUA) | 2000::/3 |
Internet-wide | Publicly routable; equivalent to a public IPv4 address |
| Link-Local (LLA) | FE80::/10 |
Single link only | Mandatory on every IPv6 interface; used for neighbor discovery and routing protocol communication |
| Multicast | FF00::/8 |
Varies (link, site, global) | One-to-many delivery; replaces IPv4 broadcast |
| Unique Local (ULA) | FC00::/7 (commonly FD00::/8) |
Organization-internal | Similar to RFC 1918 private addresses in IPv4; not routable on the internet |
| Loopback | ::1/128 |
Host-only | Traffic to self; equivalent to 127.0.0.1 |
| Unspecified | ::/128 |
None | Used as a source address before an interface has a configured address |
Global Unicast Addresses (GUA)
GUAs are the IPv6 equivalent of public IPv4 addresses. They begin with a prefix in the
2000::/3 range (any address starting with hex digits 2 or 3). A typical GUA
has three logical parts:
GUA structure (typical /64 assignment)
|<--- 48 bits --->|<- 16 bits ->|<------ 64 bits ------>|
| Global Routing | Subnet ID | Interface ID |
| Prefix | | |
Example: 2001:0DB8:AAAA:0001:0000:0000:0000:0025/64
Global Routing Prefix: 2001:0DB8:AAAA (assigned by ISP/RIR)
Subnet ID: 0001 (chosen by the organization)
Interface ID: 0000:0000:0000:0025 (identifies the host)
The /64 boundary is significant: the first 64 bits identify the network, and the last 64 bits identify the interface. This split is assumed by SLAAC, Neighbor Discovery, and most IPv6 operations. Deviating from /64 on LAN segments breaks autoconfiguration and is generally avoided.
Link-Local Addresses (LLA)
Every IPv6-enabled interface automatically generates a Link-Local address in the
FE80::/10 range. Link-Local addresses are never forwarded by routers — they
exist only on the directly connected link. Despite this limited scope, LLAs are critical:
- Routing protocols (OSPFv3, EIGRPv6) use LLAs as next-hop addresses.
- Neighbor Discovery Protocol (NDP) operates entirely on LLAs.
- Default gateways in IPv6 are specified as LLAs, not GUAs.
- LLAs work even when no GUA is configured — a link can function locally before any global addressing is deployed.
In IPv4, a host without a configured IP address cannot communicate at all. In IPv6, every interface has a Link-Local address the moment IPv6 is enabled. This means local-link communication, neighbor discovery, and routing protocol adjacencies work immediately, before any global addressing is assigned.
Multicast Addresses
IPv6 eliminates broadcast entirely. Where IPv4 used 255.255.255.255 or
directed broadcasts, IPv6 uses multicast groups. A multicast address identifies a group
of listeners; only devices that have joined the group process the traffic. Key multicast
addresses include:
| Multicast address | Name | Who listens |
|---|---|---|
FF02::1 |
All Nodes | Every IPv6 device on the link (similar to broadcast) |
FF02::2 |
All Routers | Only routers on the link |
FF02::5 |
OSPFv3 All Routers | OSPF-speaking routers on the link |
FF02::1:FFxx:xxxx |
Solicited-Node | Hosts whose address ends with the same last 24 bits (used by NDP instead of ARP) |
Because IPv6 uses multicast instead of broadcast, functions like address resolution (NDP replaces ARP) only reach the specific target host's solicited-node group, not every device on the LAN. This reduces unnecessary processing on large segments.
4) SLAAC: Stateless Address Autoconfiguration
One of the most significant design improvements in IPv6 is that a host can configure its own globally routable address without a DHCP server. This mechanism is called Stateless Address Autoconfiguration (SLAAC), defined in RFC 4862. The word "stateless" means the router does not track which addresses it has assigned — it simply advertises the network prefix, and hosts generate their own addresses independently.
How SLAAC Works Step by Step
- Interface comes up. The host generates a Link-Local address (FE80::/10) and performs Duplicate Address Detection (DAD) to ensure uniqueness on the link.
-
Router Solicitation (RS). The host sends a Router Solicitation
message (ICMPv6 Type 133) to the All Routers multicast address (
FF02::2), asking: "Are there any routers on this link? What prefix should I use?" -
Router Advertisement (RA). The router responds with a Router
Advertisement (ICMPv6 Type 134) containing the network prefix (e.g.,
2001:DB8:1::/64), the prefix length, the default gateway (the router's own LLA), and flags indicating whether to use SLAAC, DHCPv6, or both. - Host generates its Interface ID. The host creates the last 64 bits of its address using either EUI-64 (derived from its MAC address) or a random value (privacy extensions, RFC 4941). It combines the prefix from the RA with its self-generated Interface ID.
- Duplicate Address Detection (DAD). Before using the new GUA, the host sends a Neighbor Solicitation for its own address. If no reply arrives, the address is unique and the host begins using it.
SLAAC example
Router advertises prefix: 2001:DB8:CAFE:1::/64
Host MAC address: 00:1A:2B:3C:4D:5E
EUI-64 process:
1. Split MAC in half: 00:1A:2B | 3C:4D:5E
2. Insert FF:FE in middle: 00:1A:2B:FF:FE:3C:4D:5E
3. Flip the 7th bit (U/L): 02:1A:2B:FF:FE:3C:4D:5E
Resulting Interface ID: 021A:2BFF:FE3C:4D5E
Complete GUA: 2001:DB8:CAFE:1:21A:2BFF:FE3C:4D5E/64
The host configured this address entirely on its own.
No DHCP server was involved.
Because EUI-64 embeds the MAC address in the IPv6 address, a device's hardware identity is visible in every packet it sends. Modern operating systems (Windows 10+, macOS, Linux) default to privacy extensions (RFC 4941), which generate a random Interface ID instead. The random address is rotated periodically to make tracking harder. You will see both formats in packet captures.
5) EUI-64 in Detail: From MAC Address to Interface ID
EUI-64 (Extended Unique Identifier — 64 bits) is the original method for generating the Interface ID portion of an IPv6 address from a device's 48-bit MAC address. Even though privacy extensions have largely replaced EUI-64 on end-user devices, it is still used on router interfaces and in environments where stable, predictable addressing is preferred. Understanding the conversion process is required for the CCNA and for reading addresses in production networks.
The Three-Step Conversion
-
Split the MAC address in half.
MAC:AA:BB:CC:DD:EE:FF
Left half:AA:BB:CC| Right half:DD:EE:FF -
Insert FF:FE in the middle.
Result:AA:BB:CC:FF:FE:DD:EE:FF
This expands the 48-bit MAC into a 64-bit identifier. -
Flip the 7th bit (Universal/Local bit).
The 7th bit of the first byte indicates whether the address is universally or locally administered. In EUI-64, this bit is inverted.
IfAAin binary is10101010, flipping bit 7 gives10101000=A8.
Final Interface ID:A8BB:CCFF:FEDD:EEFF
Practice conversion
MAC address: 00:50:56:C0:00:08
Step 1: Split
Left: 00:50:56
Right: C0:00:08
Step 2: Insert FF:FE
00:50:56:FF:FE:C0:00:08
Step 3: Flip 7th bit of first byte
First byte: 00 = 00000000
Flip bit 7: 00000010 = 02
Result: 02:50:56:FF:FE:C0:00:08
Interface ID: 0250:56FF:FEC0:0008
If prefix is 2001:DB8:A:1::/64
Complete GUA: 2001:DB8:A:1:250:56FF:FEC0:8
| Method | Interface ID source | Stable? | Privacy risk | Typical use |
|---|---|---|---|---|
| EUI-64 | Derived from MAC address | Yes — same MAC always produces the same ID | High — MAC is embedded and trackable | Router interfaces, servers, IoT |
| Privacy extensions (RFC 4941) | Random value, rotated periodically | No — changes over time | Low — not tied to hardware | Workstations, laptops, mobile devices |
| Manual | Administrator-chosen value | Yes | None inherently | Infrastructure, documentation clarity |
6) Configuration and Verification: IPv6 on Cisco IOS and Hosts
Configuring IPv6 on a Cisco router requires enabling IPv6 routing globally and then assigning addresses to interfaces. Unlike IPv4, where routing is enabled by default, IPv6 routing must be explicitly turned on. Without it, the router will not forward IPv6 packets or send Router Advertisements.
Router Configuration
! Enable IPv6 routing globally (required once)
Router(config)# ipv6 unicast-routing
! Configure a GUA on an interface
Router(config)# interface g0/0
Router(config-if)# ipv6 address 2001:DB8:CAFE:1::1/64
Router(config-if)# no shutdown
! Configure using EUI-64 (router generates Interface ID from MAC)
Router(config)# interface g0/1
Router(config-if)# ipv6 address 2001:DB8:CAFE:2::/64 eui-64
Router(config-if)# no shutdown
! Configure a Link-Local address manually (optional — auto-generated if not set)
Router(config)# interface g0/0
Router(config-if)# ipv6 address FE80::1 link-local
Verification Commands
Cisco IOS:
show ipv6 interface brief
Displays all interfaces with their IPv6 addresses and status
show ipv6 interface g0/0
Detailed view: GUA, LLA, multicast groups joined, MTU, DAD status
show ipv6 route
IPv6 routing table (connected, static, and dynamic routes)
show ipv6 neighbors
IPv6 neighbor cache (equivalent to "show ip arp" in IPv4)
Windows:
ipconfig /all
Shows both IPv4 and IPv6 addresses, including LLA and GUA
Linux / macOS:
ip -6 addr
Shows all IPv6 addresses per interface
ip -6 neigh
Shows the IPv6 neighbor cache
Example: show ipv6 interface brief
Router# show ipv6 interface brief
GigabitEthernet0/0 [up/up]
FE80::1
2001:DB8:CAFE:1::1
GigabitEthernet0/1 [up/up]
FE80::250:56FF:FEC0:8
2001:DB8:CAFE:2:250:56FF:FEC0:8
Loopback0 [up/up]
FE80::1
2001:DB8:CAFE:FF::1
Note: Each interface has both a Link-Local and a Global Unicast address.
The LLA on g0/1 was auto-generated via EUI-64; the GUA was too.
| Verification task | Command | What to confirm |
|---|---|---|
| Interface has both LLA and GUA | show ipv6 interface brief |
Two addresses listed per interface (FE80:: and 2001:: or similar) |
| IPv6 routing is enabled | show ipv6 route |
Connected routes appear for configured subnets |
| Neighbor discovery is working | show ipv6 neighbors |
Entries appear after pinging adjacent devices |
| End-to-end connectivity | ping ipv6 2001:DB8:CAFE:2::10 |
Replies received with no packet loss |
| Host received SLAAC address | ipconfig /all (Windows) |
GUA matches the router's advertised prefix with a self-generated Interface ID |
The most common IPv6 configuration mistake on Cisco routers is forgetting to enable
ipv6 unicast-routing. Without it, the router acts as a host — it will
accept IPv6 addresses on interfaces but will not forward IPv6 packets or send Router
Advertisements. Hosts on connected subnets will never receive SLAAC prefixes.
7) Troubleshooting and Failure Modes
IPv6 troubleshooting follows the same logical approach as IPv4, but the common failure patterns differ because of SLAAC, mandatory LLA, and the absence of broadcast. The table below maps symptoms to likely causes and the first diagnostic step.
| Symptom | Likely cause | First diagnostic step |
|---|---|---|
| Host has LLA but no GUA | Router is not sending RAs (ipv6 unicast-routing not enabled, or interface is down) | On the router, verify ipv6 unicast-routing is configured and the interface is up with a GUA |
| Ping to LLA works but ping to GUA fails | GUA is misconfigured, or routing table is missing the remote prefix | Check show ipv6 route for connected and remote routes; verify GUA configuration on both ends |
| Duplicate Address Detected (DAD) failure | Another device on the link already has the same IPv6 address | Check show ipv6 neighbors for conflicting entries; verify no static address collision |
| Host cannot reach off-link destinations | No default gateway learned (RA not received or gateway LLA not in neighbor cache) | On the host, check ipconfig /all or ip -6 route for a default route pointing to the router's LLA |
| EUI-64 address does not match expected value | MAC address is different than assumed, or the 7th-bit flip was done incorrectly | Verify the interface MAC with show interface g0/0 and redo the EUI-64 calculation |
| IPv6 ping fails with "% Invalid input" on Cisco | Using ping instead of ping ipv6 on older IOS versions |
Use ping ipv6 <address> explicitly, or use ping <address> on modern IOS that auto-detects |
IPv6 Troubleshooting Workflow
- Verify the interface is up and has both a LLA and a GUA:
show ipv6 interface brief - Verify
ipv6 unicast-routingis enabled on all routers. - Ping the local LLA of the default gateway from the host. If this fails, the issue is Layer 2 or interface-level.
- Ping a remote GUA. If this fails, check the routing table on the router for the remote prefix.
- If SLAAC is not working, verify the router interface has a GUA configured — the router advertises the prefix from the GUA on the interface.
- Check for DAD conflicts if an address mysteriously stops working after it was initially assigned.
Real-World Design Context: IPv6 Deployment in Practice
IPv6 is not a lab curiosity. It carries a significant and growing share of real internet traffic. Understanding the practical deployment landscape helps you see why this week's material matters beyond exam preparation.
- Dual-stack is the dominant transition strategy. Most enterprise and carrier networks run IPv4 and IPv6 simultaneously on every device. This avoids a flag-day cutover and lets services migrate incrementally. A dual-stack host has both an IPv4 address and an IPv6 GUA and uses the appropriate protocol based on DNS results and Happy Eyeballs (RFC 6555).
- Mobile networks are IPv6-first. Major carriers (T-Mobile, Reliance Jio, Verizon) assign IPv6 addresses natively to mobile devices and use NAT64/DNS64 to reach IPv4-only servers. Your phone is likely using IPv6 right now.
- Cloud providers require IPv6 readiness. AWS VPCs, Azure VNets, and GCP networks all support dual-stack. New services increasingly require IPv6 for global reachability and simplified architecture.
- Security implications differ from IPv4. Every host can have a globally routable address, which means host-level firewalling becomes critical. The NAT-as-firewall assumption from IPv4 does not apply. IPv6 security is covered in depth in NET202.
- Tunneling as a transition mechanism. Technologies like 6to4, ISATAP, and Teredo tunnel IPv6 packets inside IPv4 headers to cross IPv4-only infrastructure. These are transitional — the goal is native IPv6 everywhere — but they appear in real networks and in packet captures.
Google's IPv6 statistics show that over 45% of traffic to Google services arrives via IPv6. In countries like India, France, and the United States, adoption exceeds 50%. The transition is well underway, and new deployments that ignore IPv6 are building technical debt.
Guided Lab: Configuring IPv6 GUA and LLA in Packet Tracer
Goal: Configure IPv6 addressing on a two-router, two-LAN topology using both manual and SLAAC-based addressing. Verify connectivity and inspect the IPv6 neighbor cache.
Topology
[PC1] ---- [SW1] ---- [R1] ---- [R2] ---- [SW2] ---- [PC2]
g0/0 s0/0 s0/0 g0/0
Subnet plan:
R1 g0/0 (LAN A): 2001:DB8:A:1::/64
R1-R2 WAN link: 2001:DB8:A:FF::/64
R2 g0/0 (LAN B): 2001:DB8:A:2::/64
Part A: Configure the Routers
- On R1, enable IPv6 routing:
R1(config)# ipv6 unicast-routing - Configure R1's LAN interface:
R1(config)# interface g0/0R1(config-if)# ipv6 address 2001:DB8:A:1::1/64R1(config-if)# no shutdown - Configure R1's WAN interface:
R1(config)# interface s0/0/0R1(config-if)# ipv6 address 2001:DB8:A:FF::1/64R1(config-if)# no shutdown - Repeat for R2 with appropriate addresses:
g0/0:2001:DB8:A:2::1/64
s0/0/0:2001:DB8:A:FF::2/64 - Add static routes for end-to-end reachability:
R1(config)# ipv6 route 2001:DB8:A:2::/64 2001:DB8:A:FF::2R2(config)# ipv6 route 2001:DB8:A:1::/64 2001:DB8:A:FF::1
Part B: Verify Router Configuration
- On both routers, run
show ipv6 interface briefand confirm each interface shows both a LLA (FE80::) and a GUA (2001:DB8::). - Run
show ipv6 routeand confirm connected routes for local subnets and static routes for remote subnets. - Ping from R1 to R2's WAN address:
ping ipv6 2001:DB8:A:FF::2 - Ping from R1 to R2's LAN address:
ping ipv6 2001:DB8:A:2::1
Part C: Configure Hosts via SLAAC
- On PC1, set the IPv6 configuration to "Auto" (SLAAC). The host should automatically receive a GUA in the
2001:DB8:A:1::/64prefix. - On PC2, do the same for the
2001:DB8:A:2::/64prefix. - Verify on each PC: open the command prompt and run
ipconfig /all. Confirm the GUA prefix matches the router's LAN prefix and the default gateway is the router's LLA.
Part D: End-to-End Connectivity Test
- From PC1, ping PC2's GUA. Verify replies are received.
- On R1, run
show ipv6 neighborsto see the neighbor cache entries for PC1 and R2. - Use Packet Tracer simulation mode to watch the packet traverse R1 and R2, and note that:
- The IPv6 source and destination addresses stay the same across all hops.
- The Ethernet MAC addresses change at each Layer 3 hop (same principle as IPv4).
Deliverable
A short report containing: the IPv6 addressing table for all interfaces, screenshots of
show ipv6 interface brief and show ipv6 route on both routers,
the SLAAC-assigned address on each host, and a successful end-to-end ping result.
Week 8 Outcome Check
By the end of this week, you should be able to:
- Explain why IPv4 exhaustion happened and why NAT is an incomplete solution
- Read, abbreviate, and expand any IPv6 address correctly
- Identify whether an address is a GUA, LLA, multicast, ULA, or loopback from its prefix
- Describe the SLAAC process from Router Solicitation to address assignment
- Perform an EUI-64 conversion from a MAC address to an Interface ID
- Configure IPv6 GUA and LLA addresses on Cisco router interfaces
- Verify IPv6 connectivity and troubleshoot common issues (missing RAs, DAD failures, routing gaps)
Next week covers ICMP, Ping, and Traceroute — the essential troubleshooting tools that operate at Layer 3 for both IPv4 and IPv6.
Hands-On Labs
Use these activities to build fluency with IPv6 addressing and configuration.
Lab 1: IPv6 Abbreviation and Expansion Drill
Task: Given 10 full IPv6 addresses, abbreviate each to its shortest valid form. Given 5 abbreviated addresses, expand each to the full 32-hex-digit form. Verify your work by confirming each address has exactly 128 bits.
Deliverable: A completed worksheet with abbreviation and expansion for all 15 addresses.
Why it matters: Misreading or mis-abbreviating IPv6 addresses causes configuration errors that are difficult to spot in production.
Time estimate: 20-25 minutes
Lab 2: EUI-64 Conversion Practice
Task: Convert 5 MAC addresses into EUI-64 Interface IDs. Then combine each with a given /64 prefix to produce the complete GUA. Verify by checking that the FF:FE insertion and 7th-bit flip are correct.
Deliverable: A table showing each MAC, the intermediate steps, and the final IPv6 address.
Why it matters: EUI-64 appears on router interfaces and in packet captures. Being able to reverse-engineer a MAC from an IPv6 address is a useful diagnostic skill.
Time estimate: 25-30 minutes
Lab 3: Full IPv6 Topology in Packet Tracer
Task: Build the guided lab topology (two routers, two LANs, one WAN). Configure all addresses manually on routers and use SLAAC on hosts. Verify end-to-end IPv6 ping. Then add a third LAN with a third router and extend the addressing plan.
Deliverable: A complete addressing table, screenshots of show ipv6 interface brief on all routers, and a successful ping from the first LAN to the third LAN.
Why it matters: Hands-on configuration builds muscle memory and reveals misconfiguration patterns that reading alone cannot expose.
Time estimate: 45-60 minutes
Checkpoint Questions
- Why is NAT not a permanent solution to IPv4 address exhaustion? Name two operational problems NAT introduces.
- Abbreviate the following address to its shortest valid form:
2001:0DB8:0000:00A1:0000:0000:0000:0001 - Expand the following abbreviated address to its full 32-hex-digit form:
FE80::1 - What is the difference between a Global Unicast Address and a Link-Local Address? Can a router forward a Link-Local address to another network?
- Describe the SLAAC process in four steps, starting from when a host's interface comes up.
- Given the MAC address
00:AA:BB:CC:DD:EE, what is the EUI-64 Interface ID? Show your work. - Why do modern operating systems use privacy extensions instead of EUI-64 for generating IPv6 addresses on workstations?
- A host has a Link-Local address but no Global Unicast Address. The router interface is up with a GUA configured. What is the most likely cause?
Weekly Reflection
Reflection prompt (200-300 words):
This week introduced IPv6 as both a technical protocol and a fundamental shift in how networks assign and manage addresses. Reflect on what changes and what stays the same when moving from IPv4 to IPv6.
- Why was it not sufficient to simply make IPv4 addresses longer? What other design problems does IPv6 address?
- How does SLAAC change the relationship between hosts and the network infrastructure compared to DHCP in IPv4?
- What new security considerations arise when every host can have a globally routable address?
- If you were deploying a new office network today, would you deploy IPv6-only, dual-stack, or IPv4-only? What factors inform your choice?
A strong reflection should connect the technical mechanics of IPv6 to the operational and design decisions that determine how networks are built and secured.
Recommended References
- RFC 8200: Internet Protocol, Version 6 (IPv6) Specification — the current IPv6 base specification (supersedes RFC 2460).
- RFC 4862: IPv6 Stateless Address Autoconfiguration — the SLAAC specification describing Router Solicitation, Router Advertisement, and DAD.
- RFC 4941: Privacy Extensions for Stateless Address Autoconfiguration in IPv6 — explains randomized Interface IDs and why they replaced EUI-64 on end-user devices.
- RFC 4291: IP Version 6 Addressing Architecture — defines GUA, LLA, multicast, and all other IPv6 address types and their scopes.
- Google IPv6 Statistics: Google IPv6 Adoption Dashboard — real-time data on global IPv6 adoption rates.
- Cisco Networking Academy: Networking Basics — structured IPv6 modules covering addressing, SLAAC, and dual-stack configuration aligned with CCNA Day 31-33.
- RIPE NCC IPv6 Info Centre: IPv6 Information Centre — practical deployment guides and best practices from one of the five Regional Internet Registries.
Read RFC 4291 section 2 alongside your Packet Tracer lab. Seeing the address types defined in the standard and then configuring them on live interfaces builds lasting understanding.
Week 08 Quiz
Test your understanding of IPv6 address formats, address types, SLAAC, EUI-64, and basic IPv6 configuration.
Take Week 08 Quiz