4 ms·
> Re backwards-compatible: we have no problems upgrading other protocols (like TLS or SSH) while keeping some amount of backward compatibility. The procedure is
by growse 3y ago
> Re backwards-compatible: we have no problems upgrading other protocols (like TLS or SSH) while keeping some amount of backward compatibility. The procedure is known: (1) create software which talks both old and new versions, auto-selecting right one (2) start deploying, initially in compatibility mode (3) once a very high fraction of devices are upgraded, start cutting off old versions.
The IP stack is nothing like TLS or SSH. Besides, step (2) in what you're describing is what we have today, and is called dual-stack. Pretty much all software today can communicate on sockets with v4 or v6 addressing, and the vast majority doesn't actually care.
> Next, recommend that every router has some sort of SIIT translator by default ...
"Simply draw the rest of the owl". I have a sibling comment where I explain why it's not as simple as just "translating the packets in the router". You need a solution to how most of the protocols that underpin the internet are going to work (ARP, DNS etc.) because they historically were all very tightly coupled to IPv4.
> But no. One of the large goals of IPv6 was to "simplify everything" so such solutions would be unacceptable. Everything that could be used to ease IPv4 transition was extra complexity, so this information is hidden and left for special circumstances only. IPv6 is a shining example what happens when people want to design nice, clean system without backwards compatibility.
Simplifying things is a laudable goal. If you're designing a replacement for something, once you realise that backwards compatibility is impossible, then you then have an opportunity to fix some things to make them better (e.g. neighbour discovery, routing). IPv6 is not perfect by any means, but given the enormous task, complexity and competing constraints, I think they did an ok job.
Pace of adoption is entirely an economic issue, not a technological one. There's no change without incentive: the carrot was never particularly big and until recently the stick was non-existent.
> but how often do you have full node-to-node communication? Things like NAT64 can help you transition, but try finding it in a beginners example.
I use full node-to-node communication every day. It's the bedrock on which the internet functions. Also, I managed to get NAT64 working by fiddling with my DNS server (unbound) and installing jool on my router. Took me about half an hour.
- theamk 3y agoI've replied about protocol compatibility in the other thread. Here, I'd just say: Yes, simplifying things is a laudable goal -- but so is keeping things compatible. You need to choose a right tradeoff here, if you want your system to take less than 30 years to deploy. As a very concrete example: there is no reason that having 128-bit addresses should means your usual node now has half a dozen of them, per interface. It was someone's personal idea, which would normally be completely ignored, but this time it was merged into larger proposal that promised something people wanted.
- NoZebra120vClip 3y agoI remember in the early-mid 90s, I would read many of the foundational RFCs, the ones which became STDs, etc. and down at the bottom, there is always a section labeled "SECURITY CONSIDERATIONS", and every last one says in a single line, "Security considerations are not addressed in this memo." :facepalm: