The IPv6 Delusion

by David Crowe

The Short Version

Let me keep it short.

IPv6 is intended to vastly increase the number of Internet addresses.

It will do this when the entire Internet has converted and when there are no IPv4-only clients or servers left.  This will never happen, therefore IPv6 is a massive failure.

This is way too short to qualify for an article in the esteemed 2600 journal.

The Topical Version

Let me be more topical.

IPv6 is to the Internet what Donald Trump is to presidenting.

It is true that Donald Trump is a living human being (at time of writing, anyway) and he meets most definitions of a sentient human, just as IPv6 is an existing protocol that even has its own IETF RFCs.  And Donald Trump does do presidenting, at least when he's not golfing or watching fake news.  But the real work of managing the U.S. government is done by thousands of workers droning away in their Washington offices (at least when the government isn't shut down), planning where to invade next (sorry Michael Moore).  Just like IPv6 does occasionally send packets through the Internet even though the vast bulk of message transmissions use IPv4.

IPv6 Gets Older, But Doesn't Reach Adulthood

Happy adulthood, IPv6, you are now 21, an adult no matter where you go in the world, although maybe you still can't rent a car in all locations.

But what have you accomplished so far, you wastrel?  So much has been written about your promise, but you just sit around the bar, complaining about your older sister while she is busy carrying packets hither and yon from one end of the Internet to the other.  She has time neither to drink nor to complain.

IPv4 was designed to support four billion addresses.

Perhaps it is better to say that IPv4 was designed with a 32-bit address, which supports two to the power of 32 different addresses, which is just over four billion - 4,294,967,296 if you like to be precise.

But hold on a minute!

Surely there are more than four billion Internet accessing devices in the world?  Every cell phone, every smart thermostat, every aging laptop, every server.  Why haven't we run out already?

Well, it is because IPv4 is so NAT-ily dressed.  She is a mistress of disguise with a different boyfriend in every port.

Yes, the ports have saved us.  It is a lucky coincidence that both TCP and UDP were designed with 16-bit ports, a concept slavishly copied by the other transport protocols that followed.  This means that you don't need a real, i.e., public, IPv4 address until you actually want to bravely wander through the Internet swamp in your knee-high rubber boots.

Your Network Address Translation (NAT) device, such as a firewall or router, tags every outgoing packet with one of the real IP addresses associated with your network, and a port number currently unused by that IP address.

When a response is received by your NAT, the combination of public IPv4 address and port number can identify the internal IPv4 address.  When you're not transmitting, the ports can be recycled for others on your network.

Just the Facts, Ma'am

What this really means is that the IPv4 address is not really 32-bits in length, but 48.

That there aren't just four billion addresses, but 281,474,976,710,656 - 281 trillion plus change.

Now, not all of these can be used, because servers cannot play this NAT-ty trick in the same way, and an individual Internet device may require multiple ports because of multiple simultaneous TCP connections, for example, but even if only one percent of these addresses could be used, that still would support two or three trillion devices.

This doesn't come without a price.

When NATs were first implemented, they broke a lot of software.  But when push came to shove, the NATs pushed harder, and the broken software was either fixed or abandoned.  There are other more subtle problems.

Since the NAT doesn't know if a session is alive, it will either consume ports when it doesn't need to or timeout a transaction and recycle the port when a transaction is still outstanding.

Some software sends "keep alive" messages to avoid losing the port to the outside world, and this wastes battery life on mobile devices.  These problems have somewhat been ameliorated with new protocols and definitely don't qualify as a show stopper.

Nothing can stop the IPv4 maven, mavening her way around the Internet with a million packets in each hand!

Acne and Cancer

If IPv4's problems are acne, IPv6's are terminal cancer.

All of its problems derive from arrogance, the arrogance that IPv6 was going to be a completely separate network, with no backwards compatibility with IPv4.  The IPv6 network would grow and grow and IPv4 would wither away.  How'd that work out for you IPv6, you lousy barfly?

Not well.

Imagine you were the first IPv6-capable computer.

