I was once watching a slideshow about the new IPv6, and it mentioned that it is large enough for every grain of sand on earth to be IP addressable.

Is there any grain of truth behind this? (no pun intended)

  • 10
    and if it's not addressable, just use NAT for ipv6 – jokoon Jun 12 '11 at 9:14
  • 31
    Well, no. Grains of sand don't have any suitable networking hardware. :-) – matt_black Dec 19 '12 at 21:29
  • 340 billions ... It is not absolute sure that all of our (so far mostly unknown) Milky Way exoplanets are covered with this ... But heck - we might go for 256 bits address space in IPv7 ... – user10893 Dec 30 '12 at 23:55
  • @matt_black, yet ;) – galdikas Jul 28 '14 at 9:08
  • @KjellArneRekaa Actually IPv7 addresses are only 64 bits. – kasperd Jul 31 '15 at 17:47
up vote 146 down vote accepted

Estimating the number of grains of sand on Earth is difficult. This source suggests 7.5x1018 grains (7.5 quintillion), but only includes beaches (deserts, under-sea sand and other sources not included.) This source suggests 1020 to 1024 grains (up to septillion grains of sand).

The number of addresses IPv6 could possibly address is 2128 (excluding reserved addresses), or about 3.4x1038 (340 decillion). Even if you remove the reserved addresses you're still left with far more IPs than grains.

In fact, assuming the most number of grains of sand - around 1024 - 294 femtopercent (yes, femto, 10^-15) would be used if every grain were allocated an IP. You could allocate 340 billion planets with the same number of grains of sand before you even came close to filling up the address space. After all that, you'd still have 2.8x10^35 (280 decillion) addresses free.

  • 7
    Not until everyone on Earth registers their 5x10^28 addresses each. – Thomas O Jun 12 '11 at 0:26
  • 59
    Or until the nanobots run amok (xkcd.com/865) – dan04 Jun 12 '11 at 0:48
  • 11
    Too late: I'm already cybersquatting on 145A:8A72:331A:2807::E822. – Robusto Jun 12 '11 at 13:40
  • 9
    I'm reminded of a quotation that was attributed to Bill Gates in the 1980s (or 1990s): "640k ought to be enough for anybody." – Randolf Richardson Jun 13 '11 at 2:27
  • 7
    @Randolf, see here: skeptics.stackexchange.com/questions/2863/… – Thomas O Jun 13 '11 at 6:33

IPv6 has 2^128 distinct adresses. As noted by Thomas O. this is more than enough for all grains of sand. Indeed, as one of the comments notes it's enough to give an IPv4 sized subnet to each grain of sand.

However that is not the complete story. IPv6 is not just IPv4 with a larger adress space. It's a different protocol intended to be used in a different way. The important point in this context is that it is designed to be essentially empty. This means that comparing grains of sands to individual addresses is not meaningful.

IPv6 subnets are indicated by CIDR notation. This means that a /64 subnet is one where the first 64 bits adresses the subnetwork and the remaining bits adresses the components inside the subnet.

The segments intended to represent a LAN segment in IPv6 is the /64 subnets. Each of these have 2^64 addresses, and there are potentially 2^64 such subnets. If you allocate the grains in these subnets, and assuming there are 10^22 grains of sand, you need to assure that each subnet has at least 10^22/2^64~=1000 grains of sand in them. Not an onerous requirement though, so we are still good.

However even this might be a bit to optimistic as far as utilization goes. ARIN tracks IPv6 utilization at the /56 subnet. Ie. it considers a segment fully utilized if in each /56 subnet there is at least one assigned adress. Documentation. At that level you need to insure at least 10^22/2^56~=140000 grains of sand in each subnet. Sand grains have a diameter of 0.0625mm - 2mm. So if we assume a diameter of 1mm and a packing density of 0.6 we need our /56 subnets to encompass at least 121cm^3. Since we would want much larger subnets than this anyway for administration purposes, the conclusion remains that IPv6 can easily adress each grain of sand on the planet.

Also an interesting coincident: A /56 network, ie. the smallest subnet that ARIN cares about as far as utilization goes, contains 2^72 addresses. 2^72=4.72*10^21, ie. depending on what estimate you choose for the number of grains on the planet there is enough adresses to give each grain an adress from a single such network.

This answer is based on original data analysis or non-verifiable data. It is up to the answerer to provide valid, verifiable and potentially replicable evidence. Answers which are wholly based on "original research" are generally downvoted and may be deleted. See FAQ: What constitutes original research?

  • 1
    We don't allow original research or answers based on expert opinions on skeptics. – Sklivvz Oct 27 '15 at 10:56
  • 1
    @Sklivvz What claims are non-verifiable? – Taemyr Oct 27 '15 at 11:09
  • Please read meta.skeptics.stackexchange.com/q/2924: "Answers are original research when they perform non-trivial analysis of available data and present a novel result which requires specialist expertise to review." – Sklivvz Oct 27 '15 at 11:12
  • 1
    @Sklivvz I reiterate, what parts of my answer is non-trivial analysis? – Taemyr Oct 27 '15 at 11:28
  • @Sklivvz I have added a link to wikipedia's entry on CIDR to show how you get from /56 to 56 bits available for the network and 72 for the hosts. – Taemyr Oct 27 '15 at 11:38

You must log in to answer this question.

protected by Community Jun 1 '15 at 12:22

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged .