IPv6 Briefing, Games, & References
๐ IPv6 Masterclass
From Confusion to Mastery - A Network Engineer's Guide
IPv6 Complete Tutorial
๐ข Hexadecimal Crash Course (Click to Expand)
IPv6 uses hexadecimal (base-16) instead of decimal (base-10). Here's what you need to know:
The
0x prefix tells you a number is in hexadecimal (hex) format. It's like a label so you know "this is base-16, not base-10".Examples:
0x10 = 16 in decimal, 0xff = 255 in decimal, 0x0a = 10 in decimal
โข
#RRGGBB - HTML/CSS colors (e.g., #ff0000 = red)โข
\xFF - Escape sequences in stringsโข
$FF - Pascal/assembly notationโข
Z'1A2F' - Fortran BOZโข
&HFF - Visual Basic notationโข
FFh - Some assembly languages add 'h' suffixโข
2001:db8::dead:beef - IPv6 addresses (hex without any prefix!)
| Decimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Hex | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f |
Quick Conversions
Decimal 16 = Hex 10 (00010000 in binary)
Decimal 128 = Hex 80 (10000000 in binary)
Decimal 172 = Hex ac (10101100 in binary)
๐ข Hex Calculator
Enter any decimal number (0-255) to see its hex and binary representation:
Hex Patterns in IPv6
2000::/3 - Global addresses start with "2" or "3" (001x)
ff00::/8 - Multicast always starts with "ff" (11111111)
๐ Address Format
IPv6 addresses are 128 bits, written as 8 groups of 4 hexadecimal digits:
Abbreviation Rules (CRITICAL!)
Rule 2: One (and ONLY one) sequence of consecutive all-zero groups can be replaced with ::
Rule 3: :: can only appear once per address
Abbreviated: 2001:db8:85a3::8a2e:370:7334
Note: 0db8 โ db8, 0370 โ 370, 0000:0000 โ ::
๐ฏ Address Types
| Type | Prefix | Purpose | Example |
|---|---|---|---|
| Global Unicast | 2000::/3 | Routable addresses (like public IPv4) | 2001:db8::1 |
| Link-Local | fe80::/10 | Auto-configured, non-routable, single link only | fe80::1 |
| Unique Local | fc00::/7 | Private addresses (like RFC1918) | fd00::1 |
| Multicast | ff00::/8 | One-to-many communication | ff02::1 |
| Loopback | ::1/128 | Local loopback | ::1 |
๐ข Subnetting & Prefixes
IPv6 uses CIDR notation (same as IPv4):
Common Prefix Sizes
| Prefix | Description | Usable Bits |
|---|---|---|
| /32 | ISP allocation | 96 bits for subnets + hosts |
| /48 | Site/Organization | 16 bits = 65,536 subnets |
| /64 | Standard subnet | 64 bits = 18 quintillion hosts |
| /128 | Single host (loopback) | 0 bits |
๐ How "ARP" Works in IPv6 (NDP - Neighbor Discovery Protocol)
IPv6 doesn't use ARP. Instead, it uses ICMPv6 Neighbor Discovery Protocol (NDP):
| IPv4 Function | IPv6 Equivalent | Mechanism |
|---|---|---|
| ARP (Address Resolution) | Neighbor Solicitation/Advertisement | ICMPv6 type 135/136 |
| Router Discovery | Router Solicitation/Advertisement | ICMPv6 type 133/134 |
| DHCP (optional) | DHCPv6 or SLAAC | Auto-configuration |
Neighbor Discovery Process:
2. Sends Neighbor Solicitation (multicast to ff02::1:ff00:2)
3. Target responds with Neighbor Advertisement
4. Host caches the MAC address (like ARP table)
๐ IPv4 vs IPv6 Key Differences
| Feature | IPv4 | IPv6 |
|---|---|---|
| Address Size | 32 bits | 128 bits |
| Notation | Dotted decimal | Hexadecimal groups |
| Address Count | 4.3 billion | 340 undecillion |
| Header Size | Variable (20-60 bytes) | Fixed (40 bytes) |
| Checksum | Yes (header) | No (handled by L2/L4) |
| Fragmentation | Routers can fragment | Only source can fragment |
| Broadcast | Yes | No (use multicast) |
| NAT | Common | Not needed (end-to-end) |
๐ IPv6 Address Configuration Methods
SLAAC (Stateless Auto-configuration)
2. Host generates Interface ID (often EUI-64 from MAC)
3. Full address: 2001:db8:1::[interface-id]
4. Duplicate Address Detection (DAD) verifies uniqueness
EUI-64 Generation (from MAC address)
1. Split: 00:1a:2b : 3c:4d:5e
2. Insert ff:fe: 00:1a:2b:ff:fe:3c:4d:5e
3. Flip 7th bit: 02:1a:2b:ff:fe:3c:4d:5e
4. Interface ID: ::21a:2bff:fe3c:4d5e
DHCPv6 (Stateful)
Like DHCP for IPv4, but uses multicast groups:
ff05::1:3 = All DHCP servers (site scope)
๐ฎ IPv6 Address Playground
๐ "Leet" Speak Mapping (Click to Expand)
Alphabet to Hex Mapping (Word โ IPv6)
Any word can be converted to valid IPv6 hex using these mappings:
| Letter | a | b | c | d | e | f | g | h | i | j | k | l | m |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Hex | a | b | c | d | e | f | 6,9 | 6 | 1 | 9 | 5,6 | 1 | 3 |
| Letter | n | o | p | q | r | s | t | u | v | w | x | y | z |
| Hex | 9 | 0 | 9,4 | 9 | 4 | 5 | 7 | 0 | 7 | 3 | 6 | 7 | 2 |
"temp" โ t=7, e=e, m=3, p=9/4 โ
7e39 or 7e34"john" โ j=9, o=0, h=6, n=9 โ
9069
Standard Leet Mappings:
โข Hex digits (0-9, a-f) can represent letters via leet speak
โข Words are padded to 4 chars to make valid IPv6 groups
Find IPv6 Addresses That Spell Words
Enter a word, and we'll find valid IPv6 addresses that could represent it using leet speak!
deadIPv6:
2001:db8::0:dead (group 8, last position) or 2001:db8:0000:0000:0000:0000:0000:dead (full format)Single words are placed at the end (group 8) with trailing zeros in earlier groups
๐ Quick Reference Card
๐ IPv6 Address Validator
Paste an IPv6 address to check if it's valid:
Must-Memorize Prefixes
| Prefix | What It Is |
|---|---|
| ::1/128 | Loopback |
| ::/128 | Unspecified |
| fe80::/10 | Link-Local |
| fc00::/7 | Unique Local (Private) |
| 2000::/3 | Global Unicast |
| ff00::/8 | Multicast |
| ::ffff:0:0/96 | IPv4-Mapped IPv6 |
Key Multicast Groups
| Address | Purpose |
|---|---|
| ff02::1 | All nodes on local link |
| ff02::2 | All routers on local link |
| ff02::5 | OSPF routers |
| ff02::1:ff00:0/104 | Solicited-node multicast (NDP) |
Common ICMPv6 Types
| Type | Name | Purpose |
|---|---|---|
| 128 | Echo Request | Ping |
| 129 | Echo Reply | Ping reply |
| 133 | Router Solicitation | Request router info |
| 134 | Router Advertisement | Router announces prefix |
| 135 | Neighbor Solicitation | "Who has this IP?" |
| 136 | Neighbor Advertisement | "I have this IP!" |
Configuration Commands (Reference)
ipv6 unicast-routing
interface GigabitEthernet0/0
ipv6 address 2001:db8:1::1/64
ipv6 address fe80::1 link-local
Linux:
ip -6 addr add 2001:db8:1::1/64 dev eth0
ip -6 route add default via 2001:db8:1::ff
Windows:
netsh interface ipv6 add address "Ethernet" 2001:db8:1::1
netsh interface ipv6 add route ::/0 "Ethernet" 2001:db8:1::ff
Troubleshooting Commands
neighbor table: ip -6 neigh show (Linux), netsh interface ipv6 show neighbors (Windows)
routing table: ip -6 route (Linux), netsh interface ipv6 show route (Windows)
socket stats: ss -6 -tan (Linux), netstat -an -p tcpv6 (Windows)
๐ RFCs and Standards
Essential reading for network engineers who want the authoritative sources:
| Standard | Title | Link |
|---|---|---|
| RFC 3315 (2003) | Dynamic Host Configuration Protocol for IPv6 (DHCPv6) | Read โ |
| RFC 3849 (2004) | IPv6 Address Prefix Reserved for Documentation | Read โ |
| RFC 4007 (2005) | IPv6 Scoped Address Architecture | Read โ |
| RFC 4193 (2005) | Unique Local IPv6 Unicast Addresses | Read โ |
| RFC 4291 (2006) | IPv6 Addressing Architecture | Read โ |
| RFC 4443 (2006) | Internet Control Message Protocol (ICMPv6) | Read โ |
| RFC 4861 (2007) | Neighbor Discovery for IPv6 (NDP) | Read โ |
| RFC 4862 (2007) | IPv6 Stateless Address Autoconfiguration (SLAAC) | Read โ |
| RFC 5952 (2010) | A Recommendation for IPv6 Address Text Representation | Read โ |
| RFC 6724 (2012) | Default Address Selection for IPv6 | Read โ |
| RFC 8200 (2017) | Internet Protocol, Version 6 (IPv6) Specification | Read โ |
| RFC 9637 (2024) | Deprecation of 240/4 and IPv4 Class E Address Space | Read โ |
๐ Additional Resources
Useful online tools and references for IPv6 networking:
- IPv6 Subnet Calculator - Practice subnetting with interactive calculator