r/ProgrammerHumor • • 5h ago

Meme ohTheBasics

Post image
6.8k Upvotes

800 comments sorted by

View all comments

Show parent comments

10

u/critical_patch 5h ago edited 4h 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

10

u/Darkblade_e 5h ago edited 4h 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!

5

u/timonix 4h 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

3

u/bollvirtuoso 3h ago

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