I know that IPv6 was created in 1998 as a future-proofing, to make sure that there will be enough IP addresses in the works for large networks. IPv4 uses 32 bits and is represented with denary (0-9) while IPv6 uses 128 bits, so there are far more possible addresses, and it is represented using hexadecimal (0-9 then A-F).

What I’m wondering is why IPv4 is still so common, even though the number of devices connected to the internet have skyrocketed with more computers, laptops, smartphones, game consoles, embedded systems, etc. all connected! If it was thought that there would be too few available addresses in 1998, surely that has to be a bigger problem in the modern day?

Additionally, why didn’t IPv6 replace v4, even after nearly three decades of existing? Is it a technological limitation, cost, or something else?

And online I see many sysadmins online (!) complaining about IPv6 being more difficult to work with. Is this because the addresses are harder to remember, are adaptations of the protocol by manufacturers all different (similar to USB-C), or is there some other problem with IPv6? Or is this a case of a loud angry minority, especially in chat forums where people tend to have more polarised views?

Many devices do support IPv6, but it’s not universal like IPv4, despite the standard existing since 1998 and having many advantages. Why is this?

  • Robert7301201@slrpnk.net
    link
    fedilink
    arrow-up
    21
    ·
    9 hours ago

    The first and biggest reason is network effects. If nobody else is using IPv6, then there’s little benefit to switching. Corporations and governments are always resource constrained and there’s not really a business case for switching just because it might be necessary someday. Being that corporations and governments are the ones providing the vast majority of services on the internet, that means there’s not as much reason for switching for end users as well.

    Part of the reason that switching didn’t end up being necessary was that NAT did a really good job of solving the address problem. NAT let you have an internal network behind a single IP address which vastly reduced the amount of public IPs necessary. Even most people in tech probably wouldn’t realize that the concept of public vs internal network didn’t exist back in the day. Everything connected to the Internet had a publically reachable IP. When even that wasn’t enough, they just did it again and had CGNAT, carrier grade NAT. Now you could have multiple households and businesses behind a single IP.

    The final reason is that IPv6 is just different from IPv4. Things like router advertisements and SLAAC require you to learn new things and rethink how you do things. What doesn’t help matters is that until you get everyone switched over to IPv6, you still have to support IPv4 in some way. Dual stack, where you run both IPv4 and IPv6 in parallel, is the most compatible way, but it’s also the most complicated to administrate. There are ways for an IPv6-only network to communicate with IPv4 clients, such as NAT64, but they each have their own caveats. These differences can result in small annoyances to administrators that add up, such as like you mentioned that IPv6 addresses are just not as memorable as IPv4. The natural fix for this is DNS. But like I said, that requires you to rethink your network. DNS goes from being a nice to have to being essential even for small networks.

    Despite all these issues, IPv6 adoption is still marching along. France, India, and Germany have some of the highest rates of IPv6 capable devices, at 83.97%, 78.81%, and 74.30%. (IPv6 Adoption) Globally, we’re sitting around just under 50%. (Google IPv6 Tracker) Some sectors also have higher adoption rates. Mobile carriers are mostly IPv6-only these days. A lot of residential routers also ship with IPv6 enabled.

    • kent_eh@lemmy.ca
      link
      fedilink
      English
      arrow-up
      10
      ·
      8 hours ago

      Mobile carriers are mostly IPv6-only these days.

      I was going to point that out as well.

      Your phone is probably on an IP6 network right now.

      And it will be NATted to an IP4 address when it leaves the carrier’s network to interact with the public internet.

      • grue@lemmy.world
        link
        fedilink
        arrow-up
        5
        ·
        7 hours ago

        Does that mean you can use IP6 to connect despite CGNAT, or do the ISPs that use it tend to firewall off the IP6 connections anyway?

        • Robert7301201@slrpnk.net
          link
          fedilink
          arrow-up
          3
          ·
          6 hours ago

          If your ISP supports IPv6, then yes, you can use IPv6 to get a publicly reachable address when you would otherwise be unable to due to being behind a CGNAT. If your ISP does not support IPv6, you are out of luck. There are methods to translate between IPv4 and IPv6, but they require a public IPv4 address.

          My friend switched to Starlink recently and was disappointed to find out he can’t host Minecraft servers and such due to CGNAT. Luckily, Starlink does support IPv6, so he was able to host his servers that way. The caveat is that we have to be IPv6 capable to join his server.