Days 31, 32, 33: IPv6
CCNA 200-301 Study Guide: IPv6 Fundamentals and Routing
1.0 Context: IPv6 in the CCNA 200-301 Exam
IPv6 is a core competency woven throughout the CCNA curriculum. Understanding both the theory and practical configuration is essential for success in the following domains:
|
Domain |
Name |
Weight |
|
1.0 |
Network Fundamentals |
20% |
|
2.0 |
Network Access |
20% |
|
3.0 |
IP Connectivity |
25% |
Concepts are distributed across notation, address types, stateless autoconfiguration (SLAAC), and Neighbor Discovery Protocol (NDP).
2.0 The Architectural Shift: Header Improvements
IPv6 was designed to solve IPv4 address exhaustion, providing a 128-bit address space ($2^{128}$ addresses). It also introduced a more efficient, fixed-size 40-byte header.
Key Header Changes
-
No Checksum: Error checking is handled at Layer 2 and Layer 4, reducing CPU overhead at every Layer 3 hop.
-
Hop Limit: Replaces "Time to Live" (TTL). It performs the same function: preventing infinite loops.
-
Next Header: Replaces the "Protocol" field. It identifies the payload (TCP, UDP, ICMPv6) or chains extension headers.
-
Flow Label: A 20-bit field that allows routers to identify and prioritize specific traffic flows for Quality of Service (QoS).
3.0 Mastering IPv6 Notation
Because a 128-bit address is too long to write in full, RFC 5952 defines rules for compression.
-
Rule 1: Omit Leading Zeros: In any 16-bit hextet, leading zeros are unnecessary.
-
Example: 0db8 becomes db8.
-
-
Rule 2: The Double Colon (::): A single contiguous string of all-zero hextets can be replaced with ::.
-
Constraint: This can only be used once per address to avoid ambiguity.
-
-
Rule 3: Use Lowercase: Characters a through f should be lowercase for a consistent representation.
Example Compression:
-
Full: 2001:0db8:0000:0000:0000:ff00:0042:8329
-
Compressed: 2001:db8::ff00:42:8329
4.0 A Taxonomy of IPv6 Address Types
IPv6 eliminates Broadcast addresses, replacing them with more efficient Multicast methods.
4.1 Unicast (One-to-One)
|
Unicast Type |
Address Range |
Description |
|
Global Unicast (GUA) |
2000::/3 |
Publicly routable on the internet. |
|
Unique Local (ULA) |
fc00::/7 |
Private addresses for internal use; typically starts with fd. |
|
Link-Local (LLA) |
fe80::/10 |
Automatic for local link communication. Not routable. |
|
Loopback |
::1/128 |
Equivalent to 127.0.0.1. |
4.2 Multicast (One-to-Many)
All multicast addresses begin with ff00::/8.
-
ff02::1: All Nodes (local link).
-
ff02::2: All Routers (local link).
-
ff02::1:ffxx:xxxx: Solicited-Node Multicast (used for address resolution).
4.3 Anycast (One-to-Nearest)
A single address assigned to multiple devices. Routers deliver the packet to the topologically "closest" device.
5.0 Interface ID and Address Assignment
5.1 Modified EUI-64 Process
A device can generate its own unique 64-bit Interface ID from its 48-bit MAC address:
-
Split the MAC address in half.
-
Insert fffe in the middle.
-
Flip the 7th bit (Universal/Local bit).
5.2 Assignment Methods
-
SLAAC: Host uses Router Advertisement (RA) messages to learn the prefix and generates its own Interface ID.
-
Stateless DHCPv6: Host uses SLAAC for its IP, but asks DHCP for "other" info (DNS, Domain Name).
-
Stateful DHCPv6: Host obtains its full configuration (including IP) from a DHCPv6 server.
6.0 Neighbor Discovery Protocol (NDP)
NDP replaces ARP and operates over ICMPv6. It uses targeted multicasts instead of noisy broadcasts.
|
Message Type |
ICMPv6 Type |
Purpose |
|
Neighbor Solicitation (NS) |
135 |
"Who has this IP?" (ARP Request equivalent). |
|
Neighbor Advertisement (NA) |
136 |
"I have that IP, here is my MAC." (ARP Reply equivalent). |
|
Router Solicitation (RS) |
133 |
Host asks, "Are there any routers here?" |
|
Router Advertisement (RA) |
134 |
Router says, "I am here, use this prefix." |
7.0 Practical Application: CLI Reference
Global Configuration
# Mandatory command to allow the router to forward IPv6 packets
Router(config)# ipv6 unicast-routing
# Static Default Route
Router(config)# ipv6 route ::/0 <next-hop>
# Standard Static Route
Router(config)# ipv6 route <prefix>/64 <next-hop>
Interface Configuration
Router(config-if)# ipv6 enable # Generates an LLA only
Router(config-if)# ipv6 address 2001:db8:1::1/64 # Static GUA
Router(config-if)# ipv6 address autoconfig # Use SLAAC
Router(config-if)# ipv6 address fe80::1 link-local # Manually set LLA
Verification
-
show ipv6 interface brief: High-level status check.
-
show ipv6 route: View the IPv6 routing table.
-
show ipv6 neighbors: View the Neighbor Cache (equivalent to the ARP table).
8.0 Conclusion: Core Takeaways
-
Link-Local Addresses (fe80::/10) are mandatory for local communication and serve as the next-hop for routing protocols.
-
ipv6 unicast-routing must be enabled globally for a Cisco device to function as a router.
-
NDP replaces ARP, using Solicited-Node Multicasts for efficiency.
-
Header Efficiency: Removing the checksum and fixing the header size at 40 bytes improves core routing performance.