4 ms·
That's pretty much what v6 is. The other proposals were significantly different to v4, but v6 works almost exactly the same as v4 does. It's also backwards com
by Dagger2 3y ago
That's pretty much what v6 is. The other proposals were significantly different to v4, but v6 works almost exactly the same as v4 does.
It's also backwards compatible with v4 in pretty much every way that you can be backwards compatible with v4. It's not v6's fault that v4 isn't forwards compatible with bigger address sizes.
> Increasing size of some structs and recompiling software is easy
This turns out to not be so easy. People are STILL writing new code with "struct sockaddr_in" allocations and "socket(AF_INET, ...)" and crap like that. That's the main thing blocking people from moving from dual stack to v6-only today.
- theamk 3y agoThis could be true in 2000, but its 2023, all major software (and hardware) has IPv6 support. And yet my work's office and DC networks are IPv4 only and have no immediate plans for transition. Why? Some of the reasons: - IPv4 and IPv6 are treated as completely separate things. So tunnels, firewalls, etc.. need to be configured twice if you want both IPv4 and IPv6 support. Any IP-related settings or database fields must be duplicated. (Linux didn't help here with iptables6 being completely separate; neither did FreeBSD by prohibiting combined ipv4/ipv6 sockets). - Best practice in IPv4 is single internet-capable address per machine. Best practice in IPv6 is multiple internet-capable addresses per machine, and sometimes they also dynamically change. This means all the logic which assumes "machine's IP address" need to be rewritten. - Usual practice in IPv4 is NAT + private IP ranges, which completely hides internet provider's IP allocation. Usual practice is IPv6 is "leaking" ISP-provided data to every end station.. if you get a new ISP, you get to renumber all the device and change every hardcoded IP. - Address format is different - all the logic which touches IP address needs to be updated. And .split(":") is no longer going to cut it. ... etc.. there are tons of reasons which are not related to "struct sockaddr_in". (One interesting observation is at lot of it is "best practice" or "implementation details": technically IPv6 is flexible enough to operate in IPv4-like mode... In theory, one can build IPv6 network on fixed addresses allocated by DHCP that uses NAT for internet access, so that existing tooling is preserved. In practice, of course, attempting to create such monstrosity will get you laughed out of the meeting.)
- allarm 3y ago> if you get a new ISP Get an v6 PI space, with v6 it’s cheap and easy. In v4 it should have worked exactly the same, if it weren't for the limited address space.