The Core Idea
Why a New Addressing Scheme Became Necessary
IPv4, the original internet addressing scheme, uses 32-bit addresses, providing about 4.3 billion unique addresses total. That sounded enormous when IPv4 was designed decades ago, but with billions of people now owning multiple internet-connected devices (phones, laptops, smart home devices, and more), the available pool of IPv4 addresses has been formally exhausted โ there are simply more devices wanting to connect than there are IPv4 addresses to give them.
IPv6 was designed specifically to solve this by using 128-bit addresses instead of 32-bit, providing approximately 340 undecillion (340 followed by 36 zeros) unique addresses โ a number so vast it's designed to comfortably accommodate not just every current device, but every conceivable future device, indefinitely, without ever facing exhaustion again.
๐ก Memory Trick
Picture IPv4 as an old parking garage with 4.3 billion numbered spots โ built decades ago when that seemed like an unimaginably large number, but which has now genuinely run out of open spots as more and more cars need parking. IPv6 is a brand-new, vastly larger parking structure with more spots than there are grains of sand on every beach on Earth combined โ built specifically so 'running out of spots' simply isn't a realistic concern anymore, no matter how the number of cars grows.
The Format Differences
How Addresses Actually Look
1
IPv4 Format
32 bits, written as four decimal numbers (0-255) separated by periods โ like 192.168.1.1. This 'dotted decimal' notation is compact and human-readable, but the underlying address space it represents is fundamentally limited to about 4.3 billion combinations.
2
IPv6 Format
128 bits, written as eight groups of four hexadecimal digits separated by colons โ like 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Leading zeros within a group can be omitted, and one single run of consecutive all-zero groups can be abbreviated with '::' โ so that same address could be shortened to 2001:db8:85a3::8a2e:370:7334.
3
Built-In Features Beyond Just Size
Beyond the vastly larger address space, IPv6 was designed with several networking improvements in mind, including simplified header structure for more efficient routing, built-in support for address auto-configuration (devices can generate their own valid address without needing a separate DHCP server in many cases), and native support for IPsec (encryption and authentication built into the protocol itself, rather than added on separately).
The Transition Challenge
Why IPv4 Hasn't Simply Disappeared Yet
Despite IPv6 solving IPv4's core exhaustion problem, the two protocols are not directly compatible with each other, and transitioning the entire global internet from IPv4 to IPv6 is an enormous, gradual, still-ongoing undertaking โ every piece of networking hardware, every internet service provider, and every application needs to support IPv6 correctly for the transition to be complete, and legacy systems and infrastructure investments mean IPv4 remains heavily in use even today.
In the meantime, techniques like NAT (Network Address Translation) โ letting many devices on a private network share a single public IPv4 address โ have significantly extended the practical usable life of the shrinking IPv4 address pool, which is part of why IPv4 exhaustion, while real and formally declared by the relevant regional registries, hasn't caused the dramatic, sudden internet-wide breakage some initially feared; most networks today run IPv4 and IPv6 side by side (called 'dual-stack') during this extended transition period.
๐ฅ๏ธ Applied Scenario
A growing smart-home device company needs to assign a unique, internet-reachable address to millions of new devices being manufactured each year, and IPv4 addresses for this purpose have become scarce and expensive to acquire.
1
You calculate that IPv4's roughly 4.3 billion total addresses, already heavily allocated for decades of existing internet infrastructure, simply cannot comfortably accommodate the company's projected millions of new devices per year on top of everything else already using IPv4.
2
You design the new device line to use IPv6 addressing, whose 340 undecillion available addresses make address scarcity a complete non-issue for any foreseeable growth in device count.
3
Because not every consumer's home network or ISP fully supports IPv6 yet, you also build the devices to support dual-stack operation โ communicating over IPv4 when necessary, while defaulting to IPv6 wherever it's available.
4
Conclusion: IPv6 solves the underlying address-scarcity problem for the company's long-term growth, while dual-stack support pragmatically handles the reality that the internet-wide transition to IPv6 is still ongoing and not yet universal.
๐ Exam Application
Exam questions frequently ask you to state the address size (32-bit vs. 128-bit) and total address space of IPv4 versus IPv6, and to correctly identify or convert between the two address notations (dotted decimal vs. colon-separated hexadecimal, including the '::' zero-compression rule). You may also be asked to explain why IPv4 exhaustion occurred and why NAT has been able to extend IPv4's practical usable lifespan despite that exhaustion.
โ ๏ธ Most Common IPv4 vs IPv6 Mistakes
The most common mistake is assuming IPv6 addresses can be abbreviated with '::' more than once within the same address โ the '::' shorthand can only be used ONE time per address (representing exactly one run of consecutive zero groups), since using it twice would make the address ambiguous โ there'd be no way to know how many zero groups each '::' was standing in for. Another frequent error is assuming IPv4 has already been fully phased out or is only a legacy concern โ in reality, most networks currently operate in dual-stack mode, running IPv4 and IPv6 simultaneously, and IPv4 remains heavily used precisely because the global transition is a slow, ongoing process rather than a single completed event.
โ Quick Self-Test
Can you state the address size and total address space for both IPv4 and IPv6? Given a full IPv6 address, can you correctly abbreviate it using leading-zero omission and the single-use '::' zero-compression rule?
โ
โ All Networking Lessons