IPv4 vs IPv6
Running out of addresses vs virtually infinite addresses
IPv4 and IPv6 are versions of the Internet Protocol that assign unique addresses to devices on a network. IPv4's 32-bit address space (~4.3 billion addresses) is fully exhausted, while IPv6's 128-bit address space provides a virtually unlimited supply of addresses for the future of the internet.
IPv4
IPv4 (Internet Protocol version 4) has been the backbone of the internet since its deployment in 1983. It uses 32-bit addresses written in dotted-decimal notation (e.g., 192.168.1.1), providing approximately 4.3 billion unique addresses. While that seemed abundant in the 1980s, the explosion of smartphones, IoT devices, and cloud computing exhausted the global IPv4 address pool — IANA allocated the last blocks in 2011, and regional registries have since run out. NAT (Network Address Translation) has extended IPv4's life by allowing multiple devices to share a single public IP, but NAT introduces complexity, breaks end-to-end connectivity, and complicates peer-to-peer applications.
IPv6
IPv6 (Internet Protocol version 6) was designed in the 1990s to solve IPv4's address exhaustion. It uses 128-bit addresses written in hexadecimal with colons (e.g., 2001:0db8:85a3::8a2e:0370:7334), providing approximately 340 undecillion (3.4 x 10^38) unique addresses — enough for every atom on Earth's surface to have its own IP. Beyond address space, IPv6 includes improvements: mandatory IPsec support, simplified headers for faster routing, stateless address autoconfiguration (SLAAC), no need for NAT, and built-in multicast. Adoption has been gradual — as of 2026, roughly 45% of global traffic uses IPv6, with Google, Facebook, and major carriers leading adoption.
Key Differences
- **Address size**: IPv4 uses 32 bits (~4.3 billion addresses). IPv6 uses 128 bits (~340 undecillion addresses). - **Notation**: IPv4 is dotted decimal (192.168.1.1). IPv6 is colon-hexadecimal (2001:db8::1). - **NAT**: IPv4 depends heavily on NAT for address conservation. IPv6 provides enough addresses to eliminate NAT entirely. - **Header complexity**: IPv4 headers have variable-length options. IPv6 headers are fixed-length with optional extension headers, improving router performance. - **Auto-configuration**: IPv4 needs DHCP for address assignment. IPv6 supports SLAAC (stateless autoconfiguration) natively. - **Security**: IPv4 bolted on IPsec optionally. IPv6 was designed with IPsec as a fundamental component.
When to Use Each
**Use IPv4** when you must — most of the internet still speaks IPv4, and backward compatibility is essential. Nearly all systems run dual-stack (both IPv4 and IPv6 simultaneously) during the transition period. **Use IPv6** for new infrastructure deployments, IoT networks, mobile carriers, cloud services, and any environment where address conservation through NAT is painful. Enable IPv6 on servers and services if you haven't already — the transition is happening whether organizations are ready or not.
Analogy
**IPv4** is like a phone system in a small town that assigned 4-digit phone numbers. When the town grew into a city, they ran out of numbers, so they had to set up switchboards (NAT) where multiple people share one external number through extensions. **IPv6** is like redesigning the phone system with 30-digit numbers — every person, every device, every smart appliance gets its own unique number. No switchboards needed, and the numbering system won't run out before the sun dies.