example.com/path/to/article
000 points · username · 0 hours ago
example.com78 points · 71 comments · 10 years ago · teddyh
geocar
ctstover
maw
I don't know whether to respond to that with "what?" or "yeah, so what?" but I'm leaning toward the former. IPv4 and IPv4+ hosts would communicate with each other, but IPv4 would only be able to communicate with the overlapping range of IPv4+.
Addresses in this range would have initially been relatively valuable but their value would be expected to decrease over time as more hosts started working over IPv4+.
I think djb was right, but obviously we're unlikely to ever find out.
xaduha
jerf
In fact probably most of the people reading this only think they know what an IPv6 address is... based on my experience with people who think they know what IPv6 is, most are wrong. Do you know what the "link local" portion of the address is off the top of your head? Do you know what an % sign in the IPv6 address signifies? (This being HN, of course a few thousand of you do; you don't need to prove that in a reply. But I bet the majority of people reading this do not.)
Just look at this page: https://en.wikipedia.org/wiki/IPv6_address
By contrast, I can't link you to the "Wikipedia page on IPv4 addresses", because it doesn't rate its own page. It just gets rolled into a single section on the IPv4 page in general: https://en.wikipedia.org/wiki/IPv4#Addressing
And that's just addresses. There's huge swathes of other changes that require huge amounts of new code to be added to all network devices.
IPv6 isn't a failure (inasmuch as we really should have been done by now) because it requires a total upgrade of all network devices. Probably the vast bulk of critical devices have been upgraded in the time since IPv6 was first standardized. IPv6 was a failure because it also immensely complicated the network protocol and code did not just have to be "slightly modified" to work, but torn down and replaced with a much larger and more complicated chunk of code. IPv6 is not "just" IPv4 with bigger addresses. IPv6 doesn't fail to interoperate with IPv4 because of trivial networking issues, IPv6 fails to interoperate with IPv4 because it's a wildly different network stack that happens to offer similar enough TCP-like abstractions that user-level code often is only slightly affected, but everything else in the stack is profoundly affected.
The advantage of the "just extend it" plan is that it would have been that easy. Perhaps a judicious application of a few solutions to the worst IPv4 problems could have been added. But IPv6 is the technical equivalent of an appropriations bill in the US Congress. We have to do this, so let's take this opportunity to stuff every wish-list item in there we can. We didn't have to do that.
In a way, the article does a better job defending DJB's thesis than attacking it, precisely by pointing out that DJB's plan would have been relatively easy and feasible....
enip
you still need to upgrade all software on the planet and all routers on the planet.
No, you don't. The biggest benefit to using IPv4 as the routing-infrastructure and extra bits (maybe an IP option) to describe the host is that most of the Internet (routers, etc) don't need to get upgraded, only hosts. Routers don't normally mess with the packets so only the first/last wifi/switch actually need upgrading. This is a small number of devices (certainly much smaller than all!).
There could be a few routers that lose the option, and one option is to just fix those routers (still a much smaller number than all routers), but another option is to rely on connection tracking only when the service is behind such a router. The ubiquity of UPNP suggests this path would have worked just fine.
NAT gives us a 32-bit port number pair, which requires memory, makes denial-of-service attacks easier, and is complicated. An IP option means that the hosts track the connection themselves.
Another option would be to move port numbers into DNS. This might've been simple (48-bit addresses are pretty big), and only affected new services. We upgraded all of the webservers and web browsers faster than IPv6 deployed, so this probably would have just been a simple matter of mothballing IANA.
However, I worry we're not actually arguing about what we think someone a decade (or two) ago thought could be the direction to talk about solving a problem.
IPv6 is the biggest deploy attempted on the Internet, and it's been miserable. We should be talking about its failings, its mistakes, and how we could do better knowing what we learned, not patting ourselves on the back for doing the best we could've done knowing what we knew. IPv6 might be inevitable at this point, but that doesn't mean it was right.