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 # Standard Static Route Router(config)# ipv6 route /64 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.