If you have ever read science fiction, you’ve probably seen “alternate history” stories. You know, where Europeans didn’t discover the New World until the 19th century, or the ancient Egyptians stumbled upon electricity. Maybe those things happened in an alternate universe. [BillPG] has an alternate history tale for us that imagines IPv6 was shot down and a protocol called IPv4x became prominent instead.
The key idea is that in 1993, the IP-Next-Generation working group could have decided that any solution that would break the existing network wouldn’t work. There is precedent. Stereo records play on mono players and vice versa. Color TV signals play on black and white sets just as well as black and white signals play on color TVs. It would have made perfect sense.
How could this be? The idea was to make everyone who “owns” an IPv4 address the stewards of a 96-bit sub-address block. IPv4x-aware equipment extracts the entire 128-bit address. IPv4-only equipment routes the packet to the controlling IPv4 address. Wasteful? Sure. Most people don’t need 79 octillion addresses. But if everyone has that many, then why not?
The fictional timeline has DNS and DHCP, along with dial-up stacks, changing to accommodate the new addresses. Again, you had to assume some parts of the network were still IPv4-only. DNS would return both addresses, and it was up to you to pick the IPv4x address if you understood it.
Your ISP would probably not offer you the entire extra space. A regional router could handle all traffic for your neighborhood and then direct it to your specific 128-bit address or your pool of addresses, if you have multiple devices. No need for NAT to hide your devices, nor strange router configurations to punch traffic through.
Of course, back in the real world, we have two incompatible systems: IPv4 and IPv6. IPv6 adoption has been slow and painful. We wondered why [BillPG] wrote about this future that never was. Turns out, he’s proposed a gateway that IPv6 hosts can provide to allow access from IPv4-only networks. Pretty sneaky, but we can admire it. If reading all this makes you wonder what happened to IPv5, we wondered that, too.

