SkarpSkarp

Chapter 5 of 27

IPv6 Fundamentals: Address Types, Notation, and Basic Configuration

Demystify IPv6 by learning its address structure, common address types, and how to configure and verify IPv6 connectivity alongside IPv4.

27 min readen

Why IPv6 Matters (Especially for CCNA)

IPv6 is Now

IPv6 is actively deployed and fully part of the current CCNA. You will see it in real networks and on the exam, usually running alongside IPv4 in dual-stack mode.

Why We Needed IPv6

IPv4’s 32-bit space is too small. IPv6 uses 128-bit addresses, solving address exhaustion and removing the need for many IPv4 conservation tricks like heavy NAT.

What You Must Master

For CCNA, you must read/compress IPv6 addresses, recognize major address types, plan simple subnets by prefix length, and configure/verify IPv6 on Cisco gear.

Real-World Context

By 2026, many ISPs and content providers run IPv6 at scale. Most enterprise networks are still dual-stack, making IPv6 a practical, not theoretical, skill.

IPv6 Address Structure and Notation

IPv6 Format Overview

An IPv6 address is 128 bits, written as 8 groups of 4 hex digits (hextets) separated by colons, such as `2001:0db8:0000:0000:0000:ff00:0042:8329`.

Hex and Hextets

Each hex digit is 4 bits; each hextet (4 hex digits) is 16 bits. 8 hextets × 16 bits = 128 bits, much larger than IPv4’s 32-bit address space.

Rule 1: Leading Zeros

Within a hextet, you may drop leading zeros: `0db8` → `db8`, `0042` → `42`, `0000` → `0`. This makes addresses shorter but still unambiguous.

Rule 2: :: Compression

You may replace one contiguous run of all-zero hextets with `::`. Example: `2001:db8:0:0:0:ff00:42:8329` → `2001:db8::ff00:42:8329`.

Only Once!

You can use `::` only once in an address. On exams, answers with `::` twice are invalid. You should also practice expanding compressed addresses back to 8 hextets.

Practice: Compress and Expand IPv6 Addresses

Work through these mentally (or on scratch paper), then check yourself against the explanations.

  1. Compress this address:
  • `fe80:0000:0000:0000:0214:22ff:fe33:44aa`
  • Steps to think through:
  1. Remove leading zeros in each hextet.
  2. Identify the longest run of all-zero hextets and replace it with `::` (only once).
  1. Expand this address to full 8 hextets:
  • `2001:db8::1`
  • Steps to think through:
  1. Count how many hextets you see.
  2. Insert enough `0000` hextets where `::` appears so the total is 8.
  3. Pad each hextet with leading zeros to 4 hex digits.
  1. Compare two compressed forms:
  • Are `2001:db8:0:0:1::1` and `2001:db8::1:0:0:1` both valid? Are they equal?
  • Think: does either use `::` more than once? Do they expand to the same full form?

Take 2–3 minutes to solve these before revealing the guidance below.

Suggested answers (check yourself):

  1. `fe80:0000:0000:0000:0214:22ff:fe33:44aa` → `fe80::214:22ff:fe33:44aa`
  2. `2001:db8::1` → `2001:0db8:0000:0000:0000:0000:0000:0001`
  3. Both forms are syntactically valid (each uses `::` once), but they are not equal; they expand to different patterns of zero hextets. On the exam, different compressions of the same address are equivalent, but changed zero positions mean a different address.

Major IPv6 Address Types and Their Prefixes

Global Unicast

Global unicast addresses are internet-routable, similar to public IPv4. They live in `2000::/3`, so you’ll see prefixes like `2001:` or `2400:` on CCNA questions.

Link-Local

Link-local addresses start with `fe80::/10` and are only valid on a single link. Every IPv6 interface has one automatically; routers never forward them.

Unique Local

Unique local addresses (ULA) are private, not internet-routable, starting with `fc00::/7` (usually `fdxx:`). They fill the role of private IPv4 ranges.

Multicast and Special

Multicast addresses start with `ff00::/8`. Special addresses: `::` is unspecified, and `::1` is the loopback, like IPv4 127.0.0.1.

Instant Pattern Recognition

Train your eye: `fe80` → link-local, `fc`/`fd` → ULA, `2001` etc. in `2000::/3` → global unicast, `ff` → multicast, `::1` → loopback.

IPv6 Prefix Lengths and Subnetting Concepts

IPv6 Prefix Basics

IPv6 uses CIDR-style prefixes like `2001:db8:1234:1::/64`. The prefix length (e.g., /64) tells you how many of the 128 bits define the network.

The Magic /64

A /64 is the standard size for host subnets in IPv6. The first 64 bits are the network; the last 64 bits are the interface ID, used by SLAAC and other features.

Carving Subnets

If you receive `2001:db8:1234::/48`, you can use the next 16 bits to create many /64s: `2001:db8:1234:1::/64`, `...:2::/64`, `...:3::/64`, etc.

