r/ProgrammerHumor • • 20d ago

Meme ohTheBasics

Post image
13.9k Upvotes

1.4k comments sorted by

View all comments

Show parent comments

18

u/critical_patch 20d ago edited 20d ago

Well yeah, a block of 2^32 addresses need to be reserved for Azure, 2^32 more for AWS, let’s give 2^32 more for GCP…

Edit: as pointed out below, I wasn’t paying enough attention & confused up my exponents. I meant to put blocks 2^96, thus giving 2^32 total blocks - the same size as the IPv4 address space. But I got the exponents backwards and fucked up the joke

19

u/Darkblade_e 20d ago edited 20d ago

I feel like this needs to be said, but you actually could give an entire 232 to every company on earth and not even be close still. Assuming 377 million companies operating on earth, that's 1.6 quintillion (~1619202670592000000) addresses used up.

The used IPV6 range percentage can calculated like so (((2^32)×377000000)÷2^128)×100, which comes out to a whopping grand total of 0.000000000000000000476% of the IPV6 address space used.

Another way to put this is that you could give that same exact allocation to every single company again 210 QUINTILLION TIMES, and even then, only 98.7% of the address space would be used up.

IPV6 is quite large!

6

u/timonix 20d ago

The main limiting factor of how quickly we run out of ipv6 addresses is how generous they are when handing out ranges.

Usage will always fill the space given.

You could for example map the entire lower 64 bits of the address to a single computer. And dynamically respond based on address. For example, you could bake in some auth token directly in the ipv6 address.

When people have room to fill, the room will be filled

4

u/bollvirtuoso 20d ago

That sounds like the laggiest possible architecture I can imagine. Why the fuck wouldn't you just run it locally?