4 ms·
I will never stop being angry at the colossal screw up that is IPv6. Why? Because it literally had to solve one, and only one, problem: address space. All the o
by jmyeet 3y ago
I will never stop being angry at the colossal screw up that is IPv6. Why? Because it literally had to solve one, and only one, problem: address space. All the other crap they did was completely unnecessary and nobody cares about it.
Imagine if IPv6 had simply said:
- An IPv6 address is simply an IPv4 address plus 2 or 4 octets
- An IPv4 device would simply get routed an IPv6 address based on the IPv4 "prefix"
We'd have a clear path forward with some level of backwards compatibility and this would've been over decades ago.
- Xelbair 3y agoThey did solve one more problem that leads to performance boost. IPv4 header contains checksum field which must be recalculated on each network hop, as the addresses change with each one. Other than that? i agree. IPv6 is an disaster, and it wouldn't be so if we moved early - but there were no incentives at all to move early.
- georgyo 3y agoIn your world, I have a service that speaks only ip4v2 and a client that speaks ip4v1. How does my packet get there? Everything in between me and them needs to understand how to handle this conversation. Old routers and switches may drop or misroute packets. What about prefixes. The vast majority of ipv4 has been allocated. It we just have more octets then we haven't actually made more available allocations because they will be under already assigned prefixes. The smallest globally routable allocations in ipv4 is a /24. Routing hardware has a limit on the number of prefixes it can route. Just changing that to a smaller size would ease pressure, but even that is impossible without upgrading all switching infrastructure to handle the space. The next version of IP was always going to be a brand new protocol. There wasn't even a realistic option besides that.
- jmyeet 3y agoThe point of an IP4v2 (to borrow your naming convention) address is that because it's prefixed with an IP4v1 address, then it can still get somewhere useful if an intervening router or even the destination gateway doesn't understand IP4v2. Think of IP4v2 as essentially embedding a NAT field into the IP header. This might work or it might not in any given circumstance but the path to make it work is a lot more straightforward. As for the routing table size issue, it's not really an issue at all. Assuming extra octets, a /24 block holds 16M addresses instead of 256 (or 254 realistically). You don't need a larger routing table. This would also allow an organization that might've had a /16 or /8 block or multiple blocks to get by with 1 (or a few) /24 blocks, allowing you to reclaim blocks without making external routing tables any larger.
- growse 3y agoHow does the ip4v1 device know how to address the ip4v2 device in order to send a packet back? > As for the routing table size issue, it's not really an issue at all. Assuming extra octets, a /24 block holds 16M addresses instead of 256 (or 254 realistically). You don't need a larger routing table. If you want to subdivide those 16M addresses in any useful way, you're going to need a larger routing table.
- Etheryte 3y agoThis doesn't solve any of the actual problems we're facing with the migration though? If anything, the problem is now simply harder to debug since you may think you're talking to an IPv4, but actually an old device dropped the extra octets somewhere between you and an IPv6.
- sgjohnson 3y ago> but actually an old device dropped the extra octets somewhere between you and an IPv6. I would think an overflow would be a more realistic scenario. Imagine all the fun that would cause.
- tialaramex 3y agoOne hope for future LLMs is that we could teach them to intervene when people believe stuff like this, providing the person with the appropriate remedial lessons before they post for everybody else to read. Not just technical stuff like this, even broader nonsense like "Before vaccines diseases didn't exist" and "The world is actually flat" and so many of these things. By getting the remedial class in first, from an impassionate machine, there's a chance we rescue them from some awful intellectual mistake they might otherwise feel emotionally committed to, and in some cases from a spiral into Conspiracy Theorist gloom in which the gap between nonsense they believe and observable reality is all explained by a vast all-encompassing Grand Conspiracy. Anyway, no, you can't "just" do this. What's happened here is that you didn't really understand the problem, and then you've "solved" the problem you'd invented, not the actual problem, and surprise, the invented problem had an easy solution. On the upside, you're a step ahead of the people who figure hey, just allow up to 999.999.999.999 for an IP address, that would fix it...
- autoexec 3y ago> One hope for future LLMs is that we could teach them to intervene when people believe stuff like this Would you mandate that everyone run this LLM on their devices? That an ISP or OS should force it on people? I think many people wouldn't mind running an AI locally that did the job of "Catch common errors and misconceptions and alert me to them", but you'll run into the usual arguments of "who decides what reality is" we get now with fact checkers and I could see various websites refusing to let people post anything that didn't conform to the AI's approved worldview. Anyone who thinks the world is flat is going use an AI that supports their own views and they'll just say any AI that disagrees must have been ordered to lie by whoever is behind the round earth conspiracy. Flat earthers are a perfect example of how it doesn't matter how much proof you have that something is factual, or how much you educate people, there will still always be someone who insists on believing a clear lie
- tialaramex 3y agoIn the particular case of HN I was imagining it happening when you hit "reply" but I can't say I had thought especially long about this. I was just lamenting the cost of replying explaining why these "simple" ideas, brought up every time by presumably smart people who've just assumed everybody else is an idiot, are wrong. Today an LLM isn't suited for this because it hallucinates, so your hypothetical Flat Earther can probably quickly get an LLVM to invent a groundbreaking 1996 Canadian study which proved the entire "planet" is actually within 87.35km of Ottawa, creating plausible sounding details as long as you remain interested. Ideally it should be easier for such a system to be self-correcting because the conspiracies always need layer upon layer of conspiracy until basically everyone is "in on it" so as to keep up the deceit with a Grand Conspiracy. The largest successful secrets were probably WWII projects like Ultra and Manhattan, maybe Operation Neptune. None very large, most exposed within a few years (obviously Neptune much faster, you can't keep an invasion secret). So if a belief requires these vast conspiracies that's just wrong, try again.
- DeathArrow 3y agoEven if there's no compatibility between IPv4 and IPv6, there's NAT64/DNS64 which can translate IPv6 to IPv4. MAP-T translates IPv4 to IPv6.
- zokier 3y ago> - An IPv4 device would simply get routed an IPv6 address based on the IPv4 "prefix" You mean like 0/96 prefix or 64:ff9b::/96 or ::FFFF:0:0/9 prefix does?
- viraptor 3y agoThis would require the version field not to change and IHL to not increase (otherwise the overflow of the address would be interpreted as an option). So now you'd have to cram another flag into the header, get rid of all options, and interleave 2 fragments of the addresses because source comes before destination so you can't just extend it. https://en.m.wikipedia.org/wiki/Internet_Protocol_version_4#Header https://en.m.wikipedia.org/wiki/Internet_Protocol_version_4#... I'm not sure how you'd solve that in practice. Not only did we run out of meaningful bits, even ipv7 / addext didn't simply extend the address (https://datatracker.ietf.org/doc/html/rfc1475 https://datatracker.ietf.org/doc/html/rfc1475)
- sgjohnson 3y agoIPv6 is great. The only screwup is that ISPs still refuse to push for it. The only way this could have been implemented is with a brand new protocol. There isn’t even a theoretical way to have a backwards compatible IP.