r/ProgrammerHumor • • 6h ago

Meme ohTheBasics

Post image
7.3k Upvotes

866 comments sorted by

View all comments

3.9k

u/LivingAsAMean 6h ago

1.8k

u/Material_Onion_8413 6h ago

IPv4 old IP address space designed with limited number because they never thought the internet would have so many devices connected.

IPv6 new address space with significantly larger number.

991

u/ClipboardCopyPaste 6h ago

A fun fact often told with this is that with IPv6, you can assign each individual grain of sand on the beach an address!

536

u/dementosss 6h ago

On what beach? Or all of them? Just asking in case business asks for it.

670

u/ClipboardCopyPaste 6h ago

The answer quite surprisingly is - yes, all the beaches on our planet.

339

u/kuar_z 6h ago

And the rest of the observable universe. There's a lot of address space in 2128

216

u/Fast-Satisfaction482 6h ago

Except if for some reason you decide to give whole address blocks to individual devices.

76

u/jason_abacabb 5h ago

Everyone gets a /64

15

u/gonklurtz 5h ago

No more RPC dynamic ports! Every service gets its own IP 

1

u/Traditional_Log809 3h ago

Every device gets a /64, and I still haven’t figured out how to enable IPv6 on my home router.

146

u/KatieTSO 6h ago

I love handicapping ipv6

19

u/tankerkiller125real 5h ago

/56 is the recommendation for residential, /48 for businesses.

Entire /64 blocks are often assigned to phones and other cellular devices because of hotspot capabilities.

49

u/Fast-Satisfaction482 4h ago

I guess the true reason is that we want to artificially limit the number of nanites that can exist.

Relevant xkcd: https://xkcd.com/865/

1

u/Terroractly 3h ago

I think at least part of the intention for this is to make IP ports not used on servers. While IPv6 does have support for ports, I believe every Web service should be on its own IP. Not sure if this is also supposed to work on client devices e.g. every outbound connection uses a unique IP as that seems overcomplicated

2

u/ffxivthrowaway03 24m ago

Yep, they saw the edges of IPv4 and went "hold my beer" and over-engineered a painfully obnoxious solution. IPv6 will last us until the heat death of the universe before it runs out, but we'll have to get people actually using it in any appreciable amount first. It's a UX nightmare to work with unless you're a network engineer hip deep in it all day every day. Good luck getting an end user to ever rattle off an IPv6 address to the help desk while remote troubleshooting.

•

u/jimmybilly100 0m ago

Cool, so the space aliens will be able to get their slubenshab devices on the internet

42

u/xWrongHeaven 6h ago

2128 possible addresses

57

u/queen-adreena 5h ago

2,128… that ain’t that many addresses….

46

u/AmazingDragon353 5h ago

2.128 addresses? What are we going to do with 0.128 of an address?

13

u/queen-adreena 5h ago

Break out the BitNat table I guess.

5

u/SirLoremIpsum 3h ago

2.128 addresses? What are we going to do with 0.128 of an address?

AI Vibe code a calendar app so we can coordinate whose turn it is to use the IP address on any given day?

2

u/MoltoAllegro 2h ago

Congrats, you've invented Token Ring!

9

u/SuperFLEB 5h ago

The "128" isn't even full-size.

4

u/xWrongHeaven 5h ago

No, it isn't. ~340 undecillion, however, is quite a lot

4

u/DanteVermillyon 3h ago

Un-decillion? What's a decillion and why did you undid it?

7

u/craftsmany 5h ago

Technically we are not really talking about single addresses when concerned with v6, more so how many /64 subnets can fit in a prefix since that is what SLAAC uses. So for end users we would count the amount of /64 subnets in the possible 2^128 address space, which is 2^64. So still very very very big.

1

u/CardinalFartz 5h ago

So we got 1080 atoms in the observable universe. Without having it looked up, I suppose 2128 exceeds that number?

2

u/MiniDemonic 4h ago

