IPv6 Basics for CCNA: Address Types, SLAAC and Dual Stack

CCNA 9 min readPublished 21 October 2026

Quick answer

Learn IPv6 addressing, compression, SLAAC, NDP and dual-stack configuration for CCNA. Practise essential Cisco IOS commands and troubleshooting steps.

IPv6 is a core CCNA topic because modern networks must support a much larger address space than IPv4 can provide. For the CCNA exam and practical network work, you should understand IPv6 notation, address types, Neighbor Discovery Protocol, SLAAC, routing and dual-stack operation.

This guide explains those concepts through a small Cisco lab. It complements broader routing, switching and IP configuration practice in our CCNA course.

What is IPv6 and why is it used?

IPv6 is a Layer 3 protocol that uses 128-bit addresses, written as eight hexadecimal groups. It provides a very large address space and supports features such as automatic address configuration, multicast-based neighbour discovery and simplified address aggregation.

An IPv6 address contains 128 bits, compared with 32 bits in an IPv4 address. Each hexadecimal digit represents four bits, and each group contains four hexadecimal digits.

Example:

2001:0db8:0001:0010:0000:0000:0000:0025

Diagram in words:

[Global routing prefix] [Subnet ID] [Interface ID]
2001:db8:1          : 10       : 0000:0000:0000:0025
<------ network portion ------> <---- host portion ---->

A typical LAN uses a /64 prefix. The first 64 bits identify the network, while the remaining 64 bits form the interface identifier.

IPv6 does not use broadcast. It uses multicast and anycast where IPv4 networks might otherwise depend on broadcasts.

How do you shorten an IPv6 address?

IPv6 addresses can be shortened by removing leading zeros and replacing one continuous sequence of all-zero groups with ::. The double colon can appear only once in an address because its position must remain unambiguous.

Consider this full address:

2001:0db8:0000:0000:0000:00ab:0000:0012

First, remove leading zeros from each group:

2001:db8:0:0:0:ab:0:12

Next, compress the longest continuous sequence of zero groups:

2001:db8::ab:0:12

You cannot remove trailing zeros from a group. For example, 1200 cannot become 12 because that would change the value.

RuleValid exampleInvalid example
Remove leading zeros0db8 becomes db81200 becomes 12
Compress consecutive zero groups2001:db8:0:0::1Using :: twice
Keep at least one digit per uncompressed group0000 becomes 0Leaving an empty group without ::
Hexadecimal is case-insensitiveABCD equals abcdNot applicable

The prefix length works like CIDR notation in IPv4. For example, 2001:db8:10:20::/64 identifies the first 64 bits as the network prefix.

What are the main IPv6 address types for CCNA?

The main IPv6 address categories are unicast, multicast and anycast. CCNA students should also recognise global unicast, link-local, unique local, loopback and unspecified addresses.

IPv6 unicast addresses

A unicast address identifies one interface. Traffic sent to a unicast destination is delivered to that interface.

Address typePrefix or addressPurpose
Global unicast2000::/3Publicly routable IPv6 communication
Link-localfe80::/10Communication on the local link
Unique localfc00::/7Private internal addressing; locally assigned addresses normally use fd00::/8
Loopback::1/128Tests the local IPv6 stack
Unspecified::/128Means no address is currently assigned
Documentation2001:db8::/32Examples and documentation only

Every IPv6-enabled interface normally has a link-local address. Routers use link-local addresses for operations such as sending Router Advertisements and communicating with directly connected neighbours.

A link-local address is not routed beyond its local link. Because the same link-local range can appear on many interfaces, Cisco IOS may ask for an outgoing interface when you ping a link-local destination.

R1# ping fe80::2
Output Interface: GigabitEthernet0/0

IPv6 multicast addresses

IPv6 multicast begins with ff00::/8. A multicast packet is delivered to all interfaces that joined the relevant multicast group.

Important groups include:

