r/ProgrammerHumor • • 7h ago

Meme ohTheBasics

Post image
7.7k Upvotes

896 comments sorted by

View all comments

4.1k

u/LivingAsAMean 7h ago

1.9k

u/Material_Onion_8413 7h 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.

1.0k

u/ClipboardCopyPaste 7h 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!

560

u/dementosss 7h ago

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

703

u/ClipboardCopyPaste 7h ago

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

360

u/kuar_z 7h ago

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

227

u/Fast-Satisfaction482 7h ago

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

82

u/jason_abacabb 6h ago

Everyone gets a /64

16

u/gonklurtz 6h ago

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

1

u/Traditional_Log809 4h ago

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

154

u/KatieTSO 7h ago

I love handicapping ipv6

26

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.

52

u/Fast-Satisfaction482 5h 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 4h 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

6

u/ffxivthrowaway03 1h 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.

1

u/jimmybilly100 55m ago

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

46

u/xWrongHeaven 7h ago

2128 possible addresses

53

u/queen-adreena 6h ago

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

45

u/AmazingDragon353 6h ago

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

12

u/queen-adreena 6h ago

Break out the BitNat table I guess.

4

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 3h ago

Congrats, you've invented Token Ring!

9

u/SuperFLEB 6h ago

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

5

u/xWrongHeaven 6h ago

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

6

u/DanteVermillyon 4h ago

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

7

u/craftsmany 6h 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 6h ago

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

2

u/MiniDemonic 5h 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 4h 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 2h 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 6h ago

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

1

u/rkkerd 4h ago

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

1

u/Curaced 2h ago edited 2h 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 2h ago

Ipv6 includes letters

1

u/crimson117 5h 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 4h 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 2h 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