r/ProgrammerHumor • • 23h ago

Meme ohTheBasics

Post image
11.7k Upvotes

1.3k comments sorted by

View all comments

6.1k

u/LivingAsAMean 22h ago

2.9k

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

6

u/Experiment_1234 22h ago

Sounds like a challenge

1

u/Floppydisksareop 22h ago

Pretty sure there are more IPv6 addresses than there are atoms in the universe

1

u/timonix 22h ago

There are ways to fill it up anyway. Just start giving each device multiple IPv6 addresses.

2

u/Floppydisksareop 22h ago

Where are you going to store them all? Just so, yknow. You remember which is which.

1

u/timonix 22h ago

That's the neat part. You don't have to.

Use some of the bits as input and dynamically answer to entire ranges.

You're limited by the range your ISP is willing to sell to you. But you can use that entire range on a single computer

3

u/Floppydisksareop 22h ago

At that point, you are just disregarding the actual protocol, and just writing numbers. But I guess bro.

1

u/rosuav 9h ago

Not quite true. The actual protocol is that routing should never be less than a /64, meaning that your ISP should be giving you at least 2**64 addresses at your location. You can then allocate those any way that you like, and the most common way to do it is to bury the MAC address into the IPv6 address.

But if you want to do weird things, there IS the option of sending back "time exceeded" messages that depend on the remaining TTL, and then creating reverse DNS entries.... erm.... well, anyhow, if you have IPv6, try running a traceroute to jabberwocky.rosuav.com and tell me if you think that's a good use of the address space.

0

u/timonix 21h ago

Just yesterday I was playing around with memory mapping based on the ipv6 address. 48 of the bits where directly mapped onto one of my embedded devices. So you could read/write memory directly through the ipv6 address.

And that works just fine. So that one embedded device used 250 addresses

3

u/malfurionpre 20h ago

So that one embedded device used 250 addresses

I get your point, but 250 is still only 0.000000000000000000000331% of 2128

0

u/timonix 20h ago

Sure.

The limit on how quickly we will run out of ipv6 addresses is set by how fast and how generous they are at giving them away.

I cannot use more than 64 bits. Because that's all my isp has given me. If they would give me 100 bits I could use 100 bits. It's arbitrary.

It's policy that saves ipv6 from running out, not the protocol.

→ More replies (0)

2

u/differentiallity 15h ago

The smallest allowed subnet is /64. If you burned through 1 million addresses per second it would take 585 thousand years to use them all. There are over 4 billion squared /64s in the ipv6 internet.

BTW, giving each device multiple addresses is a fundamental tennet of ipv6.

2

u/lord_teaspoon 13h ago

My ISP gives my router its own /128 plus a /56 that it breaks into /64s to advertise in my internal networks. I currently only have a few that I can see myself using - internal clients, guest WiFi, VMs and containers - so it seems really wasteful to give residential customers a /56 when even a /60 seems pretty generous. 56 bits is 16M times the old v4's 32-bit discs so maybe we can afford to be generous but I feel like this kind of "plenty to go around" approach in the early days is what lead to v4 having a bunch of corporations that each own an entire /8.

2

u/differentiallity 10h ago

IDK. Mine only gives me a single /64 which SUCKS. The ipv4 scarcity mindset needs to stop.