Why is IPv6 so complicated?

46 points by fanf


maurycy

It's weird that people ask this ... because IPv6 is a lot simpler than IPv4.

It drops a lot of features that no one uses like fragmentation. Case in point, the header is only twice the size even though it has four times the address size... and it's constant length so it's easier to parse.

The one feature it adds, flow labels, require no complexity from networks that don't use them, and can significantly simplify ones that do. Being able to put MAC addresses inside a /64 block simplifies IP assignment and network administration. (IP addresses are predictable)

There are definitely things that could have been doing differently (it's 30 years old!), but it eliminates a lot of the built-in complexity of IPv4, and removes the need for bolt-on complexity like NAT/GCNAT.

The benefits are significant enough that many large networks (cell carriers) have dropped IPv4 entirely. Devices can still call out to IPv4 services by embedding the address inside a v6 one. (NAT64) That provides all the perks of v6 without needing to dual stack.

calvin

It’s unfortunate that there’s no real good narrative (books, articles, anything) around the development and rationale of IPv6. It’s just usually handwaved as “idk address exhaustion” when there’s a lot more than that, such as discovery, security, and routing. The predecessor RFCs (such as SIPP and TUBA) are out there, the people are alive, and I’m pretty sure meeting minutes are available too. It’d be nice to have it all collated and laid out.

cks

One of my reactions as a system administrator is that IPv6 changed a bunch more things than just 'IP', only some of which are nodded to in the article. These changed things make it more complicated to add IPv6 to your networks. Now you need to understand the impacts of an entirely different way of doing ARP, and of advertising your network gateway, and etc etc etc. You can't just add some IPv6 addresses to hosts and enable IPv6 routing on your router. Can you tell your existing IPv4 hosts that are doing DHCP that here's their matching IPv6 address? Nope, or at least that's certainly not how you're supposed to do it (at least you use a separate daemon that you have to maintain the configuration for in sync with your dhcpv4 daemon, and yes, some people need that daemon because of our access control decisions).

I think it would have been a lot easier to set up and run a dual-stack environment if there had been less associated changes with IPv6. If it was really just another form of IP address, and you could mostly set it up along side your existing mechanisms without having to think hard, more people might have. (We might have! As it is, the overall university is not likely to do much with IPv6 for years.)