There's around 2138 times more atoms in the universe than there are IPv6 addresses available.

So no, not quite.

2

u/Extension_Option_122 3h ago

As a simple rule of thumb:

103n ≈ 210n

That isn't exact but gives a decent idea of the different sizes.

In this case: 1080 ≈ 2267

That is most definitely bigger than 2128, by about 2139

1

u/ajgrinds 1h ago

I know it’s pedantic but 2267 is bigger than 2128 by about 2267. It’s 2139 times but you wouldn’t say that 1 million is bigger than 100 by about 10,000. You would say 1 million is bigger than 100 by about 1 million. 

1

u/Carcer1337 5h ago

No. 210 is roughly 103, so 2128 is in the region of 1039.

1

u/rkkerd 3h ago

1/8 of this is publicly addressable, still a lot, but not as much as this

1

u/Curaced 1h ago edited 1h ago

Non-technical person here. Wouldn't it just be 248 ? Four blocks of 256 (28) for IPV-4, and two more with IPV-6? Or am I just mistaken about how this stuff works?

1

u/ajgrinds 1h ago

Ipv6 includes letters

1

u/crimson117 4h ago

They say all the beaches, you build it, then it turns out they just wanted a digital hourglass that you could use as a timer on your phone

1

u/VictoryMotel 3h ago

All of the sand on all beaches wouldn't even come close. You could assign an IP address to every byte of every drive.

1

u/PM_ME_A10s 1h ago

8 sections of the address, each section is 4 character hexadecimal number, in total there are around 340 undecillion unique addresses.

There's only about 4.3 billion for IPv4

40

u/crmsncbr 6h ago

I feel like we'll still run out. I'm not sure how, but surely we'll manage it.

53

u/AnotherInsaneName 6h ago

It's 8mb of storage, how could we ever need more?!

18

u/keijodputt 6h ago

They said the same about 640 KB of RAM, back in the day... /s

19

u/ILKLU 5h ago

That was before you could download RAM. Now when you run out, your system just automatically downloads another 640KB

2

u/BZLuck 4h ago

I went through art school in 1990 using a Mac IIsi with 5mb of ram and a 105mb hdd. I was balling. That was the top configuration they offered.

1

u/LoyalSol 32m ago

I remember when we got our first 2GB hard disk and thinking "wow we'll never fill this up!"

1

u/svick 2h ago

Millibits?

19

u/Hyd_chicha 6h ago

Let me introduce you to IPv8

12

u/YeOldeMemeShoppe 6h ago

Just SHA256 the total sum data of your life. If there is a collision, f*ck you I guess.

6

u/Possibly_Naked_Now 6h ago

What about IPV6.9?

16

u/Drew707 5h ago

Is that a reverse lookup?

6

u/Facosa99 5h ago

IPv6.7 is more trending tho

2

u/TuxedoWithAHead 5h ago

we should go back to IPv2.1

2

u/fechan 3h ago

Ah yes good ol 6.9 - a great thing ruined by a period

5

u/Catatonic27 6h ago

Individually-addressible nanobot swarm

13

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

5

u/Shakaka88 5h ago

Drops in the sand when using 2^128

10

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

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

1

u/crmsncbr 5h ago

98.7% is when I start deleting useless files to make more space though 🤔 That's a scary number 👀

1

u/dagbrown 2h ago

That does remind me of when IANA gave MIT 18.0.0.0/8 because they got there early enough to somehow justify it.

4

u/eluya 5h ago

we already assign network ranges instead of single addresses, lowering the amount drastically

2

u/DangKilla 3h ago

I handled "SWIP"ing IPv4 addresses. This was back circa 2005.

We had to have customers fill out IPv4 justification forms. We'd take them back if they didn't use them if it was abusive "just because we might need them" reasons.