Multicast addressMeaning
ff02::1All IPv6 nodes on the local link
ff02::2All IPv6 routers on the local link
ff02::1:ff00:0/104Solicited-node multicast range

The solicited-node multicast address supports neighbour discovery without sending a broadcast to every device. It is formed partly from the last 24 bits of a unicast or anycast address.

IPv6 anycast addresses

An anycast address is the same unicast address assigned to multiple interfaces, usually on different devices. Routing delivers traffic to the nearest instance according to the routing table.

IPv6 has no separate visual format for anycast. Its purpose depends on how the address is assigned and advertised.

How does Neighbor Discovery Protocol work?

Neighbor Discovery Protocol, or NDP, uses ICMPv6 messages to discover routers, resolve Layer 3 addresses to Layer 2 addresses and verify neighbours. It replaces several IPv4 functions, including ARP and parts of router discovery.

The main NDP messages are:

MessageAbbreviationFunction
Router SolicitationRSHost asks routers to send configuration information
Router AdvertisementRARouter advertises prefixes and configuration flags
Neighbor SolicitationNSResolves a neighbour's link-layer address or checks reachability
Neighbor AdvertisementNAReplies to an NS message
Redirect—Router identifies a better next hop on the local link

Diagram in words:

PC1                              R1
 |--- Router Solicitation ------->|
 |<-- Router Advertisement -------|
 |                                 |
 |--- Neighbor Solicitation ------>|
 |<-- Neighbor Advertisement -----|

NDP also performs Duplicate Address Detection, or DAD. Before fully using an address, a host sends a Neighbor Solicitation to check whether another interface already uses it.

ICMPv6 is essential to IPv6 operation. Filtering all ICMPv6 traffic can break neighbour discovery, path MTU discovery and SLAAC. When applying IPv6 filtering, study permitted control traffic carefully; our guide to Cisco ACL configuration provides useful ACL foundations.

What is SLAAC in IPv6?

Stateless Address Autoconfiguration, or SLAAC, allows a host to create an IPv6 address from information in a router's RA message. The host does not need a DHCPv6 server to obtain its address when SLAAC is used by itself.

A basic SLAAC process is:

  1. The host creates a link-local address.
  2. It performs Duplicate Address Detection.
  3. The host sends an RS to the all-routers multicast address.
  4. The router replies with an RA containing a /64 prefix and other settings.
  5. The host combines the prefix with an interface identifier.
  6. It performs DAD for the new address.
  7. The host installs the router as its default gateway.

Modern operating systems may use a stable or temporary randomised interface identifier for privacy. Modified EUI-64 is another method, but you should not assume every host derives its address directly from its MAC address.

What do the RA flags mean?

RA messages include Managed Address Configuration and Other Configuration flags. These tell clients whether to use SLAAC, DHCPv6 or a combination.

M flagO flagTypical client behaviour
00SLAAC for addressing; no DHCPv6 information requested
01SLAAC for address plus stateless DHCPv6 for other information
1Either valueStateful DHCPv6 is available for address configuration

Even with stateful DHCPv6, an IPv6 host normally learns its default gateway from Router Advertisements rather than from DHCPv6. For a broader comparison of automatic configuration services, read DHCP and DNS explained.

How do you configure basic IPv6 and SLAAC on Cisco IOS?

Enable IPv6 routing globally, assign a /64 global unicast address to the LAN interface and ensure that the interface is active. A Cisco router then sends RAs on that interface by default, allowing compatible hosts to use SLAAC.

Lab topology in words:

PC1 ---- SW1 ---- G0/0 R1 G0/1 ---- R2
       LAN-A       Router           Upstream

LAN-A IPv4: 192.0.2.0/24
LAN-A IPv6: 2001:db8:10:1::/64
R1 G0/0: 192.0.2.1 and 2001:db8:10:1::1

Configure R1:

