IPv6 Essentials
IPv6 Essentials
IPv6 is not “IPv4 with longer addresses only.” Foundations need address types, prefix notation, link-local, and enough config to run dual-stack labs.
Learning goals
- Read compressed IPv6 addresses and
/prefixlengths
- Distinguish link-local, unique local, global unicast
- Configure a static IPv6 address on Linux
- Know what Neighbor Discovery replaces (ARP, parts of ICMP discovery)
Why IPv6 in this book
- Dual-stack labs mirror real networks
- ND and SLAAC appear in operations
- Many overlays and DC fabrics are IPv6-capable or IPv6-underlay
You do not need to memorize every transition technology here.
Address format
- 128 bits, eight hextets, e.g.
2001:db8:1:2:3:4:5:6
- Compress longest zero run with
::(once)
- Prefix:
2001:db8:1::/64(common LAN length is /64)
Documentation prefix: 2001:db8::/32 (use in examples).
Address kinds (must know)
| Kind | Pattern / notes | Role |
|---|---|---|
| Link-local | fe80::/10 |
On-link only; required on every interface |
| Unique local (ULA) | fc00::/7 (commonly fd00::/8) |
Private-like lab space |
| Global unicast | 2000::/3 (in practice) |
Internet-routable space |
| Multicast | ff00::/8 |
One-to-many |
| Loopback | ::1 |
Local host |
| Unspecified | :: |
“Any” / not set |
ip -6 addr
ip -6 routeInterface identifiers and /64
LAN segments almost always use /64. Host bits can come from:
- Manual config
- SLAAC (router advertisements)
- DHCPv6 (where used)
EUI-64 and privacy extensions exist; labs often set static addresses for clarity.
Linux static example
ip -6 addr add 2001:db8:1::10/64 dev eth1
ip link set eth1 up
ip -6 route add default via 2001:db8:1::1 dev eth1
ping -6 2001:db8:1::1Neighbor Discovery (preview)
IPv6 uses ND (ICMPv6) instead of ARP:
- Neighbor Solicitation / Advertisement
- Router Solicitation / Advertisement
Details: ARP, ND, and Local Resolution.
Dual-stack thinking
| Stack | Failure isolation |
|---|---|
| IPv4 works, IPv6 fails | v6 route, RA, ND, firewall ip6tables/nft |
| Prefer AAAA vs A | Happy Eyeballs / app order |
Test both when dual-stack is in scope:
ping -4 <host>
ping -6 <host>Checkpoint
Write a dual-stack plan for one LAN: IPv4 /24, IPv6 /64 from 2001:db8:10::/64, gateway ::1 / .1, two hosts.