3 ms·
> So that vast address space might not last as long as it would seem... Have you done the math? * math property: x^y = x^(a+b) = (x^a )x(x^b ) * IPv4 address
by throw0101d 3y ago
> So that vast address space might not last as long as it would seem...
Have you done the math?
* math property: x^y = x^(a+b) = (x^a )x(x^b )
* IPv4 addresses are 32 bits (2^32 )
* 2^32 ~ 4.3 billion
* So the IPv4 Internet has ~4.3B devices on it
* IPv6 subnets are 64 bits, /64 (2^64 )
So, a IPv6 2^64 subnet is the same as (2^32 )x(2^32 ), which means (4.3B)x(IPv4 Internet). I.e., a single IPv6 subnet can hold the equivalent of four billion (IPv4) Internets.
A second way of thinking about it:
* Stars in the Milky Way: 400 Billion
* Galaxies in the universe: 2 Trillion
So (4x10^11 )x(2x10^12 )=8x10^23 stars in the universe.
* Size of IPv6 address space: 3.4x10^38
Find the ratio between addresses and stars:
* 3.4x10^38 / 8x10^23
IPv6 offers about 430 trillion times more addresses than estimated stars in the universe.
A third way: On the surface of the Earth (land+water), there are 8.4 IPv4 addresses per km2. Not counting the oceans, that would be 28 IPv4 addresses per km2 of land.
IPv6 gives 10^17 addresses per mm2 (yes, square millimeter).
In terms of volume, 10^8 IPv6 addresses per mm3 throughout the Earth.
- diggan 3y agoSince you seem to know what you're talking about: Imagine a scenario where we have nano-bots to perform "repairs" in our bodies or whatever, and obviously each individual nano-bot use TCP over IPv6 because future software developers are also as lazy as us. Instead of taking paracetamol, people take nano-bot-shots which include (presumably) millions (or even billions?) of nano-bots that we inject into our bodies. However, they disappear after a week (or some other more realistic timeline). Now, how many people can use these on a monthly basis before we run out of IPv6 addresses?
- ninkendo 3y agohttps://xkcd.com/865/ https://xkcd.com/865/
- Rudism 3y agoAre you implying that we would assign a public /64 subnet to a collection of nanites that were designed to be absorbed after a week in the human body, and then retire that subnet forever? This seems like an unlikely scenario, but I'll assume it's just an intellectual exercise and take a stab! - Total number of /64 subnets available: 2^64 - Total number of humans in this future: Let's say 16 billion (roughly twice what we're at now) To get the total number of months before we'd run out of /64 subnets, assuming each human is absorbing one every month, we divide the number of /64 subnets by the number of humans: 2^64 / 16 billion =~ 1,152,921,505 Divide by 12 to get the total number of years: 1,152,921,505 / 12 =~ 96,076,792 So by my math, assuming the human population stayed steady at 16 billion (which seems just as absurd as the initial premise) we'd have about 100 million years to figure out how to start reusing some of those old subnets before we started running into trouble.
- diggan 3y ago> Are you implying that we would assign a public /64 subnet to a collection of nanites that were designed to be absorbed after a week in the human body, and then retire that subnet forever? No, I meant it as "You can reuse the subnet after 1 week + N" basically. > it's just an intellectual exercise and take a stab! Indeed it was, and thanks for conjuring a gratifying answer :)
- hiAndrewQuinn 3y agoIPv6 devotes a giant chunk of space to ephemeral link-local connections, if I recall correctly, at least a /64. So you'd need about 10^18 nanobots or so before you start to have to worry about link local address exhaustion. These do not have to be globally unique, just unique on the local network.
- throw0101d 3y agoOfficial assignments are at: * https://www.iana.org/assignments/ipv6-address-space/ipv6-address-space.xhtml https://www.iana.org/assignments/ipv6-address-space/ipv6-add... Currently all public addresses are being assigned out of 2000::/3. The following are reserved for future (public?) use: 4000::/3, 6000::/3, 8000::/3, a000::/3, c000::/3. Everything that starts with "f" is a special case, so the vast (vast) majority of address space is cleaved off.
- soneil 3y agoI think this turns out to be a pretty good example of how stupidly big the ipv6 space is. Because it sounds like a big ask until it meets the numbers. So you want "even billions(!!1!)" of nanobots per allocation. Well I'm lazy, and dynamically allocating a /64 is built right into the protocol. So lets let my medication dynamically allocate out of a /64. How many billions? Billions of billions. So lazy, so sorted. But of course, I don't want my medication talking to my wife's medication. So lets de-conflict that. In fact, let's de-conflict everyone's medication. We all know that 32bits is a bit over 4 billion. So 33 bits is going to be a bit over 8 billion. That's enough for now, but it's iffy, so let's go for 34bits, a bit over 16 billion. But in ipv6 world, it's polite to land on a nibble-boundary, so we'll go for 36 to be polite. I'm going to steal the old allocation for ULA as an example. It was /7, but I'm going to call it /8 because I like round numbers. So lets have an 8-bit prefix ala ULA. Then an 8bit planet number. Then an 8bit country/healthservice/issuingbody number. Then a 40bit human number, because I ran out of reasons to waste 8's There's our 64bit network number. With 64 bits left for billions of billions of nanobots to dynamically allocate. The best bit about ipv6 isn't billions, it's that we get to actually structure our networks instead of cramming them into every nook and cranny we can buy.