R1# configure terminal
R1(config)# ipv6 unicast-routing
R1(config)# interface gigabitEthernet 0/0
R1(config-if)# description LAN-A Dual-Stack Gateway
R1(config-if)# ip address 192.0.2.1 255.255.255.0
R1(config-if)# ipv6 address 2001:db8:10:1::1/64
R1(config-if)# no shutdown
R1(config-if)# end

The ipv6 unicast-routing command enables IPv6 packet forwarding and router advertisement behaviour. Assigning a global IPv6 address also causes Cisco IOS to create a link-local address automatically.

You can configure a predictable link-local address manually:

R1(config)# interface gigabitEthernet 0/0
R1(config-if)# ipv6 address fe80::1 link-local

The host should receive an address beginning with 2001:db8:10:1: and install R1's link-local address as its default gateway.

Verify the router:

R1# show ipv6 interface brief
GigabitEthernet0/0     [up/up]
    FE80::1
    2001:DB8:10:1::1

R1# show ipv6 interface gigabitEthernet 0/0
GigabitEthernet0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::1
  Global unicast address(es):
    2001:DB8:10:1::1, subnet is 2001:DB8:10:1::/64
  Joined group address(es):
    FF02::1
    FF02::2

Exact output varies by IOS version and device platform. Focus on interface state, addresses, joined multicast groups and whether router advertisements are being sent.

What is dual stack and how does it operate?

Dual stack means running IPv4 and IPv6 on the same interfaces and devices. Applications and operating systems can choose either protocol according to destination records, network reachability and address-selection rules.

In the lab above, R1's G0/0 interface has both an IPv4 address and an IPv6 address. The two protocols operate independently:

IPv4 host traffic ---> 192.0.2.1 ---> IPv4 routing table
IPv6 host traffic ---> FE80::1    ---> IPv6 routing table

Check both routing tables separately:

R1# show ip route
R1# show ipv6 route

Test both protocol paths:

R1# ping 192.0.2.10
R1# ping 2001:db8:10:1::10

DNS can provide an A record for IPv4 and an AAAA record for IPv6. A dual-stack client may attempt IPv6 when an AAAA record and usable IPv6 path exist, while retaining IPv4 connectivity.

Dual stack does not mean that IPv4 and IPv6 communicate directly. Translation or proxy mechanisms are required when an IPv6-only endpoint must reach an IPv4-only service. Also, IPv6 is not simply IPv4 with a longer address: it has separate routing, neighbour discovery and security policies.

How do you troubleshoot IPv6 connectivity?

Start with interface state and addressing, then check neighbour discovery, routes, router advertisements, DNS and filtering. Test the local host, default gateway and remote destination in that order.

1. Check interface status and addresses

R1# show ipv6 interface brief
R1# show interfaces gigabitEthernet 0/0

If the interface is administratively down, enter interface configuration mode and use no shutdown. Confirm that both ends use the expected /64 prefix.

2. Confirm IPv6 routing is enabled

R1# show running-config | include ipv6 unicast-routing

If the command is missing, the router may have an IPv6 address but will not operate as an IPv6 router as expected.

3. Inspect neighbours

R1# show ipv6 neighbors

This table maps IPv6 neighbours to link-layer addresses. An incomplete entry can indicate VLAN, switching, NDP filtering or local-link connectivity problems.

4. Check the IPv6 routing table

R1# show ipv6 route

A directly connected /64 should appear when the interface is up. For remote networks, confirm that a static or dynamic route exists and that the return path is valid.

5. Test in a logical order

R1# ping ::1
R1# ping 2001:db8:10:1::1
R1# ping 2001:db8:10:1::10
R1# traceroute 2001:db8:20:1::20

The loopback test checks the local stack. The remaining tests check the local interface, on-link host and routed path.

6. Check RA and host configuration

Use show ipv6 interface to verify that RAs are being sent and the advertised prefix is correct. If a host has only a link-local address, investigate the RA configuration, VLAN path and host autoconfiguration setting.

Do not troubleshoot an IPv6-only failure by changing IPv4 NAT. NAT and PAT normally solve IPv4 address translation requirements; IPv6 has its own routing and security design. See NAT and PAT explained for the IPv4 behaviour.