Who could you talk to?  You're on a barstool in a bar that hasn't hired its first bartender.  Hard to get a drink, isn't it?  So, after feeling awesome for a while because you're in a fancy new bar, you decide that loneliness sucks and you stagger back to the IPv4 bar.  Well, walk actually, because even your plan of getting horribly drunk hasn't worked out.  Yes, the IPv4 bar could use a new coat of paint, but hell, there's a party going on!  The booze is flowing like IPv4 packets at busy hour!

Stick Your Dual-Stack Where the Sun Don't Shine

To avoid loneliness and depression, IPv6 devices still have to support IPv4, known as dual-stack.

But if you can talk to the whole world with your IPv4 stack, what the heck do you need IPv6 for?

And even though a lot of devices now have dual-stack, and therefore have an IPv6 address, how many IPv4 addresses has this saved?  Right, zero.  So the fundamental benefit of IPv6 won't be realized until... never.

Even if IPv6 is used (and it is, bizarrely enough), it doesn't save addresses.

It gets worse.

Because the whole network needs to be duplicated, there was no thought about interworking between IPv6 and IPv4.  So, ad-hoc methods were developed instead of having a standard prefix to indicate an embedded IPv4 address (e.g. 196 zeroes followed by the embedded IPv4 address).

And worse.

You need a new DNS infrastructure, and this introduces nasty problems.  Let's say that a heavy DNS user, such as a browser, sends out all queries to both the IPv6 (AAAA server) and the IPv4 (AAA).

In many cases, the IPv6 query will not result in a response and, when it does, it will usually be slower.  There is no benefit in a browser waiting for IPv6 when IPv4 has already responded.

So what's the benefit of querying IPv6 at all?  The impact of all these delays would destroy browser performance, so no matter how much the nerdy browser coders are excited by IPv6, they love their performance more.

IPv6 missionaries (and there are a few, hermits really, limited to the tiny world of the IPv6 Internet) claim that one advantage is that IPv6 will get rid of the need for NAT, and now you could have a unique and permanent IP address.

Well, except that now all Internet software is NAT-aware.  And, another problem is that an IP address is not really an address.  Well, it is an address, but an address of an interface card, and not of a device, let alone a user.

You can figure this out for yourself if you go into the settings on your phone, tablet, or computer.  Every interface will have its own MAC address (which identifies the physical hardware for ever and ever, amen) and, if the interface is connected, it will have its own IP address.

And each network will have a different set of IP addresses.  If you overstay your welcome at one coffee shop and go to another, you'll get a different IP address.  And this will be just as true for IPv6 as for IPv4.

The only exception is that if you get a private IP address from a network, it could coincidentally be the same as an address from another network, but through the magic of NAT is actually different.

So, nobody will walk around with their IPv6 address proudly scribbled on a piece of paper in their pocket.  Which is another problem.

You can remember IPv4 addresses, because they are usually represented as a quadruplet of decimal numbers, each being from 0 to 255.

Something like 192.168.1.1 (a common private address) or 127.0.0.1 (which refers to the host computer).

But you can't remember IPv6 addresses because they're too damn long.

Liars Figure and Figures Lie

Some of your readers may Google IPv6 and tell me that I'm BS'ing because Google (as of January 2018) is claiming that about 22 percent of their traffic is coming in over IPv6: www.google.com/intl/en/ipv6/statistics.html

And further, that this is a huge rise from only about one percent in 2013.

And these skeptics can find even more optimism at: www.worldipv6launch.org/infographic

