Remix.run Logo
▲ wredcoll an hour ago

> IPv6 should have really just worked like NAT/IP over IP on IPv4 hardware

This literally exists. There's no need for it to be part of the original specification because it's a completely separate concept.

There's nothing wrong with ipv6 other than the general human desire to not change things that "work" and for people who are currently powerful because they own a bunch of ipv4 to resist changes.

▲superchicken099 6 minutes ago | parent | next [-]

If your solution is that “if everyone just used IPv6 we wouldn’t have this problem” then it’s not a solution. Standards like USB, Wi-Fi, HDMI, DP, etc. are so successful because they are by out-of-the-box backwards compatible with their predecessors.

▲tredre3 44 minutes ago | parent | prev | next [-]

> There's nothing wrong with ipv6 other than [long list of human things]

The unfortunate reality is that technology exists to serve us. If humans don't want to use it, it means that your technology is wrong. End of story. It doesn't matter if you (or any of us) think it's elegant and beautifully designed.

▲asdfsa32 an hour ago | parent | prev [-]

> This literally exists. There's no need for it to be part of the original specification because it's a completely separate concept.

By that token, IPv6 never had to exist at all then, but we know that is completely missing the point.

IPv6 is a privacy nightmare without privacy extensions. It is designed with "a stupid desire to pretend we can boil the ocean".

Close to 3 decades and we are barely scraping 50%: https://stats.labs.apnic.net/ipv6/

▲boredatoms an hour ago | parent [-]

Running a IPv6-only network that doesn’t interact with IPv4 networks in any way is great and it works.

The actual gap is the mess of mixing/transitioning, and it wasnt planned properly in the last 30years

▲asdfsa32 36 minutes ago | parent [-]

Yeah, that is the whole point. It was never going to be a clean cut. "Works in my lab" isn't good enough for real world.

The issue isn't that it wasn't planned properly, the issue is that the real world wasn't taken into consideration by people who either worked for the likes of Google who were aching for a globally unique identifier per device or just delusional about how much we can change in real world.

▲throw0101c a few seconds ago | parent [-]

> Yeah, that is the whole point. It was never going to be a clean cut.

As predicted:

      We believe that it is not possible to have a "flag-day" form of
      transition in which all hosts and routers must change over at
      once. The size, complexity, and distributed administration of the
      Internet make such a cutover impossible.

      Rather, IPng will need to co-exist with IPv4 for some period of
      time.  There are a number of ways to achieve this co-existence
      such as requiring hosts to support two stacks, converting between
      protocols, or using backward compatible extensions to IPv4.  Each
      scheme has its strengths and weaknesses, which have to be weighed.

      Furthermore, we note that, in all probability, there will be IPv4
      hosts on the Internet effectively forever.  IPng must provide
      mechanisms to allow these hosts to communicate, even after IPng
      has become the dominant network layer protocol in the Internet.
* https://datatracker.ietf.org/doc/html/rfc1726#section-5.5

Creating an IPng was always going to be complicated:

      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