6 ms·
The post isn't "Why did people want IPv6" but "Why is IPv6 such a complicated mess compared to IPv4? Wouldn't it be better if it had just been IPv4 with more ad
by jefftk 7y ago
The post isn't "Why did people want IPv6" but "Why is IPv6 such a complicated mess compared to IPv4? Wouldn't it be better if it had just been IPv4 with more address bits?"
- api 7y agoIPv6 is a complicated mess because it was designed by enterprise networking people. Everything in networking is always more complex than it needs to be. Always. Network engineers love to overthink everything and they've never heard of YAGNI.
- zamadatix 7y agoNetwork hardware isn't at the point where it's something you can iterate on as needs emerge. It's largely fixed hardware with a long deprecation period which is expected to connect a bunch of fast changing clients. People/applications are also adverse to changing network abstractions vs buying something that is compatible with what they have today but enables new things. My guess is what you consider unused complexity is just something you don't see/deal with on a day to day basis so you wonder why it's there. This doesn't make it useless/inefficient it just means you don't use it (or don't interact with it directly even if it is used somewhere in the network path)
- syn0byte 7y ago"Any idiot can make a bridge that stands. It takes an engineer to build one that barely stands."
- kelnos 7y agoYAGNI only works when the cost of being wrong is low. In most software, if you do end up needing something later, you can add it without too much trouble. In hardware, it means you need to spend a ton of money on redesign, and then wait years (or decades) for people to upgrade their equipment. In hardware, if you can reasonably foresee the need for some feature in the future (where "future" could even be > 10 years), and adding it now doesn't blow out your cost budget, you should probably add it.
- azernik 7y agoNot just hardware - for the internetworking layer, you're creating a standard that everything has to follow. Extensibility is super important, but so is pre-specifying everything that a minimal implementation will have to support in 10 years.
- api 7y agoThe longevity of network stuff is a stronger argument for simplicity. The cost of being wrong in the direction of excess complexity is higher than the cost of being wrong the other way. Layers are added, never removed. A deficiency can be fixed by adding something. A misfeature or ugly hack is a boat anchor we lug around for eternity.
- Jweb_Guru 7y agoAll I hear are buzzwords. Tell me how you can "just add something" when the protocol doesn't allow you to add it.
- icedchai 7y agoBe glad network engineers think things through. These protocols are around for decades, minimum.
- mindcrime 7y agoYAGNI is a mildly useful heuristic that applies in many situations, but far from all. It's not some iron-clad law of the universe.
- systemBuilder 7y agoExactly correct! Overblown overdesign by people who don't even know the founding principle of the internet - the end to end argument in system design.
- azernik 7y agoExcept it doesn't actually get the reasons right. The complication is because IPv6 is optimized for implementers, not for users or students.
- decnet 7y ago@jefftk: ‘Why is IPv6 such a complicated mess’ Because it was designed by a committee?
- Zrdr 7y agoIPv4 address with more address bits would have worse, because it would have the same incompatibility problem as IPv6, without its benefits. Actually, IPv6 is good design. Adoption is slow because most people and companies always prefer a cheap short term inferior solution compared to the good long term one. Now, IPv6 is 25% of traffic. It will continue to grow, and at a point the network effect will be on IPv6 side. Not long after that, IPv4 will only be a niche for a few legacy systems.
- Dagger2 7y agoNitpick: it's 25% (or 29% peak) of clients. As for traffic... dual-stacked eye-ball clients see about 50-70% of their traffic go over v6 on average. (What about percentage of overall traffic on the internet? That's much harder to measure, but you'd expect it to be something like the product of 25% and 50-70%. But that particular stat isn't actually very interesting; percentage of clients and percentage of servers/traffic are a lot more useful.)