So we all know of the recent IP crisis. We're running out of them faster than fossil fuels! So what did they decide to do? Come up with IPv6. A fair proposal, I admit.
The problem I have with IPv6 is that it's not backwards compatible with IPv4. This means that all of the IPv4 software and hardware made in the past 2 decades are deprecated and should be destroyed. Well, not really since IPv6 and IPv4 can coexist, but for all practical reasons, they are basically two separate networks. Yes, there are 4over6 and 6over4, but those mostly suck as much as using a proxy.
My suggestion: Modifying IPv4 in increments that is backwards compatible. I'll be using IPvX as the name for my proposal. Basically, address the major concern first. The lack of IP addresses.
My suggestion: use the extra meta-data space in a normal IPv4 packet to contain the extended address. If something only supports IPv4, it'll fall back to the IPv4 address. (which may function as a IPv4 to IPvX tunnel or vice-versa). What does this mean? Basically, a router could continue to use IPv4 and if the ISP supports IPvX then it implicitly creates a tunnel and poof. Packets still get to your router, and IPvX will work if your computer supports it. Even if your router doesn't. This is what makes it awesome. Hell, even if your ISP doesn't support it, if your router does then it'll work and packets will still get to your computer containing the useful IPvX information.
At worst case, my proposal could've at least made it so that people would have time to fix some of IPv6's shortcomings. Instead "Implement IPv6 or you'll run out of IP addresses! Oh noes!"
I bet if this proposal would actually work(I suspect it will, but of course, not sure) and if I had came up with it before IPv6, it would've solved the lack of IPs about 6 years ago.
Don't expect people to switch to some new technology(that isn't compatible with their current technology) without having some huge benefits. IPv6 doesn't benefit the average joe user much. It doesn't even benefit most developers. System admins do like it though. I like the idea of IPv6, but in implementation it's hard to get supported due to the chicken and egg problem, and even harder because it's a bit crufty. It looks about like C++ in the form of a network protocol. The creators seemed to have the "throw in the kitchen sink as well. You never know when you might need to configure a teapot across IPv6"