# IPv4 shared address space

In order to ensure proper working of carrier-grade NAT (CGN), and, by doing so, alleviating the demand for the last remaining IPv4 addresses, a /10 size IPv4 address block was assigned by Internet Assigned Numbers Authority (IANA) to be used as shared address space. This block of addresses is specifically meant to be used by Internet service providers (or ISPs) that implement carrier-grade NAT, to connect their customer-premises equipment (CPE) to their core routers.
Instead of using unique addresses from the rapidly depleting pool of available globally unique IPv4 addresses, ISPs use addresses in 100.64.0.0/10 for this purpose. Because the network between CPEs and the ISP's routers is private to each ISP, all ISPs may share this block of addresses.

## Background

If an ISP deploys a CGN and uses private Internet address space (networks 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to connect their customers, there is a risk that customer equipment using an internal network in the same range will stop working. The reason is that routing will not work if the same address ranges are used on both the private and the public side of a customer’s network address translation (NAT) equipment. Normal packet flow can therefore be disrupted and the customer effectively cut off the Internet, unless the customer chooses another private address range that does not conflict with the range selected by their ISP.
This prompted some ISPs to develop policy within American Registry for Internet Numbers (ARIN) to allocate new private address space for CGNs. ARIN, however, deferred to the Internet Engineering Task Force (IETF) before implementing the policy, indicating that the matter was not typical allocation but a reservation for technical purposes.
In 2012, the IETF defined a Shared Address Space for use in ISP CGN deployments and NAT devices that can handle the same addresses occurring on both inbound and outbound interfaces. ARIN returned space to the IANA as needed for this allocation and "The allocated address block is 100.64.0.0/10".

## Transition to IPv6

The use of shared address space is one of the various methods to allow transition from IPv4 to IPv6. Its main purpose was to postpone the depletion of IPv4 addresses, by allowing ISPs to introduce a second layer of NATting. A common practice is to give CPEs a unique IPv4 address on their Internet-facing interface and use NAT to hide all addresses on the home LAN. Since the pool of available public IPv4 addresses is depleted, it is no longer possible for most ISPs to assign unique IPv4 addresses to CPEs, because there are none left to them to acquire. Instead, an address in the 100.64.0.0/10 range is assigned on the CPE's Internet-facing interface, and this address is translated again to one of the public IPv4 addresses of the ISP's core routers. Using shared address space allows ISPs to continue to use IPv4 as they were used to. This scheme hides a large number of IP addresses behind a small set of public addresses, the same way the CPE does this locally, slowing down the rate IPv4 addresses are depleted. The shared address space contains 2$^{22}$ or 4194304 addresses, so each ISP is able to connect over 4 million subscribers this way.

## Other occurrences

In BIND, empty reverse mapping zones for 100.64.0.0/16 through 100.127.0.0/16 (64 zones in total) are automatically created in the 'internal' view, if not configured otherwise.