Roses are red, violets are blue, everyone is using IPv6, why aren't you?

carrylex@lemmy.world to Programmer Humor@programming.dev – 791 points –

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/

211

You are viewing a single comment

whats the problem with IPv4?

Their ranges are running dry. Nearly all address spaces are taken, so we will need to migrate eventually. However, since almost everyone still supports both, and ipv4 is much easier to read and maintain, adoption of IPv6 has been slow.

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

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.

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.

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.

  • 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?

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.

IPV4 has a static ceiling for how many addresses can exist. We're concerningly close to that ceiling already. If we were to run out, internet suddenly becomes a fucking nightmare.

1 more...