Skip to main content
AD Academy
CCNA — Cisco Networking Fundamentals
Beginner13 minLast updated: Topic 7 of 12

IPv6: Global Unicast and Link-Local

Address structure, address types, SLAAC, and why IPv6 is important even in the AD world.

Not read

What you will learn here

  • Address Types You Must Know
  • Address Shortening
  • Address structure, address types, SLAAC, and why IPv6 is important even in the AD world.

Worth reading first:Network Security in CCNA: Port Security, ACL, and 802.1X

Analogy: IPv4 is a 10-digit phone number that is running out, and IPv6 is a much longer number — enough to give a number to every device in the world, without NAT in between.

The address splits into a 48-bit global routing prefix, a 16-bit subnet ID and a 64-bit interface ID. Address types below: Global Unicast 2000::/3 is publicly routed, Link-Local FE80::/10 is auto-generated and valid on the local segment only, Unique Local FC00::/7 is the private equivalent, and Multicast FF00::/8 replaces broadcast, which does not exist in IPv6. With SLAAC the router advertises a prefix and the host builds its own address.

Address Types You Must Know

  • Global Unicast (2000::/3) — the 'public' address, routed on the internet.
  • Link-Local (FE80::/10) — automatically created on every interface, works only within the same network segment. Used for Neighbor Discovery and OSPFv3 neighbors.
  • Unique Local (FC00::/7) — the equivalent of Private IP in the IPv4 world.
  • Multicast (FF00::/8) — in IPv6 there is no Broadcast at all, everything is Multicast.
  • SLAAC — the computer builds its own address from the Prefix that the router advertises in Router Advertisement.

Address Shortening

! Full:   2001:0db8:0000:0000:0000:ff00:0042:8329
! Abbreviated: 2001:db8::ff00:42:8329
! Rule 1 — Delete leading zeros in each block
! Rule 2 — A sequence of zero blocks is replaced by :: (only once!)

Router(config)# ipv6 unicast-routing
Router(config)# interface gi0/0
Router(config-if)# ipv6 address 2001:db8:acad:1::1/64
Router(config-if)# ipv6 address autoconfig

Router# show ipv6 interface brief
Router# show ipv6 neighbors
Router# ping ipv6 2001:db8:acad:1::10
bash
Architecture and Theory — Under the Hood

An IPv6 address is 128 bits, written in 8 hexadecimal groups. Leading zeros are removed, and one sequence of zero groups is abbreviated to :: (only once per address).

2001:0db8:0000:0000:0000:ff00:0042:8329
2001:db8::ff00:42:8329

|<---- 48 bit Global Prefix ---->|<-16->|<---- 64 bit Interface ID ---->|
     2001:db8:acad             :  0010  :  0000:0000:0000:0001
text
  • In practice, IANA currently allocates only from 2000::/3, and an ISP gives a customer a /48 or /56 — leaving 8-16 bits for internal division into /64 Subnets (always /64 due to SLAAC).
  • Link-Local (fe80::/10) — automatically created on every interface, exists only on that link; it is the Next-Hop for routing.
  • Unique Local (fc00::/7) — the equivalent of private RFC1918.
  • Multicast (ff00::/8): ff02::1 all nodes, ff02::2 all routers.
  • No Broadcast and no ARP — instead NDP (Neighbor Discovery) over ICMPv6.
  • EUI-64 versus Privacy Extensions: EUI-64 embeds the MAC into the address (privacy and tracking issue), so Windows by default generates a random, changing Interface ID.
Practical Configuration (CLI)
R(config)# ipv6 unicast-routing
R(config)# interface gi0/0
R(config-if)# ipv6 address 2001:db8:acad:10::1/64
R(config-if)# ipv6 address fe80::1 link-local
R(config-if)# no shutdown

! Static and default routing
R(config)# ipv6 route 2001:db8:acad:20::/64 2001:db8:acad:99::2
R(config)# ipv6 route ::/0 gi0/1

! Checks
R# show ipv6 interface brief
R# show ipv6 route
R# show ipv6 neighbors
R# ping 2001:db8:acad:20::1
bash
Real-world scenarios in an organization
  • Dual-Stack: The network runs IPv4 and IPv6 concurrently — this is the common approach during transition.
  • Guest and IoT networks receive SLAAC without DHCP at all.
  • In the cloud and new providers, IPv6 is already the default — it is essential to be familiar with it, at least at a diagnostic level.
Diagnosis and Troubleshooting
R# show ipv6 interface gi0/0     ! Are Link-Local and Global addresses present?
R# show ipv6 neighbors           ! Equivalent to an ARP table
R# debug ipv6 nd
C:\> ipconfig /all
C:\> Test-NetConnection -ComputerName 2001:db8::1
bash
  • DAD (Duplicate Address Detection) fails → the address remains in a tentative state and does not work; typically due to a duplicate static address on two devices.
  • There is Link-Local but no Global → The RA is not received or the Prefix is incorrect.
  • Firewall blocks ICMPv6 → NDP breaks and all IPv6 'dies'. ICMPv6 must not be blocked.
Glossary and Quick Command Line
  • :: = sequence of zeros (once) | /64 = standard subnet size
  • fe80::/10 Link-Local | 2000::/3 Global | fc00::/7 ULA
  • ff02::1 all nodes | ff02::2 all routers
  • NDP instead of ARP, SLAAC instead of DHCP

Check yourself

Which range identifies a Link-Local address?

What exists in IPv4 and does not exist at all in IPv6?

Was this page helpful?