← Back to context

Comment by mahboi

17 hours ago

IPv4 is better than IPv6, and imperial is better than metric. I would like something to replace IPv4, but that thing shouldn't be IPv6 and probably won't be at this rate.

How are they better?

  • IPv6 has a huge amount of bloat created by guys in cargo shorts and pony tails being flown out to exotic locales 3x a year for IETF conferences to argue about minutia and try to get their name on some IPv6 spec document. All they needed to do was add a couple more dots onto IPv4 and maybe switch to hex.

    • > All they needed to do was add a couple more dots onto IPv4 and maybe switch to hex.

      There is no 'just' extending the address length:

            So it's a matter of mathematical and physical fact that to expand
            the address size, you must change the protocol, and that means 
            [three] things immediately:
      
                  You have to change the version number.
      
                  You have to add new code to handle the new version.
      
            […]
      
                  You need a coexistence technique so that updated systems, 
                  with the new protocol, can connect to old systems that know 
                  nothing of the new protocol.
      
            Two minutes of thought show that this third requirement has only 
            two solutions:
      
                  (3A) Dual stack, in which the new machines speak both 
                       the old (IPv4) and new (IPng) protocol.
      
                  (3B) Translation, in which something translates addresses
                       between the old and new protocols.
      

      * https://github.com/becarpenter/misc/blob/main/why6why.md

      * https://datatracker.ietf.org/doc/html/rfc1671

      You also have to update DNS to create new resource record types ("A" is hard-coded to 32-bits) to support the new longer addresses, and have all user-land code start asking for, using, and understanding the new record replies. Just like with IPv6. (A lot of legacy code did not have room in data structures for multiple reply types: sure you'd get the "A" but unless you updated the code to get the "A+" address (for "IPv4+" addresses) you could never get to the longer with address… just like IPv6 needed code updates to recognize AAAA, otherwise you were A-only.)

      In any 'address extension' plan the legacy code cannot use the new address space; you have to:

      * update the IP stack (like with IPv6)

      * tell applications about new DNS records (like IPv6)

      * set up translation layers for legacy-only code that cannot be update to reach extended-address-only destination (like IPv6 with DNS64/NAT64, CLAT, etc)

    • Wasn't it from academics in their ivory towers? That's kind of the opposite of flying out to exotic locales.

      Of course, back here in the real world you can look at the RFCs yourself and see that they're credited to places like Ipsilon Networks, Xerox and Sun Microsystems. Boring corporate network companies.

      3 replies →

    • Nah, the details in the spec all have good reasons, but it's based on the original mistake of making it an entirely separate network from v4 with new address blocks.

      4 replies →

  • IPv4 is inherently more user-friendly. IPv6 was designed for a world, in the 1990s, where it was expected that every host wanted to be routable. SLAAC etc were all natural consequences of that. For today's use cases, the v4 NAT public/private thing actually turned out to be nicer than v6 global routing. There's still confusion today about whether devices are exposed on a v6 network because the spec itself says default-deny firewall is optional. They had to recently add privacy addresses. The other kinds of v6 addrs like link-local and ULA add more complexity. V4 addresses are easy to remember, which v6 advocates keep saying doesn't matter but it does. There are all these little network management details that are messier in v6, as you will find on online help forums for v6 advocates who you cannot write off as just being too used to v4.

    The v6 spec also has all these alternative ways to use it more like v4, commonly brought up as a cop-out against the above criticisms, but that's actually part of the problem. The spec is too big, and things only implement a subset of it, see Android not supporting DHCP6. Realistically you'll have 99% of people using anything like this the default way, and the spec does define SLAAC, no-NAT, etc as default.

    But you could say v6 is better just cause it has more addresses, and that's fair.

    ...Imperial is better than metric because it lines up with everyday usage better unless you're specifically concerned about the physical properties of water. Especially ˚F vs ˚C. Not a big deal though.