Which proudly proclaims, "IPv6 to the rescue" (they also say that, ""Without [IPv6] there just aren't enough Internet addresses to go around," which is a bald-faced lie, but missionaries were allowed to lie if necessary to save your soul).

They show the Google graph and lie again: "If the trend continues, IPv6 will be the dominant protocol within about four years" (three years, since they haven't updated the graph in over a year, something that is common with IPv6 missionary websites that seem to come and go).

This is a lie because the graph is just Google data, and few companies are as gung-ho on IPv6 as them and, in many non-English speaking countries, Google is not the dominant search engine.  (Anybody heard of China?  Russia?)

The truth is out there if you look hard enough.

AMS-IX, the Amsterdam Internet Exchange, is a small Internet connectivity hub.  Small in that traffic has gone from 1,200 terabytes a month at the end of 2001 to 1,200,000 terabytes by the end of 2017.  Actually, I lie, they are the second largest Internet exchange in the world.

And, how much of their traffic is IPv6, you want to know?

You really want to know, don't you?  Ahem, I'll give you a hint.  It's not looking good... for IPv6.

Unfortunately, they only give the data for the last year, but this should be the best year ever for IPv6 and, well, this is a bit embarrassing.  IPv6 traffic is almost invisible at under two percent, with IPv4 responsible for the other 98 percent: ams-ix.net/technical/statistics/sflow-stats/ether-type

Maybe I'm just cherry picking and I've found an Internet exchange with an abnormally low rate of IPv6 traffic.  Which is not likely, since it is the second largest in the world, and obviously supports IPv6 quite nicely.  In fact, the nice folks at World IPv6 Launch emphasize the relevance of this data by highlighting a graph of AMS-IX IPv6 traffic on their site, using it as an example of growing traffic: ams-ix.net/technical/statistics/sflow-stats/ipv6-traffic

Dosh garn it, the graph does look impressive!  (because IPv4 traffic is not on the graph-good trick guys) with traffic rising from about 50 Gbps (billion bits per second) in April 2017 to about 70 Gbps in January of 2018.

So the total monthly IPv6 traffic is about 70 Gb/sec times 2,629,800 seconds/month (approximately, because not every month is the same length) divided by eight to convert from bits-to-bytes, and dividing by 1,000 to convert from giga to tera.

In other words, monthly IPv6 traffic is the unfathomably huge number of 23,011 terabytes.  Which sounds impressive, until you realize that it is less than two percent of their total 1,200,000 terabytes (as shown by their other graphs).

This company unfortunately doesn't keep historical statistics of IPv4 versus IPv6, but I was able to find two snapshots on the Internet Archive, one from October 2013 and one from October 2015.  These show that IPv6 traffic has risen by a factor of more than four since 2013.  Wow!  From a massive 0.4 percent to an amazing, awesome, incredible, but still rather minuscule, 1.8 percent in January, 2018.  Umm, maybe not so great.

If we extrapolate, which is always dangerous, it will take 298 years for IPv6 to become 100 percent of Internet traffic, at least on this one Internet exchange (the largest does not provide any IPv6 statistics).  That's the year 2316, by which time the oceans will be boiling if we extrapolate current climate statistics, so maybe we'll have worse things to worry about.

So What?

Psychologically, the IPv6 phenomenon is very interesting.

When geeks latch onto a new technology, they won't let go until the flesh has rotted off the corpse, and it is just a dry skeleton.

IPv6 still has a pulse, a faint pulse, so they are happy to tell you it ain't dead yet.

For some cultists, you would probably have to burn all copies of all the IPv6 RFCs before they would believe the obvious truth.  And everyone who is not a geek trusts nerds on important matters like this, because they assume only they are smart enough to figure it out.  "Obviously," they think, "IPv6 must be just around the corner or else the geeks wouldn't keep bowing down and burning incense."  But something is burning - it's the companies spending money on IPv6 (although, if you need dual-stack to get a contract, I guess it's worth it).

So why do I care?

I care because the Internet needs a new protocol for addressing, and it won't get one until IPv6 is abandoned.

IPv7, which is the obvious new name, will obviously also have a larger address than IPv4 (although maybe 128-bits is excessive), but will be backwards and forwards compatible with IPv4.  It will start as a parasite and gradually suck the life out of IPv4 until it is bigger than its host.

And, as it grows, the need for IPv4 addresses will fall, so nobody will care if, 100 years from now, only the 2600.com server is still running with IPv4.

Everyone can still talk to everyone.

And when the final IPv4 server is powered down for the last time, the eulogies for IPv4 will be so moving.

She did, after all, serve so many, so well, for so long.

Return to $2600 Index