3 ms·
> I'm also convinced that the length of IPv6 addresses and the difficulty in typing them is a major reason for lack of adoption. Possibly, but I think it's als
by kllrnohj 2y ago
> I'm also convinced that the length of IPv6 addresses and the difficulty in typing them is a major reason for lack of adoption.
Possibly, but I think it's also that some aspects of IPv6 are just badly designed, and subsequent updates only fixed some of the issues.
SLAAC, for example, is godawful stupid. And while DHCPv6 exists to fix some of that, critical aspects of the protocol, like prefix delegation, are manually configured. This is beyond idiotic and makes things like subnets massively more difficult than they have any right to be.
SLAAC and PD combine to create the worst sin of all - flakiness. It's hard to figure out why IPv6 isn't working because everything is telling you it is (it "auto configured" a valid IP despite not having any actual route to anywhere else, so helpful! /s). If IPv6 was literally just "IPv4 but 128-bit addresses instead of 32-bit ones" it almost certainly would have been adopted en masse by now. But it isn't, it made things more fragile and harder to configure for no goddamn reason.
And of course you then have ISPs doing silly stuff, like my ISP only gives me a /64 so I literally can't use IPv6 on my network since I want VLAN isolation. 18446744073709551615 possible addresses are given to me yet dividing that up into 3-5 subnets is completely impossible. Fucking stupid protocol.
- api 2y agoWhy is delegating smaller addresses impossible? Kernels will totally take /72, /88, /96, etc. without issue... or at least any OS I've ever used will.
- kllrnohj 2y agoIt breaks SLAAC so routers won't do it. Or if they do, it's non-standard and they won't easily let you do it. /64 is the smallest PD by spec ( RFC 5375 )
- api 2y agoYou can do it with DHCPv6, but of course there's Android. Android aside, it works fine. The core of V6 -- longer IPs -- is great. SLAAC and /64 being the smallest need to be deprecated. It's asinine. Really absolutely everything but longer IPs should be deprecated and was a mistake.
- kllrnohj 2y ago> You can do it with DHCPv6, but of course there's Android. Android aside, it works fine. are you sure? what about homepods, Chromecasts, Hue bridges, kasa smart plugs, esphome, etc etc etc...? How much are you willing to bet your home network on Android being the final user of SLAAC? And how much time do you want to invest in figuring that out in the first place?
- quuxberlin 2y agoIt may brake SLAAC. OpenBSD implements autoconfiguration for non /64 prefixes (IIRC)
- Asooka 2y agoHonestly we probably need IPv7 to roll back most of the things from IPv6 and be closer to IPv4x4. IPv6 is now older than IPv4 was at the time IPv6 was invented. Heck, I would have probably simply added an Options flag for "long address" to support longer addresses. With the first part of the address being the IPv4 address of some ISP backbone router and the next 3 words being a device address on the network (with the all-0 device address reserved for the router itself). Then you don't even need to upgrade most of the routers beyond configuring them to accept packets with that option set. It would have been so simple and elegant and we would have probably upgraded most of the world by 2001.
- kstrauser 2y agoIPv6 looks silly until you learn about the problems it actually solves, and then realize it would be completely impossible to incrementally upgrade IPv4 to get there.
- Arnavion 2y ago>IPv6 is now older than IPv4 was at the time IPv6 was invented. The quantity of existing deployments that need to change is much larger for v6 than it was for v4. The problem with deploying v6 isn't that it's too different from v4, the problem is that it's different at all. Your v7 will have the same problems.
- megous 2y agoYou can have IPv6. Though you can't have SLAAC. Although https://www.rfc-editor.org/rfc/rfc7217 https://www.rfc-editor.org/rfc/rfc7217 doesn't require a /64 or shorter prefix for its variant of address auto-configuration, for example Linux doesn't allow otherwise.