Not long ago, the powers-that-be detected an impending crisis. To resolve it, they rushed into action crafting a proposal that represented an unprecedented upheaval of existing infrastructure. On the grounds that "something needed to be done" to avert the crisis, they brushed aside objections that the upheaval was too convulsive and might nonetheless fail to address the underlying issues that had created the crisis in the first place.
The financial bailout proposed by the Treasury Department? No. I'm talking about the creation of IPv6.
Back in the early 1990s, the Internet Engineering Task Force (IETF) decided that IPv4 addresses were being consumed at an alarming rate: Predictions at the time were for address depletion by the year 2000. To avert the address-depletion crisis, IETFers kicked into high gear a working group called IPng (for next-generation), which ultimately became IPv6.
Unfortunately, as many people at the time pointed out, in their haste to fix the address-depletion problem, the IPv6 planners missed a couple of key points. First was that the problem wasn't as grave as initially thought. Developments such as classless interdomain routing and network address translation vastly extended IPv4's half-life. Secondly, and more seriously, IPv6 failed to solve several of the problems that continue to bedevil Internet architecture today. One is the difficulty of multihoming, particularly in a mobile-endpoint environment. Another is address fragmentation.
Finally, IPv6 also introduces new problems. I've written previously about how it increases bandwidth requirements. Additionally, it may create route-resolution problems: Some noted engineers fear that the added computational requirements for route convergence with IPv6 will mean permanent routing instability in large-scale networks. (You'd think academic researchers might have tested this hypothesis by modeling IPv6 routing at very large scales -- so far as I know, they haven't.)
And of course, the transition to IPv6 is reportedly pretty hairy. Gateways don't work as advertised, applications have embedded IPv4 addresses, and overall a lot of effort is required simply to recreate the status quo.
But here's the kicker: IPv6 may be totally unnecessary. As I've mentioned in a previous column, noted Internet researcher John Day has developed an architecture that completely obviates the need for IPv6 -- and solves the routing and multihoming challenges that IPv6 doesn't -- without requiring a painful transition. Oh, and it adds a graceful and elegant way for carriers to manage congestion without needing either deep-packet inspection or application-censoring. Essentially, if implemented correctly, Day's approach makes net neutrality a default capability of the architecture -- while providing carriers with a mechanism by which to protect their networks and charge for value-added services.
Why aren't we deploying Day's approach? Lots of reasons, including the quite good one that it hasn't been delivered in implementable form yet. But the bottom line: Sometimes in the rush to promote a kludge to resolve a crisis, real solutions may get short shrift.