Skip to main content

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:

  1. Split the MAC address in half.

  2. Insert fffe in the middle.

  3. 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