No Broadcasts

IPv6 has no broadcast addresses. Instead, multicast (like `ff02::1` for all-nodes) is used for functions that needed broadcast in IPv4.

Exam Mindset

On CCNA, assume /64 for LANs unless clearly told otherwise. You don’t count hosts; you choose consistent subnets out of a larger allocation.

Quick Check: Address Types and Prefixes

Test your recognition of IPv6 address types and prefix usage.

Which statement is MOST accurate for a typical IPv6 LAN segment in an enterprise network?

  1. It uses a /64 prefix, and hosts receive global unicast addresses that are routable across the organization.
  2. It uses a /30 prefix to conserve addresses, similar to IPv4 point-to-point links.
  3. It uses only link-local addresses (fe80::/10) because global unicast is not allowed on LANs.
  4. It must use unique local addresses (fc00::/7) because global unicast is reserved for ISPs only.
Show Answer

Answer: A) It uses a /64 prefix, and hosts receive global unicast addresses that are routable across the organization.

A typical IPv6 LAN uses a /64 prefix and assigns global unicast addresses routable across the organization and possibly the internet. /30-style conservation is not needed; link-local alone is insufficient for normal routing; unique local is optional, not mandatory.

Planning a Simple IPv6 Addressing Scheme

Given Prefix

You receive `2001:db8:abcd::/48` for a campus and need IPv6 subnets for VLAN 10 (Users), 20 (Servers), and 30 (Management).

Designing /64s

Use the next 16 bits to create /64s: VLAN 10 `2001:db8:abcd:10::/64`, VLAN 20 `...:20::/64`, VLAN 30 `...:30::/64` for a clear, logical scheme.

Gateway Addresses

Configure the SVI or router interface as `2001:db8:abcd:10::1/64`, `...:20::1/64`, `...:30::1/64`. Hosts use these as their default gateways.

Link-Local in the Background

Each interface also has a link-local address (fe80::/10). Routers rely on these for neighbor discovery and routing, even though you design around global prefixes.

Scalability Check

Adding VLAN 40? Use `2001:db8:abcd:40::/64`. Each /64 has 2^64 hosts, so exhaustion is not a concern in this style of design.

Configuring Dual-Stack IPv6 on Cisco Interfaces

Now let’s configure IPv6 on a Cisco router in a dual-stack environment, alongside IPv4. Assume:

  • G0/0 connects to VLAN 10 (Users).
  • IPv4 subnet: 192.168.10.0/24, gateway 192.168.10.1.
  • IPv6 subnet: 2001:db8:abcd:10::/64, gateway 2001:db8:abcd:10::1.

Key steps:

  1. Enable IPv6 unicast routing globally.
  2. Configure IPv4 and IPv6 addresses on the interface.
  3. Verify with `show` and `ping`.

```plaintext

R1(config)# ipv6 unicast-routing ! Enable IPv6 routing globally

R1(config)# interface GigabitEthernet0/0

R1(config-if)# description Users VLAN 10

R1(config-if)# ip address 192.168.10.1 255.255.255.0

R1(config-if)# ipv6 address 2001:db8:abcd:10::1/64

! Optional: manually set a simple link-local

R1(config-if)# ipv6 address fe80::1 link-local

R1(config-if)# no shutdown

! Verify IPv6 on the interface

R1# show ipv6 interface GigabitEthernet0/0

! Test connectivity to a host (assuming host has IPv6)

R1# ping 2001:db8:abcd:10::100

! View IPv6 routing table

R1# show ipv6 route

```

Notes for CCNA:

  • `ipv6 unicast-routing` is required for the router to actually route IPv6 packets.
  • Without `ipv6 address` on an interface, you will still get a link-local, but you cannot route global traffic.
  • You can configure multiple IPv6 addresses on one interface (e.g., GUA + ULA + link-local).

Command-Line Quiz: IPv6 Configuration

Check your understanding of common IPv6 configuration and verification commands on Cisco IOS.

On a Cisco router, which TWO commands are essential to enable and verify IPv6 routing on an interface G0/0? (Assume IPv4 is already configured.)

  1. `ipv6 unicast-routing` in global config, and `show ipv6 interface g0/0` to verify
  2. `ipv6 enable` under the interface, and `show ip interface brief` to verify
  3. `ipv6 route 0::0/0` in global config, and `show ipv6 neighbors` to verify
  4. `ip routing` in global config, and `show running-config interface g0/0` to verify
Show Answer

Answer: A) `ipv6 unicast-routing` in global config, and `show ipv6 interface g0/0` to verify

`ipv6 unicast-routing` globally turns on IPv6 routing, and `show ipv6 interface g0/0` verifies IPv6 status and addresses on that interface. `ipv6 enable` is not required when you explicitly configure an IPv6 address; `ip routing` is for IPv4; default routes and neighbor tables are separate concerns.

