4 ms·
> keeping backward operational compatibility It is not possible to be backwards compatibility with a larger address space
by Plasmoid 5mo ago
> keeping backward operational compatibility
It is not possible to be backwards compatibility with a larger address space
- sethops1 5mo agoAnd yet 50% of the internet is using CGNAT just fine. The extra bits are just in a different place.
- johncolanduoni 5mo agoYes, but CGNAT is an inherently stateful system and as a result will always be more expensive to operate per packet than a stateless router. The reason we are seeing steady (if slow) growth in native IPv6 is because the workarounds for IPv4 exhaustion cost money, and eventually upgrading equipment and putting pressure on website operators to support IPv6 becomes cheaper than growing CGNAT capacity.
- hackthemack 5mo agoYou are right that a 32 bit ipv4 stack can not understand a 64 bit packet format. The thing I am trying to get at is not native compatibility, it is operational compatibility via translation. I know, I know, you will probably say that is what ipv6 bridges do. But in an ipv42 type setup, you would have determnistic embedding so that every ipv4 address is represented inside the larger address space. This would allow translation at network boundaries and let old systems continue to operate unchanged. Then the routers and systems would be upgraded incrementally. I think that is why it would have been upgraded more quickly.
- MaKey 5mo agoYour proposal (translation) is addressed as point 3B in the article.
- hackthemack 5mo agoI went and re-read point 3B. I agree that some hypothetical ipv42 faces a translation problem. But it does not follow that address design is irrelevant. The structure of the address space directly determines whether translation can be stateless and alogrithmic. In a hypothetical ipv42 design that preserves a deterministic embedding relationship between old and new addresses, translation at the edges could be largely stateless and mechanically reversible, to reduce coordiation overhead between operators and it makes reachability more predictable. In our world ipv6, the transition seems to require a mix of dual stack, nat64, dns64, tunneling aproaches. The mapping between ipv4 and ipv6 is not uniformly deterministic across all deployment contexts. Also, there is just a human factor. The mental gymnastics that go on. The perception of what is the way forward? With ipv6, it feels like everyone has to go get their ipv6 stack in order. With a hypothetical ipv42, where the ISPs and backbone providers can throw in the translation layers, it feels like, to me, they would have gotten on board much more quickly. Yeah, I know, it is just a feeling.
- convolvatron 5mo agoI agree with you about the embedded addresses, and I don't understand why the space was moved to all zeros to a bunch of other mappings. but the utility of this isn't that high. we already know how to handle 4-4 and 6-6 traffic just fine. but if a 4 host wants to talk to a 6 host, it just doesn't have the extra bits in order to describe it, so this just doesn't facilitate 4-6 endpoint communication at all. this is true even you substitute v6 with any other layer 3 with a larger address space. where it does help is in a unified routing backbone, that would allow v4 prefixes to be announced in the v6 routing system. which is arguably useful.
- thayne 5mo ago> But in an ipv42 type setup, you would have determnistic embedding so that every ipv4 address is represented inside the larger address space IPv6 supports that, but it ended up not getting used very much. See https://en.wikipedia.org/wiki/List_of_IPv6_transition_mechanisms https://en.wikipedia.org/wiki/List_of_IPv6_transition_mechan...
- hackthemack 5mo agoI remember reading about that a long time ago. I wonder why it never really caught on? I think part of the problem is not so much a technical one, as a coordination issue. Who are you more likely to get on board? ISP and backbone providers. What is the path forward? Here is the recommended path forward, kind of thing.
- calvinmorrison 5mo agoI don't see how it matters we forced people into ipv6 as well. Who cares. It's more about the difference in mental models that prevented adoption especially among those who run the services that are on the internet.
- tardedmeme 5mo agoWe have that, it's called ipv6. A section of the v6 address space is sectioned off to hold all v4 addresses
- hackthemack 5mo agoThe embedding I believe you are referring to is not a part of the global routing model. (maybe I am wrong?) What I am describing is making that kind of declaration central to the system in a deterministic, network wide mapping of ipv4 to the larger ipv6 space. The translation in ipv6 ended up being handled by a mix of mechanisms after the fact, rather than a single, uniform mapping model that tied directly to the address structure. I think part of the problem is they did not put that front and center, at the beginning, when doing the initial specification.
- tardedmeme 5mo agoHow would an embedding handle the other 99.999999999999% of addresses not embedded?
- zadikian 5mo agoAt least at first, you wouldn't, you'd embed all of them. Cloudflare has 1.1.1.1, so they get 1.1.1.1:: too.
- Ekaros 5mo agoNot doing that was one of the key points of starting fresh with IPv6. Doing that would mean that you could end up with billions of routes to consider. One reason for large address space is that those with networks could be placed sparsely and left room to grow. Thus allowing less routes in general.
- zadikian 5mo agoIndeed doing it this way would keep the fragmentation, or at least delay fixing it. That's what these articles always overlook, the goal of ipv6 wasn't to just add more bits, it was also to defrag the routes. I think instead of 1.1.1.1::, you could do 4:1.1.1.1::, wait for v4 to be gone, then start building new topologies in the other /8s. Not sure how hard that is, but it seems easier than what they're trying to do now.
- izacus 5mo agoThis is a fake argument. Noone is arguing for backwards compatibility. But there was also no necessity to demand reshaping networks and changing address assignment in a way that made migration extremely work intensive and hard to deploy in parallel.
- tardedmeme 5mo agoHow would you do it?
- izacus 5mo agoI wouldn't try to reinvent DHCP, kept NAT and generally attempted to keep the overall shape of a v6 network the same as v4 networks to ease transition of large deployments. Ipv6 now has most of that - after years of resistance - which results in a mixed mess of "several ways to do it" approaches spiced with clients and equipment supporting a random set of them.