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?

  • dbtng@moist.catsweat.com
    link
    fedilink
    arrow-up
    7
    arrow-down
    4
    ·
    11 hours 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
        3
        ·
        9 hours 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
          2
          ·
          6 hours 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?

          • Randelung@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            4 hours ago

            That’s what I’m saying. Currently you copy paste if possible or read it off a screen if not. Then you carry it to a network partner. See printers and static IPs.

          • dbtng@moist.catsweat.com
            link
            fedilink
            arrow-up
            1
            ·
            5 hours ago

            Well, for 25 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.