Today in our newest take on “older technology is better”: why NAT rules!

  • orangeboats@lemmy.world
    link
    fedilink
    arrow-up
    26
    ·
    edit-2
    6 months ago

    Every time there’s a “just add an extra octet” argument, I feel some people are completely clueless about how hardware works.

    Most hardware comes with 32-bit or 64-bit registers. (Recall that IPv6 came out just a year before the Nintendo 64.) By adding only an extra octet, thus having 40 bits for addressing, you are wasting 24 bits of a 64-bit register. Or wasting 24 bits of a 32-bit register pair. Either way, this is inefficient.

    And there’s also the fact that the modern internet is actually reaching the upper limits of a hypothetical 64-bit IPv5: https://lemmy.world/comment/10727792. Do we want to spend yet another two decades just to transition to a newer protocol?

    • DefederateLemmyMl@feddit.nl
      link
      fedilink
      arrow-up
      7
      ·
      edit-2
      6 months ago

      you are wasting 24 bits of a 64-bit register

      You’re not “wasting” them if you just don’t need the extra bits, Are you wasting a 32-bit integer if your program only ever counts up to 1000000?

      Even so when you do start to need them, you can gradually make the other bits available in the form of more octets. Like you can just define it as a.b.c.d.e = 0.a.b.c.d.e = 0.0.a.b.c.d.e = 0.0.0.a.b.c.d.e

      Recall that IPv6 came out just a year before the Nintendo 64

      If you’re worried about wasting registers it makes even less sense to switch from a 32-bit addressing space to a 128-bit one in one go.

      Anyway, your explanation is a perfect example of “second system effect” at work. You get all caught up in the mistakes of the first system, in casu the lack of addressing bits, and then you go all out to correct those mistakes for your second system, giving it all the bits humanity could ever need before the heat death of the universe, while ignoring the real world implications of your choices. And now you are surprised that nobody wants to use your 128-bit abomination.

      • orangeboats@lemmy.world
        link
        fedilink
        arrow-up
        10
        ·
        edit-2
        6 months ago

        You’re not “wasting” them if you just don’t need the extra bits

        We are talking about addresses, not counters. An inherently hierarchical one at that (i.e. it goes from top to bottom using up all bits). If you don’t use the bits you are actually wasting them.

        you can gradually make the other bits available in the form of more octets

        So why didn’t we make other bits available for IPv4 gradually? Yeah, same issue as that: Forwards compatibility. If you meant that this “IPv5” standard should specify compulsory 64-bit support from the very beginning, then why are you arbitrarily restricting the use of some bits in the first place?

        If you’re worried about wasting registers it makes even less sense to switch from a 32-bit addressing space to a 128-bit one in one go

        All the 128 bits are used in IPv6. ;)

        • DefederateLemmyMl@feddit.nl
          link
          fedilink
          arrow-up
          4
          ·
          edit-2
          6 months ago

          We are talking about addresses, not counters. An inherently hierarchical one at that. If you don’t use the bits you are actually wasting them.

          Bullshit.

          I have a 64-bit computer, it can address up to 18.4 exabytes, but my computer only has 32GB, so I will never use the vast majority that address space. Am I “wasting” it?

          All the 128 bits are used in IPv6. ;)

          Yes they are all “used” but you don’t need them. We are not using 2^128 ip addresses in the world. In your own terminology: you are using 4 registers for a 2 register problem. That is much more wasteful in terms of hardware than using 40 bits to represent an ip address and wasting 24 bits.

          • orangeboats@lemmy.world
            link
            fedilink
            arrow-up
            8
            ·
            edit-2
            6 months ago

            I have a 64-bit computer, it can address up to 18.4 exabytes, but my computer only has 32GB, so I will never use the vast majority that address space. Am I “wasting” it?

            You are using the addressing bits in the form of virtual memory. Right now. Unless you run a unikernel system, then in that case you could be right, but I doubt it.

            Anyway, this is apples and oranges. IP addresses are hierarchical by design (so you have subnets of subnets of subnets of …), memory addresses are flat for the most part, minus some x86 shenanigans.

            Yes they are all “used” but you don’t need them. We are not using 2^128 ip addresses in the world.

            But we do need them! The last 64 bits of your IPv6 addresses are randomized for privacy purposes, it’s either that or your MAC address is used for them. We may not be using those addresses simultaneously but they certainly are used.

            Despite that, there still are plenty of empty spaces in IPv6, that’s true. But they will still be used in the future should the opportunity arise. Any “wastage” is artificial, not a built-in deficiency of the protocol. Whereas if we restricted the space to 40 bits, there will be 24 bits wasted forever no matter how.

      • hch12907@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        6 months ago

        Hm, didn’t the GP already address (pun unintended!) the 128-bit part?

        He/she said the internet is reaching upper limits of 64 bits apparently and gave a value of 61 bits in the linked comment.