What should you remember for the CCNA exam?

Remember the major prefixes, the purpose of NDP messages, the SLAAC sequence and the fact that IPv4 and IPv6 have separate forwarding tables. You should also be able to configure and verify a basic dual-stack Cisco interface.

  • IPv6 addresses are 128 bits long.
  • A LAN commonly uses a /64 prefix.
  • 2000::/3 covers global unicast addresses.
  • fe80::/10 identifies link-local addresses.
  • ff00::/8 identifies multicast addresses.
  • ::1 is loopback, while :: is unspecified.
  • IPv6 does not use broadcast or ARP.
  • NDP uses ICMPv6 RS, RA, NS and NA messages.
  • SLAAC obtains prefix and gateway information from RAs.
  • Dual stack runs IPv4 and IPv6 in parallel.
  • show ipv6 interface brief, show ipv6 neighbors and show ipv6 route are key verification commands.

Frequently asked questions

Does IPv6 use NAT?

IPv6 is generally designed around globally unique addressing and end-to-end routing, so routine address-conservation NAT is not required. Firewalls, ACLs and security policies are still necessary because globally unique addressing does not mean unrestricted access.

Can SLAAC provide a default gateway?

Yes. The host learns its IPv6 default gateway from Router Advertisements sent by a local router. DHCPv6 does not normally supply the IPv6 default gateway.

Does every IPv6 interface need a global address?

No. An interface can communicate with devices on the same link using only a link-local address. A global or unique local address is normally required for communication beyond that link.

Is a /64 mandatory for SLAAC?

Standard SLAAC address generation expects a /64 prefix for normal unicast LAN operation. CCNA labs should use /64 on host-facing SLAAC networks unless a scenario explicitly requires different behaviour.

What replaces ARP in IPv6?

NDP replaces ARP's address-resolution function. Neighbor Solicitation and Neighbor Advertisement messages discover the link-layer address associated with an on-link IPv6 address.

Can IPv4 and IPv6 use the same routing table?

No. Routers maintain separate IPv4 and IPv6 routing tables. On Cisco IOS, use show ip route for IPv4 and show ipv6 route for IPv6.

Start practising IPv6 for CCNA

IPv6 becomes easier when you configure addresses, capture NDP exchanges and troubleshoot broken routes in a lab. For guided labs, enquiry support and current batch details, visit the Network Rhinos CCNA course.

Reviewed by Network Rhinos networking trainers.

Related reading: Networking Training in Bangalore: Compare Institutes Fairly

Frequently asked questions

Does IPv6 use NAT?

IPv6 generally uses globally unique addresses and does not require routine address-conservation NAT. Firewalls, ACLs and other security controls are still required.

Can SLAAC provide a default gateway?

Yes. An IPv6 host learns its default gateway from Router Advertisements sent by a local router. DHCPv6 does not normally provide the IPv6 default gateway.

Does every IPv6 interface need a global address?

No. A link-local address is sufficient for communication on the local link. Communication beyond that link normally requires a global unicast or unique local address.

Is a /64 prefix required for SLAAC?

Standard SLAAC address generation expects a /64 prefix on a normal unicast LAN. CCNA SLAAC labs should therefore use /64 host-facing prefixes unless stated otherwise.

What replaces ARP in IPv6?

IPv6 uses Neighbor Discovery Protocol instead of ARP. Neighbor Solicitation and Neighbor Advertisement messages resolve on-link IPv6 addresses to link-layer addresses.

Do IPv4 and IPv6 share a routing table?

No. Routers maintain separate routing tables for IPv4 and IPv6. Cisco IOS displays them with show ip route and show ipv6 route.

Related articles

Train with Network Rhinos

Hands-on CCNA, CCNP, AWS, Azure, DevOps and cybersecurity training in Chennai & Bangalore, with placement support. Talk to our team or attend a free demo class.