Keith Moore writes: > This was shortsighted, just like having the notion of "class" built into > IPv4 addresses was shortsighted. Just about everything about address allocation has always been shortsighted. I have a simple idea: Why not just define the first three /32 chunks of the IPv6 address space as three IPv4 spaces, and leave the rest of the IPv6 reserved? This triples the amount of address space available to 12 billion addresses. You put all the existing addresses in the first chunk, and then expand to the second and third chunks as required once IPv6 is widespread. You leave all the rest ALONE until these chunks are exhausted. Simple, no? And it involves no stupid decisions that will cause the entire address space to be exhausted in twenty years. It buys you possibly decades of time in which to think of a new and better way to allocate a bit more address space. You proceed by small increments like this for the future, never attempting to allocate the entire space at once. And if you do it that way, there's a good chance that you'll never run out of space, and rewriting will be minimal or nonexistent. > Fortunately the mistake is easily rectified, so long > as software doesn't get into the habit of expecting the lower 64 bits > of an address to be a unique interface identifier. Why dedicated /64 to anything? We are getting by just fine on /32 for the whole world right now. Why is a sudden expansion of 2^32 required RIGHT NOW? See, that's the classic mistake: Everyone wants to divide the entire address space RIGHT NOW, without any clue as to how the world will evolve in years to come. Nature may abhor a vacuum, but it certainly also seems that engineers abhor unallocated address space, and will try to allocate everything even when they are lightyears off the mark, and even if it means rewriting all the software in the world a few decades later.