this post was submitted on 09 Jun 2024
809 points (98.2% liked)

Programmer Humor

19187 readers
1172 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 

Context:

People have been asking for IPv6 Support on GitHub since years (probably a decade by now)

... and someone even got so annoyed that they decided to setup a dedicated website for checking this: https://isgithubipv6.live/

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 11 points 3 months ago (2 children)

IPv6 changed some things. First and foremost it has a huge address space:

  • IPv4: 4294967296 (2^32)
  • IPv6: 340282366920938463463374607431768211456 (2^128)

Then they simplyfied some things:

  • Removed Broadcast in favor of Multicast and Anycast
  • Added autoconfiguration without a DHCP server
  • Better subnetting support

And much more

[–] [email protected] 1 points 3 months ago* (last edited 3 months ago) (1 children)
  • we already have enough IPv4 addresses thanks to stuff such as NAT and CG-NAT, these devices also protect the end-user by not directly exposing their IP to the internet
  • what's the problem with broadcast? also afaik IPv4 also supports multicast
  • what's the problem with IPv4 subnetting?
[–] [email protected] 1 points 3 months ago

In my opinion NAT is a hack that makes lot of things harder than they should be. STUN and TURN are services that are created because there is no easy way to connect two hosts between different NATs. UPnP for port forwarding is another. CG-NAT is even worse. I have heard of so many people having problems with it.

Breadcast is messy. It is like screaming into a room and waiting for an answer. Multicast lets the computer decide if it wants and needs to listen to a specific group message.

IPv4 didn't have cidr from the beginning. They only had classes. IPv6 was designed with complex routing and sub routing in mind.

[–] [email protected] 14 points 3 months ago* (last edited 3 months ago) (2 children)

They went just a teeny tiny little bit overboard with the address space. Ipv4 is four groups between 0 and 255, ipv6 is eight groups of four digit hex, 0000 to ffff - e.g the Google DNS ipv4 address is 8.8.8.8. the ipv6 one is 2001:4860:4860:0:0:0:0:8888 (thankfully at least some devices allow using :: to skip all the zeroes, so it's "just" 2001:4860:4860::8888)

But we now have enough ipv6 addresses to give more than 10 billion ipv6 addresses to every single grain of sand on earth, and still have some left over.

[–] [email protected] 3 points 3 months ago

They went just a teeny tiny little bit overboard with the address space.

as is seemingly standard for bit range increases. y2038 is now y2,900,000,000 due to added a silly amount of bits.

[–] [email protected] 8 points 3 months ago

They never wanted to worry about address space size again. And this makes subnetting much easier. I have a /56 allocation so I could do 256 /64 subnets. I hope that at some point home routers will have the option for seperate subnets built in. This way you could easily have guest, IoT, work or whatever networks without NAT.

One thing you have to consider though is that the minimum network size that allows autoconf is /64 and that because of the privacy extension a device usually has 3-4 IPv6 adresses.