so close. he could have named it ip4.2
the idea of IPv4x is based on the wrong assumption that it is (would be) the backbone networks that don’t support IPv6 and would benefit from some kind of transition mechanism. in fact the largest obstacle has always been CPEs (consumer-premises equipment) i.e. home routers, cellular modems etc. with obscure unmaintained firmware.
The long hex numbers were stressful, too.
Most hobbyists and video game fans could tell IPv4 adresses, gateways and sub nets from memory.
But IPv6 was a different beast. It was annoying, simply.
Yes, it could be shortened by using colons.. Still not fun, though.
https://networklessons.com/ipv6/shortening-ipv6-addresses
I don’t think that’s true. Most hobbyists think a /24 is the only possible subnet size, with one byte given to them, and the other three bytes being random numbers with no meaning, and the rest of subnetting is just magic.
Had IPv6 mandated a fixed non-negotiable scheme based on this mode of thinking, it would not have been met with as much resistance.
Had they done something like define a /64 with the first 4 bytes set to zero as this “magic division”, where the shortened colon format of “::a.b.c.d” would not be interpreted as all zeros to the left but auto-filled with the assigned network prefix, users could still represented only the last four bytes in the same dotted-quad format as they do now.
They could limit themselves to a single byte if they want, or two or three, with no further understanding needed.
Let the left side magic do its work just like it does now. Hobbyists and gamers would just collectively call an IP starting with :: “next generation” and leave it at that. They already call hostnames IP addresses so it wouldn’t be any worse for techies really.
They didn’t have to give true backwards compatibility, only the illusion of it.
“They already call hostnames IP addresses” Do they? Really? I don’t.
“If he trades you dimes for nickels and calls watermelons pickles
Then you know you’re talkin’ to that reefer man”
Sadly yes. Maybe gamers more than hobbyists, but heard it as recently as two days ago.
Some minecraft’er talking about the latest word censorship, but at the end, “and if you want to play on our server just connect to IP play dot whatever dot com”
I get ear whiplash every time I hear it.
Sad. Not a gamer but I would certainly qualify as “a hobbyist” here unless there’s a lower category in which case, that. Dollars to donuts you heard that from a youngster.
Yea thats not true. Ive had 3 ISPs 2 of them major national players that didn’t support IPv6. My current ISP that is pretty decently sized and has a lot of the west coast traffic doesn’t support it in my area, and I’ve read in forums thats true in most of their coverage area.
As a consumer I have 0 reason to adopt Ipv6 when all the carriers Ive known wont support it.
imagine if they had done an extension like amd64 was to x86. i might actually be using it instead of just disabling ipv6
Yeah, it’s actually pretty dumb… ipv5 could have been 65535.65535.65535.65535 and it would have been as simple as a 32b -> 64b conversion… but all “small” numbers would still be valid addresses.
Sure humans dont OFTEN read ip addresses, but every it leader knows at least a few on their network. It’s so dumb to completely upend it.
2001:0db8:0000:0000:0000:8a2e:0370:7334
vs
420.269.6767.1
We went from an ip address being 32b 8.8.8.8 to 128b with ipv6 completely skipping over the obvious 64b transition… WHY? 65536.65536.65536.65536 is still very human readable and would last easily for the next 100 years from 4.3b to 18 exabytes of addresses. Why would we need 340 undecillion when 18 exabytes would do?
Are you kidding me!?
Why bother with 16bits instead of 8bits? Only a single bit more and there would be plenty of address space. 8 bits more and you’ve covered the whole internet. So add a single byte in front of standard IPv4 addresses and you’ve plenty of space, no need to change users’ habits either. Instead of w.x.y.z (that would default to 0.w.x.y.z), you can now have address in the form v.w.x.y.z . If done correctly, you can even get a whole private IPv4 net for your own, for example if v is 192 (or 10). The extra byte could be stored in the ‘padding’ section of the IPV4 header (as a XOR of the source and destination address).
But the more you think about it, the more you’ll end up in an IPv6 design. Why limit to 40 bits? Let’s get outrageously large and use 128 bits. Why not remove the ARP / DHCP legacy, if we can embed a static area in the address itself? Why write so many zero for this absurdly large address ? Let’s shortcut them, using Run Length Encoding or both Start and End Markers. And so on.
IPv6 is over engineered and it’s hard to grasp alone, unlike IPv4. But that’s how systems evolve, once every actors start to add their grain of salt, we end up with a disastrous standard that only few can implement correctly.
I have already witnessed two instances of ipv6 address space exhaustion, not because there aren’t enough globally but because there weren’t enough locally. 128-bit is only the address size, not the number of addresses available TO YOU for a given purpose. But those cases are very few and generally depend on certain assumptions and very large infrastructures.
The genius and utility of such a large address space isn’t the total number of addresses available, but rather the number of times you can reasonably subdivide your own subset and still have something useful to work with.
It’s no longer just routing-level and network-level decisions, but rather a whole hierarchy of possible addresses spaces where each can do highly efficient routing logic instead of endlessly complicated tables.
The whole thing is building a highway to “current needs” and not “future needs”. That path leads to always being behind the curve.
Future needs is only based on speculation. The more in the future you’re planning for, the less likely it’ll fit the future when it’s present. IPv6 was more likely built for an alternate future we are unlikely to see happen. It’s already a legacy protocol that was patched so many times, it’s no more future proof. It’s too heavy for embedded use? Let’s compress the header as in 802.15.4. It’s not able to speak with IPv4? Let’s make a NAT like in IPv4 world. And so on…
Grief. I was assigned to write DHCP and ARP for IPv6 for the hot, new Smartphone, Symbian OS, back in 2001. That OS is now on the scrapheap of technology, but IPv6 is still not the standard.
It’s just like xkcd cartoon about standards.
“There are 14 competing standards”
“Ridiculous, We need to develop one universal standard that covers everyone’s use-cases.”
“There are now 15 competing standards.”
There are two main reasons, ultimately, for why this happens.
The first one is the address-space/Y2K style issue. Real software assigns a finite number of bits to addressable entities, and thus if these need to be extended, all the software and data structures related to it need to be updated accordingly. Non-extended software can’t fully talk to the whole expanse of software that uses the extended range, even with gateways, because multiple target addresses get aliased.
The second issue is that software is always a patchwork of the old and new and therefore a patchwork of non-extended and extended systems. Therefore it remains a patchwork of systems that can’t fully talk to each other (though for most cases they work acceptably).
Eventually though, the old systems do get retired, so slowly, IPv6 will take over. As it should.
Hey, that’s cool! Symbian perhaps wasn’t being the safest, but it had a fine library of software.
I remember it from the late PalmOS and WinCE/Pocket PC days.
It used to be #3, sort of. Not counting the small Casio Pocket Viewer platform here.
By the 2050s, I guess. ;) At the moment it’s below 50% of global adoption, it seems.
But even by then I wouldn’t be surprised to see some DOS or Windows 9x installations left running on industrial machinery.
If they’re using a network connection, it might be still MS Lan Manager or IPX/SPX.
These industrial machines will still be around and keep going, just like VGA ports or RS-232, RS-422 or RS-485. Or Arcnet.
I now have IPv6 to my home, and also generally over wireless (cellphone). But i’ve repeatedly followed the sequence: observe problem, disable IPv6, problem disappears. Which is a bit of a bummer, really. It means i’m still facing a hard forced transition sometime in the future, rather than the incremental one i would have hoped for. I feel like i should probably just ‘get over it’ and learn enough to properly configure IPv6 for at least one context, maybe my web browser. But i guess i lack the faith…i think it won’t work, so i don’t try it. And anyways, to properly set up my VPNs and so on, it would be really hard for me to avoid setting up parallel redundant IPv4 and IPv6 simultaneously. And truly, for my VPN, i don’t need 128-bit addressing, i’ve only got a couple dozen computers across my whole life…but my default gateway is accessed over that VPN so….
But one argument for IPv4 has already disappeared, for me. I have been renting a VPS for 20 years now, and i had memorized its IPv4 address. And between the scarcity of IPv4 addresses, and i guess its conflation of logical routing and physical routing, i lost that IPv4 address a few years ago and i haven’t memorized the new one and i expect it to change again on me.
I disable IPv6 at home. IPv4 has plenty of room behind the internet router and my home network router. Internal network uses class B and internet class C. Don’t see the need to fiddle with IPv6… for my use.
IPv6 adoption would go a lot quicker if all the search engines start reducing the rankings of sites that don’t support IPv6.