Live data from Hacker News

Schrödinger's IPv6 Cat

labs.ripe.net

41–50 of 74 posts

Re: Schrödinger's IPv6 Cat

#41
post #33

Earlier quoted context omitted.

> What's your idea, specifically? This is the problem. Lots of arm-chair protocol engineers claim it'd be easy if 'They did X'. Of course, these immediately fall apart under the barest of scrutiny but they keep coming up. Here is your challenge. Create a way to add this address space extension in a way that doesn't break backwards compatibility. Remember, you need to be specific how you would add the change and how i…

> address space extension in a way that doesn't break backwards compatibility. i didn't say it wouldn't break backward compatibility - you're moving the goal posts. what i said was "a superset of IP with a different packet format and wider fields" > arm-chair protocol engineers don't be condescending. i've likely been designing protocols for longer than you think. > Remember, you need to be specific how you would add…

So here is an exercise: go look at the structure of an IPv4 packet. It’s not complicated. Can you see where you can cram 32 additional bits? Or even 24? Because if there isn’t a place for them then you cannot possibly extend the IPv4 address space without breaking backwards compatibility. Anyone can do this exercise, and anyone who has an opinion should do this exercise.

Spoiler: you will come to the conclusion that you can’t find the additional bits. Your only option is to break compatibility and create a new packet header format. At this point you can choose literally any size address larger than 32 bits. 64 is good, but the cost to go to 128 is literally nothing while giving you a lot more possibilities of what you can do with it.

Lastly, IPv6 fixes a lot of craft from IPv4. It is a more streamlined protocol that is actually easier to work with than IPv4. The people who told you that IPv6 is overengineered didn’t have an alternative better protocol. Their point was that IPv4 is fine and we don’t need anything but what it provides because a new protocol is scary and annoying to learn because new things are scary. Literally, mathematically, there is no alternative that solves address exhaustion in a backwards compatible way. CGNAT is the overengineered hack, not IPv6.

I really hope you stop respond in to people with nonsense before you look at the packet structure yourself.

Re: Schrödinger's IPv6 Cat

#42
post #33

Earlier quoted context omitted.

> address space extension in a way that doesn't break backwards compatibility. i didn't say it wouldn't break backward compatibility - you're moving the goal posts. what i said was "a superset of IP with a different packet format and wider fields" > arm-chair protocol engineers don't be condescending. i've likely been designing protocols for longer than you think. > Remember, you need to be specific how you would add…

So here is an exercise: go look at the structure of an IPv4 packet. It’s not complicated. Can you see where you can cram 32 additional bits? Or even 24? Because if there isn’t a place for them then you cannot possibly extend the IPv4 address space without breaking backwards compatibility. Anyone can do this exercise, and anyone who has an opinion should do this exercise. Spoiler: you will come to the conclusion that…

what i said was "a superset of IP with a different packet format and wider fields"

well, yes obviously you need more bits. what you don't need is all the other changes.

> I really hope you stop respond in to people with nonsense before you look at the packet structure yourself.

don't be condescending.

Re: Schrödinger's IPv6 Cat

#46
post #26

My ISP no longer allows port-forwarding of ipv4 addresses as 1 public ip is shared amongst many ISP customers. This is due to a migration to MAP-E. IPV6 is pretty much my only choice for hosting stuff in offices and at home. Is MAP-E becoming prevalent?

I feel like lots of providers in Japan are using it now. MAP-E is awful, it doesn't use typical IPv6 acquisition methods and the ipv4 address/allowed forwarding ports are calculated based on the IPv6 address (using a public/fixed table?).

Re: Schrödinger's IPv6 Cat

#47

Here’s the real reason we won’t move to IPv6: NAT is used as a security feature in IPv4. World isn’t willing to do the work to make that transition.

Wrong. It's more about money. People who run ISPs have said they don't support IPv6 because they won't see any return on the cost. These ISPs use CGNAT and like to solve customer "issues" by selling them a static IP. They would sell far fewer static IPs and actually have to look into issues rather than dilly dally around a bit so the static IP "fixes" the issue. They like to blame issues on other nefarious customers causing shared IPs to be banned or something like that.

Re: Schrödinger's IPv6 Cat

#48

Earlier quoted context omitted.

I've never seen anyone explain a "straightforward" way to extend the bits without having 90% of the same adoption difficulty. What's your idea, specifically? Also extension mechanisms like that already exist as part of ipv6.

IPv6 changes far more than the address size. Why mandate the use of Neighbor Discovery Protocol instead of the much simpler ARP? Why change the rules for UDP checksums? The checksum field in UDP over IPv4 is optional. The checksum field in UDP over IPv6 is required. This is a major pain for protocols that change fields in transit, such as PTP. I could go on. There are important reasons for each of these decisions, bu…

As you noted, there were important reasons for those changes – they even helpfully summarized them in a dedicated section of https://datatracker.ietf.org/doc/html/rfc4861#section-3.1; the checksum benefits are obvious – and none of them were major factors in the rollout delays.

The single biggest factor was that changing the header format broke every decoder in existence, and it took a long time both to get all of that old hardware and software aged out of common use since there wasn’t a legal or financial compulsion to do so. Nobody delayed migration because they liked supporting ARP+ICMP more or critically depended on being able to half-ass the implementation of an obscure time sync protocol - if you don’t update checksums, lots of things will stop your traffic even in an IPv4-only world. The main reason was that everyone had to replace their network infrastructure, review firewall rules, etc. and early adopters were only rewarded with more pain. Given how painful that has been, I sympathize with the people who said we should go to 128-bits because we never want to repeat the process.

Re: Schrödinger's IPv6 Cat

#49

Quasi related; how does one find out if your ISP is using CGNAT? I'm rather lucky in that my ISP recently started offering IPv6 (and somehow my workstation appears to be using it by as the default), but none of the other PC's on my network do. (Win11 change perhaps?)

I don't know of any ISP that will give you a public ipv4 address for free.

More interesting is windows 11 auto configuring ipv6. Does you pc have a public ipv6 address starting with 2:: or fe80:: link local address?

Quick ipv6 crash course. Instead of DHCPv4 (there is DHCPv6 but it's optional) being required for address configuations, ipv6 uses somting called Stateless address Autoconfiguration (SLAAC). Normaly your router sends out Router advertizments packets and this tells devices about the default gateway, public prefix, dns etc... and pc will generate a public ip of (64 bit public prefix):(64 bit random number).

It seems like Windows 10 and eariler will not do ipv6 unless your router advertises it.

TL;DR learning ipv6 is easier than disabling it at this point

Re: Schrödinger's IPv6 Cat

#50

Earlier quoted context omitted.

I'm afraid I don't follow. The way to express the design in a pure-IPv6 world would be that you use ULA addresses to reach the AWS services that you use and globally-routable addresses to reach the outside world. Given that the cost that we're avoiding paying with the mechanism I described in my previous post is the ongoing cost for globally-routable IPv4 addresses, I'm not sure what cost you're talking about paying.…

Running single stack hosts is absolutely a reasonable goal. If i have choice between running ipv6 and nat6to4, and ipv4, ipv6, and nat4, surely the former is both a simpler setup, and a further step towards a real full v6 internet?

I agree, but more and more customers are strictly limiting egress for security reasons which reduces the argument somewhat. I think it’s more likely that not overpaying for NAT Gateways will be a more effective source of pressure for AWS customers.
Post reply on HN