IPv4 Exhaustion and IPv6 Translation
Public IPv4 addresses have run out. Operators carry customers' IPv4 over an IPv6 core and translate at the edges, rather than leasing ever-scarcer IPv4 ranges, because plenty of hardware still only speaks IPv4.
🌱 A rough idea, planted recently. Expect rough edges — it will grow.
IPv4 addresses are 32 bits, which allows about 4.3 billion of them. That ran out years ago, so operators now buy or lease ranges from organisations sitting on unused blocks. IPv6 addresses are 128 bits: about 3.4 × 10³⁸, which is practically unlimited.
Why not just switch everyone to IPv6?
Because plenty of customer equipment and physical hardware still only speaks IPv4. So IPv4 has to keep working at the edge, even when the network inside doesn’t need it.
Translate instead of hoarding
The pragmatic answer is to run the core on IPv6 and logically map each customer’s IPv4 into it:
- DS-Lite: the customer’s IPv4 traffic is tunnelled inside IPv6 to a carrier-grade NAT.
- MAP-T / MAP-E: stateless mapping of an IPv4 address plus a port range into IPv6.
- 464XLAT: translate on the device and again in the network; common on mobile networks.
The result: an operator can serve far more customers without growing its IPv4 holdings, and stops worrying about address space for decades.
Where I met it
As one of the use cases a network automation platform turned into a repeatable, auditable workflow (Building a Low-Code BPMN Workflow Platform). The network engineers chose the mechanism; the platform made it safe to run again and again.
- #networking
- #ipv4
- #ipv6
- #isp
- #network-automation
↩ Linked from (1)
…nstead of repeated REST polling (Server-Sent Events (SSEs)). A typical workflow the platform made repeatable: IPv4 Exhaustion and IPv6 Translation. Built the multi-tenant foundations when the platform was pushed towards…
↪ Links to (1)
Related by topic
- Seed
Anti-Corruption Layer
Backend - Seed
Greedy and Two-pass Array Patterns
Distributed systems - Seed
Kubernetes
Platform engineering - Growing
Observability
Platform engineering