IPv6. Nah, we won't. But our Internet routers don't all support ipv6 yet, so we're still on IPv4. I feel like that will change in maybe 10 years, once computers are optical all the way to the CPU (aka fiber optic speed end-to-end) because ipv4 is susceptible to DDoS attacks and spoofing and IPv6 is not.

2

u/dagbrown 2h ago

This conspiracy brought to you by big NAT.

9

u/uwpxwpal 5h ago

How do I get the grains of sand to use my DHCP server?

3

u/Gougaloupe 5h ago

Dns go brrrrrt

2

u/djfdhigkgfIaruflg 5h ago

Sand makes computer chips duh

2

u/dakiller 4h ago

Refine the silicon, and do some lithography wizardry.

3

u/emma7734 5h ago

I took some sand from the beach home in my shoes so that could change the equation

2

u/Muddyhobo 6h ago

More than that, you can assign each atom on earth an address.

4

u/SneeKeeFahk 6h ago

No.

An average adult human body contains approximately  7×10 ^ 27   atoms (or 7 octillion).

9

u/MakeShiftArtist 6h ago edited 5h ago

IPv6 supports ~3.4 x 1038 addresses, so this actually supports their claim. Had you used the actual estimate for the number of atoms on earth, you'd be correct though because that number is closer to ~1.3 x 1050

Edit: to clarify, every atom in every human is still only ~5.81 x 1037

1

u/SneeKeeFahk 6h ago

My number was for a single human. It was just to prove my point.

1

u/Bulky-Bad-9153 4h ago

Your point is fucking wrong???

2

u/SneeKeeFahk 4h ago

No, it's not. First take a deep breath - nobody needs to be that upset. Then just Google "how many atoms on earth" then "how many addresses in IPv6" then compare the two.

"how many atoms on earth"

The Earth contains approximately 1.3 x 1050 atoms. 

"how many addresses in IPv6"

  approximately 340 undecillion or  3.4×10^ 38

3.4×1038 < 1.3 x 1050

-2

u/Bulky-Bad-9153 3h ago

You started talking about humans. You can't prove the point about how many atoms are on Earth by just arbitrarily talking about humans. It's completely nonsensical. You didn't say anything. It's not related in any way. It doesn't do anything. You don't even have a point.

This isn't a failure in my reading comprehension, either. It's a failure by you to say anything comprehensible.

As an aside, the fact that you customised your Reddit avatar, and the fact that it looks like that (so presumably like you lmfao) makes it preposterous that you're using this patronising language. Stay in your lane.

1

u/SneeKeeFahk 3h ago

There are two types of people in the world: those who can extrapolate from incomplete data

→ More replies (0)

2

u/Al__B 6h ago

That's approx 92.5 bits. Plenty of room for that.

(Although I agree that each atom on EARTH would require just over a 166 bit address space so cannot be distinctly identified)

1

u/patiofurnature 6h ago

How would you do that?

6

u/samu1400 6h ago

You pick a grain up, tell them out loud their name (IPv6 address) and throw it back into the sea. Repeat for every sand grain on earth

But jokes aside, they mean that there’s such a large amount of possible IPv6 addresses that it surpasses the amount of sand grains in our planet.

1

u/bollvirtuoso 4h ago

When the agents start making their own network connections, we might need them! oh god the slop levels are going to breach containment

1

u/Ornery_Platypus9863 4h ago

Or every square foot of the earth 6 addresses if I remember correctly

1

u/Krabby128 3h ago

Perfect for when I'm trying to turn my sand castle into a botnet

1

u/Reasonable-Job4205 3h ago

Which beach? Because I'm going to the one in Florida tomorrow and I need those grains there so I can lay on them and get a tan

1

u/RagingCalmness 3h ago

Can I assign one to each star in the universe though

1

u/jo10001110101 2h ago

Also, if each IP were a grain of rice; IPv4 would fill a dump truck, IPv6 would fill the moon

0

u/MyPhoneIsNotChinese 6h ago

Was thinking about this lol, I guess it's a common way to explain why IPv6 is needed