Reference6 min read

IPv4 vs IPv6: Key Differences

IPv4 has been the backbone of the internet since 1983. IPv6 was designed to solve its address exhaustion problem. This guide explains the differences and how to work with both.

Address Space

PropertyIPv4IPv6
Address size32 bits128 bits
Total addresses~4.3 billion~3.4 × 10³⁸
Exhausted?Yes (since 2019)No
NAT required?Yes (for private networks)No (by design)

IPv4's 32-bit address space gives just over 4 billion unique addresses — far too few for the modern internet. IPv6's 128-bit space provides approximately 340 undecillion (3.4 × 10³⁸) addresses — enough to give every grain of sand on Earth its own address, many times over.

Address Notation

IPv4 addresses are written as four decimal numbers (0–255) separated by dots:

192.168.1.100

IPv6 addresses are 128 bits written as eight groups of four hexadecimal digits separated by colons:

Full form:       2001:0db8:0000:0000:0000:0000:0000:0001
Compressed:      2001:db8::1

IPv6 compression rules:

  • Leading zeros in each group can be omitted: 0db8db8
  • One consecutive run of all-zero groups can be replaced with ::
  • :: can appear only once in an address

IPv6 has a simpler, fixed-length header (40 bytes) compared to IPv4's variable-length header (20–60 bytes). Key differences:

FeatureIPv4IPv6
Header size20–60 bytes (variable)40 bytes (fixed)
ChecksumYes (computed per hop)No (handled by transport layer)
FragmentationRouters can fragmentSource only; path MTU discovery
OptionsIn headerExtension headers
BroadcastYesNo (uses multicast)
ARPARP (Address Resolution Protocol)NDP (Neighbor Discovery Protocol)

IPv6 Address Types

TypePrefixPurpose
Global Unicast2000::/3Public internet addresses (like IPv4 public)
Link-Localfe80::/10Auto-configured; used within a single link
Unique Localfc00::/7Private use (like RFC 1918 in IPv4)
Loopback::1/128Self-reference (like 127.0.0.1)
Multicastff00::/8One-to-many delivery
Unspecified::/128Not-yet-configured (like 0.0.0.0)
Documentation2001:db8::/32Reserved for examples (RFC 3849)

IPv6 Subnetting

IPv6 subnetting works on the same CIDR principle as IPv4 — a prefix length defines the network portion. Common IPv6 allocations:

PrefixTypical allocationAddresses
/32ISP allocation from RIR2⁹⁶ ≈ 79 octillion
/48Site/organisation allocation2⁸⁰ ≈ 1.2 septillion
/56Residential customer2⁷²
/64Single network link (standard)2⁶⁴ ≈ 18.4 quintillion
/128Single host (like /32 in IPv4)1

The /64 boundary is special in IPv6 — it is required for SLAAC (Stateless Address Autoconfiguration), which devices use to configure their own IPv6 addresses without DHCP.

Use our IPv6 calculator to compute prefix addresses, address types, and reverse DNS zones for any IPv6 prefix.

Transition Mechanisms

Since IPv4 and IPv6 cannot communicate directly, several transition techniques exist:

  • Dual-stack — devices run both IPv4 and IPv6 simultaneously. The most common approach today.
  • 6to4 — tunnels IPv6 packets inside IPv4. Each IPv4 address maps to a 2002::/16 prefix.
  • NAT64/DNS64 — translates IPv6 packets to IPv4, allowing IPv6-only clients to reach IPv4 servers.
  • Teredo — tunnels IPv6 over UDP through IPv4 NAT.