## IPv6 address space: how large is it?

Posted by Diego Assencio on 2013.11.05 under Technology (IPv6)

The IPv6 (Internet Protocol version 6) has a very large address space. In fact, since an IPv6 address is $128$ bits long, the number of possible IPv6 addresses is: $$\boxed{ N_{\textrm{IPv6}} = 2^{128} \approx 3.4 \times 10^{38} }$$ For comparison, the number of:

In other words, the number of possible IPv6 addresses is unimaginably immense. In contrast, IPv4 addresses are only $32$ bits long, so the IPv4 address space contains only $N_{\textrm{IPv4}} = 2^{32} \approx 4.3 \times 10^{9}$ (about $4.3$ billion) addresses. This small address space is one of the causes of the IPv4 address exhaustion.

Let's compute the number of unique IPv6 addresses that could be assigned to each square meter of the Earth's surface. Since the Earth is approximately a sphere with radius $R_{\textrm{Earth}} = 6.4 \times 10^6\textrm{m}$, its area can be computed as below: $$A_{\textrm{Earth}} = 4\pi R_{\textrm{Earth}}^2 \approx 4 \times 3.14 \times (6.4 \times 10^6 \textrm{m})^2 \approx 5.1 \times 10^{14} \textrm{m}^2$$

The number of IPv6 addresses per square meter of the Earth's surface is then: $$\boxed{ \lambda_{\textrm{IPv6}} := \displaystyle\frac{N_{\textrm{IPv6}}}{A_{\textrm{Earth}}} \approx 6.6\times 10^{23} \textrm{m}^{-2} }$$

Interestingly, this number is close to the Avogadro constant ($N_A = 6.022\times 10^{23}$). From this we can compute how much area a single IPv6 address would "occupy". This value is given by: $$\boxed{ A_{\textrm{IPv6}} := \displaystyle\frac{1}{\lambda_{\textrm{IPv6}}} \approx 1.5\times 10^{-24} m^2 = 1.5 \textrm{pm}^2 }$$ since $1\textrm{pm} = 10^{-12}\textrm{m}$ ($\textrm{pm}$ stands for picometer). Given that a Helium atom, which is the smallest (electrically neutral) atom, has a maximum cross-sectional area (imagine a plane cutting through the nucleus of a Helium atom; the area of the plane inside the atom is what I mean by its "maximum cross-sectional area") of approximately: $$A_{\textrm{He}} = \pi R_{\textrm{He}}^2 \approx 3.14 \times (31 \textrm{pm})^2 \approx 3000\textrm{pm}^2 \approx 2000A_{\textrm{IPv6}}$$ then each atom on the Earth's surface could have thousands of unique IPv6 addresses assigned to it.

To finalize, it must be said that although huge, the IPv6 address space might still be small enough to save our planet one day.