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?

  • ChaoticNeutralCzech@feddit.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    28 days ago

    denary

    Yes, that’s technically the correct 10th term in the Latin-based unary-binary-ternary-… sequence but nobody calls it that… I wondered what your mother tongue is but I couldn’t find a language in which the preferred name for “decimal system” would use den- rather than dec-, dek-, des- or a completely different word. Not to mention you avoided senidenary for obvious reasons…

    • sbeak@sopuli.xyzOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      28 days ago

      I dunno, I use the two terms interchangeably. Both describe the same thing and you get the idea with both words. “Senidenary” is much less common than “hexadecimal”, so the latter is preferred. But to be fair, it is kind if weird I used denary then hexadecimal. English is strange, it’s many languages in a trenchcoat.

      • psycotica0@lemmy.ca
        link
        fedilink
        arrow-up
        0
        ·
        27 days ago

        Hmm. I’ve been in math, computer science, and computer programming for 20 years in English (Canada) and I’ve never heard “denary”. It’s cute, but never once heard anyone say it. So they’re not interchangeable to me 😛

  • Greg@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    0
    ·
    29 days ago

    IIRC security is nonexistent when you deep dive into ipv6, thus no one can guarantee anything which in return gets 0 investment for implementation.

    • 4am@lemmy.zip
      link
      fedilink
      arrow-up
      0
      ·
      29 days ago

      IPv6 has the same level of security as IPv4.

      If you mean to say that IPv4 NAT provides security, well please never work on any networks that I need to use.

  • inkblade@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    29 days ago

    Maybe because a 128-bit hexadecimal address is impossible to memorise. I know all (6) my IPV4 addresses.

  • dbtng@moist.catsweat.com
    link
    fedilink
    arrow-up
    0
    ·
    29 days ago

    Every cell phone and a shit-ton of IoT runs on IPv6. There’s a lot of phones out there. I bet you even have one, no? You are using IPv6 right now.

    But if you really want to know why, first learn how to count in binary. It’s gonna be much harder than you expected.
    Then learn how to count in hex. Boy, that’s fun.
    Now convert them back and forth. Yay, what a good time!

    This is a byte. Starting from the right, each place doubles. No, its not backwards, it just feels that way.
    1111 1111
    128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
    Add up the places. You can write any number from 0 to 255 this way.

    You’ve seen that 255 number a lot. Maybe this dotted decimal notation will look familiar.
    255.255.255.0
    For this number (a subnet mask) each of the first three positions is maxed out, and zero is … zero.

    Let’s write it in binary.
    1111 1111 . 1111 1111 . 1111 1111 . 0000 0000
    Does your head hurt yet? It will.

    Now let’s convert it to hex.
    Ya you got it. It’s base-16 integers. So you hit 10 and start counting in alpha.
    0 0
    1 1
    2 2
    3 3
    4 4
    5 5
    6 6
    7 7
    8 8
    9 9
    10 A
    11 B
    12 C
    13 D
    14 E
    15 F

    This is a nibble. It’s half a byte. Ya, that’s a little funny some nerd farted out one day.
    1 1 1 1
    8 | 4 | 2 | 1
    The max value of a nibble is … 15.
    And 15 is … F

    Split the byte into nibbles. Convert the two nibbles to hex.
    1 1 1 1 1 1 1 1
    (15) (15)
    FF

    So let’s do the whole subnet mask.
    255.255.255.0
    1111 1111 . 1111 1111 . 1111 1111 . 0000 0000
    (15) (15) . (15) (15) . (15) (15) . (0) (0)
    FF:FF:FF:00

    And that, my friend, is some of the very simplest hex math you are likely to see.
    In order to convert it from a number you understand, you have to run through binary, chop it in half, and recreate it as hex.
    It gets much more complex than this, and that’s just basic numerical manipulation.

    This is already too long, and I haven’t even written an IPv6 number yet.
    We are just managing single digits here.

    Why don’t people like IPv6? Well, its hard.

      • Randelung@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        28 days ago

        It’s easy once you get used to it. But yes, imo still needing to manually handle IPs is a major failure of IPv6. We recognized we needed many and therefore long addresses, but we forgot the human in the process.

        • Whelks_chance@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          28 days ago

          This still only talks about the how, I don’t see why anyone would ever need to do these operations. Other than copy pasting them around for configuration purposes, why does it matter what form they take?

          • dbtng@moist.catsweat.com
            link
            fedilink
            arrow-up
            0
            ·
            28 days ago

            Well, for 35 years of my career I got by using the subnet cheat sheet. (https://www.aelius.com/njh/subnet_sheet.html)
            And then I got passed over for a couple jobs and decided to get the CCNA.
            These skills are requisite. Mandatory. You ain’t passing without demonstrating competency in the above dance of digits.
            I can write that entire subnet chart out from scratch and first principles now.

  • carrylex@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    28 days ago

    The main reason is money.

    Some companies don’t want to do additional work and IPv4 is “good enough” (although it isn’t) so they do nothing and we are stuck with it.

    • joel_feila@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      28 days ago

      I mean company is worth a few billion and last week at work they considered having a metal tool box to prop open the router room door “good enough”. I’m not in IT, but I was to walk in and write down the ip addresses and try to ping them from my workstation which just let open the command prompt. I literally said “WHY AM I ALLOWED TO DO THIS”

  • carrylex@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    28 days ago

    surely that has to be a bigger problem in the modern day?

    The problem already exists. We have run out of IPv4 addresses for years now and e. g. cloud computing/VPS providers have started charging additional fees for IPv4 addresses.

  • Pipea@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    27 days ago

    Inertia. IPv4 still works, every service on the internet still available over it. You can just be lazy and things will be ok.

    Complexity. IPv6 is complex in the areas where v4 sucks. Ran out of address space? Here’s a lot more address space. Multiple routers offering multiple routes? Just grab them all, have as many addresses as you want. No method to find peers on the same subnet? Here’s like three methods to find peers on the subnet. All this is stuff you gotta learn!

    Workarounds. Initially, ISPs thought that people turned their PC off at night and they’d get the IP address back. Then, they were leaving multiple devices on all day! So they came up with a hack that pretends everyone is behind one IP address, now all your devices are just one IP. But that IP still stays up and occupied all the time, they’re not getting it back, so they put all their customers under another (CG)NAT. It’s just NAT all the way down whenever they run out, and this way they never run out.

    • filcuk@lemmy.zip
      link
      fedilink
      arrow-up
      0
      ·
      27 days ago

      I still don’t understand IPv4 fully after all these years, I’m not sure I’ll ever bother with v6 for my hone network.

      • bss03@infosec.pub
        link
        fedilink
        English
        arrow-up
        0
        ·
        27 days ago

        I’m just too used to setting up DHCP and including the single gateway address in that.

        Setting up a routing advertisement daemon and just letting devices use their (MAC-derived) automatic IPv6 address is significantly different, so I haven’t learned it yet.

        It also doesn’t help that I’ve never been under an ISP that provided IPv6 connectivity, so I’d only be able to connect to IPv4 external endpoints anyway, unless I separate got a 6-in-4 tunnel service of smth.

  • thenextguy@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    28 days ago

    FYI, there’s a new proposal for IPv8 to address the issues with ipv6.

    The main benefit seems to be that it is a superset of IPv4, so all existing addresses remain valid.

    It also has some questionable ‘enhancements’ like requiring DNS records in order to allow routing.

  • Robert7301201@slrpnk.net
    link
    fedilink
    arrow-up
    0
    ·
    28 days 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.

    • joel_feila@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      28 days ago

      I remember my first class on NAT. The teacher said “this was not meant to be a security feature but that one use for it”.

    • kent_eh@lemmy.ca
      link
      fedilink
      English
      arrow-up
      0
      ·
      28 days 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
        0
        ·
        28 days 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
          0
          ·
          28 days 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.

  • 𝘋𝘪𝘳𝘬@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    29 days ago

    Why is this?

    Most corporations have the inertia of a rock when it comes to changes. There is no real reason behind it. Implementing IPv6 is a no-brainer. Same with NATing legacy systems so they can continue using IPv4.

    Instead of manually juggling IP addresses, properly set up environments use hostnames and handle DNS automatically.

    It’s basically “we/I don’t see any short-term benefit from it, it causes some setup work, and it is not important because everything still works”.

    • floquant@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      0
      ·
      27 days ago

      On the LAN side sure, but I don’t think many people would make a public website/webapp “true single stack”. If there’s a network appliance “terminating” the IPv6 connection and “NATting” it over IPv4 that’s a terrible hack that is even worse than not having it at all imho

      Unless you’re talking about the link-local fe80 addresses, but those are basically sparkly MAC addresses

      • quick_snail@feddit.nl
        link
        fedilink
        arrow-up
        0
        ·
        27 days ago

        On WAN. Often hosting providers charge extra for ipv4 addresses, so many servers just don’t get them anymore

  • pryre@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    29 days ago

    I think you might be underestimating uptake. Google suggests upwards of 50% usage. Also I’m fairly certain that a lot of residential infrastructure has been slowly moving to IPv6 in Australia at least. Not an overnight process, but it’s happening. Over here we have a lot of newer mobile plans offering IPv6 as well.

    I think a big holdback is that a lot of larger corporations will still use IPv4/NAT setups at the top level, even if all of the hardware in the network supports it. “If it’s not broke don’t fix it.” The result is huge amounts of daily traffic coming from these institutions being IPv4 by default, with all devices in WiFi, etc, being lumped into the same group.

    • zzffyfajzkzhnsweqm@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      0
      ·
      29 days ago

      I love australia for it. We had to support IPv6 because some of your clients were IPv6 only. And I think this is a good thing. Some push is neccessary.

  • slazer2au@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    29 days ago

    Because people are slow to fix something unless it is an impending problem.

    Take the Y2K bug. Did you know the original person who made the bug was telling people in the 70s that is needs fixing? And it wasn’t actually fixed till the second half of the 90s.

    2038 is going to be a fun year with all the 32bit clocks overflowing to 1970

    • iknewitwhenisawit@fedinsfw.app
      link
      fedilink
      English
      arrow-up
      0
      ·
      28 days ago

      I learned to program in the 1980s. I promise you that for most programs written then the coder was like, “Two digit year, of course. Why waste so many bytes with a four digit year? Nobody will be using this software in 15 years!” And probably 95% of the time they were right…

    • NeatNit@discuss.tchncs.de
      link
      fedilink
      arrow-up
      0
      ·
      29 days ago

      2038 is going to be a fun year with all the 32bit clocks overflowing to 1970

      Actually 13 December 1901, since it overflows to negative, not zero.

      Other than that, good answer, full marks

    • palordrolap@fedia.io
      link
      fedilink
      arrow-up
      0
      ·
      29 days ago

      2038 problems have already started happening in niche cases. I expect things will pick up in pace in a couple of years because 10 years is that sort of period of time that people like to post-date future events by.

      That might be enough to scare a few of the hold-outs. Then 2033 will be the next scare and reminder, because five years, etc.

      Then probably every year after that until the deadline hits. By that point, the remaining few will be using faketime or something like it to eke out a few more years from whatever ancient hardware they’re still running that is too expensive to replace.

      Fun fact, and possible hint: Setting the date back 28 years on such hardware could work in a pinch, since the calendar from 2010 to 2037 is identical to that from 2038 to 2065. All weekdays and leap days fall on the same dates. (Easter and other moveable feasts don’t, however.)

  • Zwuzelmaus@feddit.org
    link
    fedilink
    arrow-up
    0
    ·
    29 days ago

    Additionally, why didn’t IPv6 replace v4

    Same reasons why electric vehicles have not replaced gas powered vehicles (yet).

    The engine is not easily exchangeable, and there are still enough people who build, and people who buy the older models.