Classless Inter-Domain Routing
An IP address is interpreted as composed of two parts: a network-identifying prefix followed by a host identifier within that network. In the previous classful network architecture, IP address allocations were based on the bit boundaries of the four octets of an IP address. An address was considered to be the combination of an 8, 16, or 24-bit network prefix along with a 24, 16, or 8-bit host identifier respectively. Thus, the smallest allocation and routing block contained only 256 addresses—too small for most enterprises, and the next larger block contained addresses—too large to be used efficiently even by large organizations. This led to inefficiencies in address use as well as inefficiencies in routing, because it required a large number of allocated class-C networks with individual route announcements, being geographically dispersed with little opportunity for route aggregation.
IPv4 shared address space
The use of shared address space is one of the various methods to allow transition from IPv4 to IPv6.
Its main purpose is to postpone the depletion of IPv4 addresses, by allowing ISPs to introduce a second layer of NATting.
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 public IPv4 addresses are growing scarce rapidly, it is no longer possible for some ISPs to assign unique IPv4 addresses to CPEs, due to the fact that there are none left to them.
Instead, an address in the range is assigned on the CPE's internet facing interface, and this address is translated again to one of the public IPv4 address of the ISP's core routers.
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 or addresses, so each ISP is able to connect over 4 million subscribers this way.