On Thu, 28 Dec 2017 14:14:06 -0500, bzs@theworld.com said:
My wild guess is if we'd just waited a little bit longer to formalize IPng we'd've more seriously considered variable length addressing with a byte indicating how many octets in the address even if only 2 lengths were immediately implemented (4 and 16.)
Actually, that got heaved over the side fairly early in the IPng discussion, because nobody who was building silicon last century wanted to deal with arbitrary-length addresses. The IPv4 header had source and destination addresses on 4-byte boundaries for good reasons which still held true when we did the IPv6 headers. And "even if only 2 lengths were implemented" is a non-starter, because whenever you decide that 7 should be allowed too, you *still* have to do a forklift upgrade on all the stuff that's got 4/16 baked into the silicon. Variable length was only going to work if it was in there from the start - otherwise you never get the first user of 8-byte or 20-byte to interoperate (in other words, the same exact problem we have right now getting legacy IPv4 to talk to anybody who isn't also doing IPv4).