Key IPv6 Concepts Review

Use these flashcards to reinforce the most testable IPv6 fundamentals.

Standard IPv6 LAN prefix length
/64 is the standard prefix length for IPv6 LAN segments, with 64 bits for the network and 64 bits for the interface ID.
Prefix identifying link-local IPv6 addresses
Link-local IPv6 addresses use prefix fe80::/10 and are only valid on the local link (not routed).
Prefix range for global unicast IPv6 addresses
Global unicast IPv6 addresses typically fall in 2000::/3, which includes prefixes like 2001:, 2400:, and others.
Prefix identifying unique local IPv6 addresses (ULA)
Unique local addresses use fc00::/7 (commonly seen as fdxx:), providing private, non-internet-routable IPv6 space.
IPv6 unspecified and loopback addresses
The unspecified address is :: (all zeros). The loopback address is ::1, the IPv6 equivalent of IPv4 127.0.0.1.
Two main IPv6 compression rules
1) Remove leading zeros in each hextet. 2) Replace one contiguous run of all-zero hextets with :: (used only once per address).
Command to globally enable IPv6 routing on Cisco IOS
`ipv6 unicast-routing` in global configuration mode enables IPv6 routing on the router.
How to recognize an IPv6 multicast address
IPv6 multicast addresses start with ff00::/8; examples include ff02::1 (all-nodes) and ff02::2 (all-routers).
Dual-stack definition (IPv4/IPv6)
Dual-stack means running IPv4 and IPv6 simultaneously on the same interfaces and devices, allowing communication over either protocol.

Mini Design Challenge: Dual-Stack LAN

Apply what you have learned to a small design scenario.

Scenario:

  • You manage a single switch with two access VLANs:
  • VLAN 10: Staff PCs
  • VLAN 20: IP Phones
  • Your ISP gives you `2001:db8:5555::/48`.
  • You already use IPv4 subnets:
  • VLAN 10: 10.10.10.0/24 (gateway 10.10.10.1)
  • VLAN 20: 10.10.20.0/24 (gateway 10.10.20.1)

Your task (mentally or on paper):

  1. Choose IPv6 /64 subnets for VLAN 10 and VLAN 20 that follow a clear pattern.
  2. Pick reasonable gateway addresses for each VLAN.
  3. Decide what type(s) of IPv6 addresses the hosts will have (global unicast only? also ULA?).
  4. List two Cisco commands you would use to verify IPv6 connectivity from the router.

Take 3–4 minutes, then compare with this sample solution:

  1. Subnets:
  • VLAN 10: `2001:db8:5555:10::/64`
  • VLAN 20: `2001:db8:5555:20::/64`
  1. Gateways:
  • VLAN 10 SVI: `2001:db8:5555:10::1/64`
  • VLAN 20 SVI: `2001:db8:5555:20::1/64`
  1. Address types: Hosts receive global unicast addresses from these /64s (optionally plus link-local automatically). ULA is optional and not required for CCNA-level design.
  2. Verification commands:
  • `show ipv6 interface vlan 10` and `show ipv6 interface vlan 20` to confirm addressing
  • `ping 2001:db8:5555:10::host` and `ping 2001:db8:5555:20::host` to test
  • Optionally, `show ipv6 route` to confirm routing entries.

As you move to the next mock exam, expect dual-stack scenarios like this. Any weak spots you notice here will be reinforced in your spaced review queue and the next diagnostic.

Key Terms

IPv6
Internet Protocol version 6, a 128-bit addressing protocol designed to replace IPv4 and provide a vastly larger address space and modernized features.
SLAAC
Stateless Address Autoconfiguration, an IPv6 mechanism that allows hosts to automatically configure their own addresses using router advertisements and a /64 prefix.
Hextet
A group of 16 bits in an IPv6 address, written as four hexadecimal digits separated by colons from other hextets.
Dual-Stack
A deployment model where devices run IPv4 and IPv6 simultaneously on the same interfaces, allowing communication over either protocol.
Prefix Length
The number of leftmost bits in an IP address that represent the network portion, written after a slash (/) in CIDR notation.
Link-Local Scope
The scope of communication limited to a single network segment; packets with link-local source or destination addresses are never routed beyond that link.
Multicast Address
An IPv6 address starting with ff00::/8 used to deliver packets to multiple destinations in a group.
Link-Local Address
An IPv6 address in the fe80::/10 range that is only valid and used on the local link; routers do not forward link-local traffic.
Global Unicast Address
An IPv6 address that is globally unique and routable on the public internet, typically drawn from the 2000::/3 range.
Unique Local Address (ULA)
An IPv6 address in the fc00::/7 range used for private, internal communication; it is not routable on the public internet.

Finished reading?

Test your understanding with a custom practice exam on this chapter.

Test yourself