VMware ESXi and vSphere Cluster Management
CCNA IPv6 Addressing and Cisco Router Configuration
Learn IPv6 address types, notation, EUI-64, Cisco IOS configuration, verification, routing, and troubleshooting for CCNA-level networking.
IPv6 Fundamentals
IPv6 is the Internet Protocol version that uses 128-bit addresses. Its large address space supports many more networks and devices than IPv4. IPv6 is commonly deployed alongside IPv4 in dual-stack networks, so network administrators often configure and troubleshoot both protocols.
An IPv6 address contains 128 bits, written as eight groups of four hexadecimal digits called hextets. Each hextet represents 16 bits and is separated by a colon.
2001:0db8:0010:0001:0000:0000:0000:0001A typical subnet uses a /64 prefix length. The first 64 bits identify the network, while the final 64 bits form the interface identifier, which identifies an interface on that network.
IPv6 Notation and Abbreviation
IPv6 notation can be shortened without changing the address value:
- Remove leading zeros from any hextet. For example,
0db8becomesdb8, and0001becomes1. - Replace one consecutive sequence of all-zero hextets with
::. - Use
::only once in an address because multiple uses would make the number of omitted hextets ambiguous.
For example, 2001:0db8:0000:0000:0000:0000:0000:0001 becomes 2001:db8::1. An address with no compressible sequence, such as 2001:db8:10:1:2:3:4:5, only benefits from removing leading zeros.
IPv6 Address Delivery Types
Unicast is one-to-one delivery. A packet sent to a unicast address is delivered to one identified interface.
Multicast is one-to-many delivery. A packet sent to a multicast address is delivered to interfaces that have joined the corresponding multicast group. IPv6 uses multicast for functions that commonly use broadcast in IPv4, including discovering neighboring devices and locating routers.
IPv6 does not use broadcast addressing. There is no IPv6 equivalent of an IPv4 broadcast address such as 255.255.255.255. Replacing broadcast with targeted multicast reduces unnecessary delivery to every device on a link.
Global Unicast Addresses
A global unicast address is a publicly routable IPv6 unicast address. It is used on Internet-connected interfaces when an organization has an IPv6 allocation from an Internet service provider or a regional Internet registry.
Global unicast addresses are recognized by the range 2000::/3. A common planning model divides a /64 subnet into a global routing prefix, a subnet identifier, and a 64-bit interface identifier.
2001:db8:1234:0010:0000:0000:0000:0001/64
|-------------|----|-------------------------|
routing subnet interface identifier
prefix ID2001:db8::/32 is reserved for documentation and laboratory examples. It is useful in configuration practice but is not a real Internet-routable allocation.
Unique Local Addresses
A unique local address, or ULA, is intended for private communication inside an organization or site. ULAs are recognized by fc00::/7; in normal locally generated deployments, addresses usually begin with fd.
ULAs are similar in purpose to private IPv4 ranges such as 10.0.0.0/8. They can be routed between internal networks, but they are not expected to be routed across the public Internet. Use them for internal services, management networks, and applications that do not require public reachability. Use a global unicast allocation when a host must communicate directly across the Internet.
Link-Local Addresses
A link-local address is valid only on the local Layer 2 link. Link-local addresses use the fe80::/10 prefix and cannot cross a router interface boundary.
When IPv6 is enabled on an interface, Cisco IOS normally gives that interface a link-local address automatically. Link-local addresses are used for neighbor communication and are important to IPv6 routing protocols because two directly connected routers can form relationships using link-local addresses.
A link-local address is not globally unique. Therefore, when a command uses a link-local next hop, the router may need both the next-hop address and the outgoing interface to identify the correct link.
Router(config)# ipv6 route 2001:db8:10:2::/64 GigabitEthernet0/1 fe80::2EUI-64 Interface Identifier Generation
EUI-64 is a method for generating a 64-bit interface identifier from a 48-bit MAC address. It is used with a /64 IPv6 prefix.
- Write the six MAC bytes in order.
- Split the MAC address after the first three bytes.
- Insert the hexadecimal value
FFFEbetween the two halves. - Invert the universal/local bit, which is the second-least-significant bit of the first byte. In practical hexadecimal terms, this changes the first byte by adding or subtracting
02. - Append the resulting 64-bit identifier to the /64 network prefix.
EUI-64 reduces manual address entry and can make the interface identifier predictable from the MAC address. Its limitations include exposing a relationship between the address and hardware identity, dependence on the interface MAC, and less convenient address management when hardware changes. Modern networks may instead use manually assigned or randomly generated interface identifiers.
Cisco IOS IPv6 Router Configuration
Cisco IOS is the operating system and command-line environment used on many Cisco routers. IPv6 configuration uses interface commands, but IPv6 packet forwarding must also be enabled globally.
Enable IPv6 Unicast Routing
The following command enables the router to forward IPv6 packets between interfaces:
Router(config)# ipv6 unicast-routingWithout this command, an interface may have an IPv6 address, but the router will not forward IPv6 traffic between networks as expected.
Configure a Static IPv6 Address
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ipv6 address 2001:db8:10:1::1/64
Router(config-if)# no shutdownThe prefix length is part of the address configuration. no shutdown administratively enables the interface. The interface should have both the configured global address and an automatically generated link-local address.
Configure an Address with EUI-64
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ipv6 address 2001:db8:10:1::/64 eui-64
Router(config-if)# no shutdownCisco IOS uses the interface MAC address to generate the final 64-bit identifier. The command supplies the prefix, while IOS supplies the interface portion.
Example: Two IPv6 LANs
Consider a router with one interface connected to each of two LANs. The first LAN uses 2001:db8:10:1::/64, and the second uses 2001:db8:10:2::/64.
Router(config)# ipv6 unicast-routing
Router(config)# interface GigabitEthernet0/0
Router(config-if)# description LAN-1
Router(config-if)# ipv6 address 2001:db8:10:1::1/64
Router(config-if)# no shutdown
Router(config-if)# exit
Router(config)# interface GigabitEthernet0/1
Router(config-if)# description LAN-2
Router(config-if)# ipv6 address 2001:db8:10:2::1/64
Router(config-if)# no shutdownA host on LAN 1 might use 2001:db8:10:1::10/64 with default gateway 2001:db8:10:1::1. A host on LAN 2 might use 2001:db8:10:2::10/64 with default gateway 2001:db8:10:2::1. The router can route between these directly connected /64 networks after IPv6 forwarding is enabled.
IPv6 Verification and Testing
When reading interface output, a global unicast address normally begins with 2000::/3, a ULA begins with fc or fd, and a link-local address begins with fe80. The route table should show directly connected networks with appropriate interface associations.
Testing in Layers
- Confirm that each router interface is administratively enabled and operational.
- Verify the router's link-local and global addresses.
- Ping the directly connected router interface from a host or neighboring router.
- Verify that the host has the correct /64 prefix and default gateway.
- Ping the destination across the router.
- Inspect
show ipv6 routeif the destination network is not present.
Troubleshooting IPv6 Configuration
Different IPv6 Networks Cannot Communicate
Check that ipv6 unicast-routing is configured globally. Then use show ipv6 interface brief to confirm that both interfaces have correct prefixes and are up. Use show ipv6 route to confirm that the router knows both networks. Finally, verify that hosts have correct default gateways and ping each directly connected router interface before testing end-to-end traffic.
EUI-64 Address Is Unexpected
Compare the actual MAC address with the calculated identifier. Confirm that FFFE was inserted after the first three MAC bytes and that the universal/local bit in the first byte was inverted. The command show ipv6 interface displays the address IOS actually generated.
Link-Local Static Route Fails
A link-local next hop is meaningful only on its local link. Specify the outgoing interface with the next-hop address, confirm that the next hop belongs to that interface, and check that the neighboring interface is operational.
Internal Address Is Not Internet Reachable
Identify the address type from its prefix. A ULA is intended for internal use and should not be expected to work as a public Internet source or destination. Confirm that the organization has a global unicast allocation and an upstream IPv6 route when external connectivity is required.
Prerequisites and Related Skills
This lesson assumes familiarity with the OSI reference model, IPv4 addressing, subnetting, hexadecimal notation, MAC addresses, packet forwarding, and Cisco IOS command modes. For broader networking context, review computer network fundamentals.