• ShredderFeederA
    link
    fedilink
    English
    arrow-up
    1
    ·
    15 hours ago

    it would obviously involve code updates for compability, and I don’t pretend to know how it would work long term, but it makes the most sense… By prepending the zeros, you expand the number of networks dramatically.

    I would guess that no matter what, everything gets an upgrade… But I think this might make it more seamless.

    • jj4211@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 hours ago

      Basically people see an address like fdec:46f7:9b7f:1::3:20 and run screaming away about the complexity, seeing the address as a comprehensive indication of complexity, even though the real challenges lie underneath.

      The whole ‘traditional ipv4 just has 0.0.0.0’ stuck in front of it is essentially exactly the same idea as, say 64:ff9b::142.251.152.119. Now there’s also the likes of ffff::142.251.152.119 but that’s just so software can pretend to speak IPv6 when the OS is really doing only IPv4. So they needed another prefix to indicate the network doing the v6 to v4 translation instead of the OS.

      Anyway, the thing is that while it cosmetically looks more similar, it’s not really solving the fundamental compatibility situation. It just “looks nicer” because it sticks to dotted decimals. However in practice, would fdec:46f7:9b7f:1::3:20 really be somehow less usable than, say, 120.30.204.78.167.144.120.209? The simple reality is that the 4 octet decimal pushed human usability enough as it was, and going to sufficient octets just brings it out of mere mortal reach. If you did want to say have more friendly local network addresses (the vast vast majority of human memorized IP addresses), then technically you could have fd::1, fd::2, fd::3, and those would all work and be super easy to remember (the ULA RFC says you are supposed to toss in 40 bits of random for good reason, but if you were using 10.0.0.1 style addresses, you would be no worse off with fd::1, fd::2, etc). You can even trivially have them live alongside ‘real’ global IP addresses, but ignore them whenever you want to just hand type a local IP address. You can even have something like a hex DNS. fd::f00d, fd::beef, fd::d00d, and so many more for your pleasure.

      There’s more features in IPv6 but you can ignore them since they are mostly for the machines to wrangle (the fe80:: addresses for example).