# Are there enough IPv6 addresses for every atom on the surface of the Earth?

There is already a question on this site comparing the number of IPv6 addresses to the number of grains of sand on earth, but my question is different.

There is a famous quote that many in networking have heard before:

"It isn't remotely likely that we’ll run out of IPV6 addresses at any time in the future. We could assign an IPv6 address to every atom on the surface of the Earth, and still have enough addresses left to do another 100+ earths."

Is this statement is correct?

Because according to Wolfram, there are 1x10^50 atoms on earth.

While the total number of IPv6 addresses equals 3.4×10^38

Can IPv6 accommodate the atoms of 100+ more earths?

• Note the difference between the number of atoms in the Earth, and the number of atoms on the surface of the Earth. Jul 24 '14 at 19:20
• xkcd.com/865 Jul 24 '14 at 19:24
• Besides the "number of atoms" the other part is "the number of IPv6 addresses". Currently (and it is not easy to change) the "2000::/3" prefix is the only one for routable global unicast addresses. And considering the fact that even for dialup sites it is tried to assign at minimum a /64. So there are "only" 2^61 = 2.3x10^18 sites if no address space is wasted (which it is).
– user21309
Jul 25 '14 at 1:13
• @eckes Actually, at the ISP I work for we've decided to give out /48s because we're basically more worried about the possible eventual size of the routing table than we are about running out of address space to allocate. Jul 25 '14 at 4:53
• it's about 1 mole of addresses per square yard of the earth's surface (cnx.org/content/m12460/latest) Jul 25 '14 at 19:32

You misinterpreted the quote.

The number of atoms on the surface of earth(1) is 1.26 x 1034 and the number of atoms on earth is 1.33 x 1050 (does not concern us here).

The total number of IPV6 that we can assign is: 3.4 x 1038.

3.4 x 1038 > 1.26 x 1034.

The following is true and here is the full quote for you:

BUT, there are 6-billion people on the planet, so if everyone was assigned just one IP address, we’d run out and leave 1/3rd of the world without IP addresses. So they invented IPV6, a 128-bit value, which is 16-bytes long. Since they had to identify this to distinguish it from 4-byte values, the 1st byte has a 1-byte value that was never used in the 1st byte of the original 32-bit addresses. So that leaves 2120 possible IP addresses using IPV6. How big is that? Well, several web sites say there are 1.33 x 1050 atoms in the earth. That’s way bigger than 2120. But to make it come closer, I computed the number of atoms on the surface of the earth. That turns out to be 1.26 x 1034 atoms. 2120 is 1.33 x 1036, which is still bigger by 105 times. So we could assign an IPV6 address to EVERY ATOM ON THE SURFACE OF THE EARTH, and still have enough addresses left to do another 100+ earths. It isn’t remotely likely that we’ll run out of IPV6 addresses at any time in the future.

(1) The number of atoms on the surface = 4πr2 x (1/2a)2. Planet's radius = 6378km, mean atomic radius of the common stuff averages about 100pm. Total= 1.27*1034 . calculated by paul (see the comments).

• IPv4 and IPv6 are distinguished by the IP version field and (optionally) a field in the encapsulating frame (e.g. Ethernet frame type), not by using magic numbers inside the address field. Jul 25 '14 at 7:22
• Another comparison: there are currently 7 billion people on Earth (7*10^9). There are estimated to be 300 billion stars in the galaxy (3*10^11). There are estimated to be 500 billion galaxies (5*10^11). If every galaxy has 300B stars, and every star has 1 planet with 7B intelligent beings, there are enough IPv6 addresses to give each of those beings 10 devices, AND do the same for another 10,000 or so universes. Jul 25 '14 at 10:01
• @HopelessN00b Since the "surface of the earth" is not particularly well-defined. I'm sure they probably doctored the numbers to fit the point. Of course to me, if you just say 128-bit address is enough to convince me. There's certainly a buttload of address space. Jul 25 '14 at 13:40
• Number of atoms on the surface = 4πr^2 * (1/(2a))^2. Planet's radius = 6378km, mean atomic radius of the common stuff averages about 100pm. Total: 1.27*10^34. Close enough. Surface != crust.
– paul
Jul 25 '14 at 14:16
• @HopelessN00b don't nit-pick details on what is very obviously a broad analogy. It just annoys everyone.
– paul
Jul 26 '14 at 1:54