As the internet grew, the 32-bit address space of IPv4 became depleted. The solution was the introduction of IPv6, featuring a massive 128-bit address space. Understanding the differences between these two protocols is essential for modern network design.
IPv4 Address Architecture
An IPv4 address consists of 32 bits, typically represented in dotted-decimal format (e.g., 172.16.254.1). It allows for 232 (approx. 4.3 billion) unique addresses. Private address spaces are defined by RFC 1918:
10.0.0.0/8(Single large private class A network)172.16.0.0/12(16 class B networks)192.168.0.0/16(256 class C networks)
IPv6 Address Architecture
An IPv6 address consists of 128 bits, represented in hexadecimal notation separated by colons (e.g., 2001:db8:85a3::8a2e:370:7334). It allows for 2128 addresses, ensuring we will not run out in the foreseeable future.
Instead of private IPs, IPv6 uses:
- Link-Local Addresses (
fe80::/10) — used for communication on a single link/LAN only. - Unique Local Addresses (ULA) (
fc00::/7, primarilyfd00::/8) — defined by RFC 4193 for local routing, matching the role of private IPv4 addresses. - Global Unicast Addresses (GUA) (
2000::/3) — equivalent to public IPv4 addresses.