Well this post sure makes an incisive point about the power of... successive powers of 2? We could add just 4 bits to IPv4 addresses and address any reasonable addressing argument, providing 10-20 static IP addresses for every man, woman, and child on the planet. That's not the challenge.
The challenges are:
* It is extremely painful to migrate from IPv4 to IPv6, not just because of the obvious stuff (like renumbering and upgrading routers) but also because tons of important programs are written to assume an IP address is 4 bytes long, or fits in a scalar data type.
* The argument for enduring that pain is weak. There are 6 billion people in the world, so we can't number them directly. But I haven't had a static IP address in years and years, and if you offered me an address out of 172/8 for my laptop I wouldn't take it. Most of the Internet works fine through NAT, and the trend is towards more NAT-friendliness.
* Any argument about the scarcity of IP addresses is clouded by the fact that IP addresses are doled out OPEC-style by a cartel of standards groups with an ideological bias towards hastening IPv6 adoption. There's no liquid market for netblocks, so we don't know what they're actually worth. Of course, if we had such a market, we'd probably find out that they're not worth all that much to people with laptops, and readily affordable for people with servers.
Put differently, in a vain attempt to steer this back to the topic at hand: you could make a similar point about the sheer size and flexibility of ASN.1 and X.500 directory naming schemes. But nobody's talking about chucking the DNS to get that.
While I'm not going to dismiss your argument entirely, it basically boils down to "Migrating to IPv6 is hard. Let's go shopping". Now the question which would be reasonable to ask is how hard would this migration actually be, coupled with how needed it actually is.
Right now you might say "There are 6 billion people in the world. Exploiting the existing address-space more efficiently, coupled with NAT will be 'good enough'". This may or may not be true as for now.
However, fast forward one generation, 30 years, whatever. Lets (optimistically? pessimistically?) assume world population is doubled. How about now? Will squeezing the existing address-space coupled with NAT be enough?
At this point there will be 3 people per IP address. And most people will probably have more networked devices than ever, accustomed to being able to work with data independent of network location.
Sure we can add hacks on hacks to make this viable, but at some point we will have to toss IPv4 out and accept that there will be a painful migration. At some point these hacks will cause more pain than a migration away from IPv4.
The question is not as much if we will have to ditch IPv4 but when. If your argument is that we have too much stuff which relies on current IPv4 configuration now, imagine in 30 years.
In short: Your primary concern is not going to get any better.
First: "IPv6 is hard, let's go shopping" is exactly what happened on the Internet. Several hundred billion dollars later, nobody much cares about IPv6.
Second, when you make an point like "NAT may or may not be good enough", the onus is on you to support that point with evidence. Most of the problems NAT-unfriendly technologies were supposed to solve have instead been solved by brute force; HD movies move just fine over inefficient HTTP CDNs.
The rest of your comment just ignores my argument, which is that individuals don't need routable IP addresses for the Internet to work. Many of us never even use routable IP addresses. 6 billion, 10 billion, 20 billions --- as long as the next YouTube can get reachable servers online, what do I care whether my iPencil has a 1918 address?
Networking technologies are "hacks" when they challenge the greybeard orthodoxy, and they're "sound engineering" when they don't. It's funny how quickly we forgot that the Internet itself was a pragmatic reaction to OSI standards. You want to see a "hack"? How about, the NSF decides that commercial entities shouldn't connect to the NSF backbone, and the entire Internet splits in two, and I can't get to University sites from Ripco in Chicago? Guess how long ago that happened? Sorry if I can't get all worked up over whether my phone can talk to your phone over direct BitTorrent.
I feel like we could have just added another byte to IPv4.
It would have been a very simple hack, which makes it more likely to succeed. Also I love the way I can remember IP addresses off by heart right now - that is almost impossible with ipv6.
The cost of migrating from IPv4 to IPvAndys is more or less equally huge as the cost of migrating from IPv4 to IPv6. If you're going to pay a huge migration cost, you might as well do a thorough job of it.
There is a really easy way to do it right now, that just involves recoding some drivers (no hardware needs to be changed): steal the port bytes from TCP and UDP and use them as two additional bytes of host address. No server is using all of its ports; turning them into addresses (and requiring a server to have as many addresses as it has connections open) would flatten the two spaces together, which seems almost elegant to me.
You realize that if you did this, your computer could only ever open 256 concurrent outbound connections to a single host, right?
If you really were going to upgrade every router and switch on the Internet and port every single program that used the BSD sockets interface or the Win32 WSA Socket interface, and for some perverse reason you felt you needed a backwards-compatible frame format, you wouldn't break TCP or UDP to do it. You'd add a pair of IP options, called "source address extension" and "destination address extension".
But of course, you wouldn't do this, because if you're going to go through that much pain, you might as well get the full IPv6 address space.
I'm just not sure thats the case. IPv6 has too much of a 'design by committee' feel to it, which usually means it falls over as a standard in Internet land.
the onus is on you to support that point with evidence
I'm not claiming to be an absolute authority on these matters, but merely trying to breed some discussion around the topic. I don't think it's a clear cut case.
Most of the problems NAT-unfriendly technologies were supposed to solve have instead been solved by brute force
My argument is that over time the brute force required may possibly exceed the work of an actual migration away from IPv4 to something better.
The rest of your comment just ignores my argument, which is that individuals don't need routable IP addresses for the Internet to work.
In that case, my bad. And this is certainly true for large parts of the internet. If this remains true with the evolution of VoIP, SIP and other unified, global communication protocols taking over for traditional telephony, is probably another matter.
as long as the next YouTube can get reachable servers online, what do I care whether my iPencil has a 1918 address?
If routable IPs become such a scarcity only rich people can afford it, expect to see internet creativity drop significantly. Part of what makes internet great today is that anyone can contribute and put something online if they want to.
Sorry if I can't get all worked up over whether my phone can talk to your phone over direct BitTorrent.
That's obviously an extreme, but on the other extreme, if nobody except commercial entities can afford routable IPs, technologies like BitTorrent will die because there will be no connectible peers.
The underclass can't get IP addresses today. Hust because we make hundreds of billions of numbers available tomorrow, doesn't mean those people will be routable for fractions of a cent. There are plenty of logistical problems (RIB size, portability) besides the artificial "scarcity" of IP addresses that retard universal fixed addressing.
The rest of your argument just seems like hand-waving. What fraction of "creativity" on the Internet depends on end-station addressing? Web applications don't care what number your laptop claims, and neither does email or IM. If addressing is hurting creativity, it's because you're being creative at the wrong layer of the stack.
Just because we make hundreds of billions of numbers available tomorrow
Actually its more like 4 billion billion billion billion IPs.
There are plenty of logistical problems (RIB size, portability) besides the artificial "scarcity" of IP addresses that retard universal fixed addressing.
This is indeed true. If you want a small RIB size you need hierarchial address assignment. If you want portability, you need to break hierarchial address assignment. That being said, if portability becomes a limited issue, routing doesn't have to be much worse than it is today, where it is pretty much random.
What fraction of "creativity" on the Internet depends on end-station addressing?
Today I can put up a server on any DSL, have a public IP (and DynDNS if it's dynamic) and I can serve up new stuff to the entire internet without having to pay for hosting. Granted, that is not a business-class solution by any means, but anyone can do it.
If you all of a sudden have to use commercial hosting to put something online, you are 100% at their mercy. What they offer, how they offer it, it will have to work on their server-setup unless you are willing to pay premium for a VPS etc etc.
You want to develop some new kind of project/service which doesn't run over HTTP or on Apache? It sure must be encouraging to know that 99% of the internet wont be able to run or host your stuff since you are at the hosting provider's mercy and they have no plans deploying untested software.
If addressing is hurting creativity, it's because you're being creative at the wrong layer of the stack.
I'll assume this comment means you misunderstood what I was thinking about.
It's 4 zillion IP addresses just like 64 bit address space is 17 billion gigabytes --- meaning, not any time soon. Let's stipulate that we can both do math, OK?
Again, the rest of your argument is hand-wavy. Virtual servers cost dollars a month. Virtually everybody uses them. What's the application I've heard of that, it turns out, is served off someone's DSL? You're saying, the best argument you've got for IPv6 is that it means I might be able to start something Posterous out of my home DSL instead of off Slicehost? Here's a news flash: you can't do that today; your DSL ToS forbids it. Maybe fix that problem before demanding that all the world's socket code get ported to a new address format.
I use EC2, and I'm 'renting' an elastic IP (v4) address from them for 1 cent an hour while it's not in use. I'm using the EC2 instance as a modified proxy server for a startup I'm working on, and obviously, I have to secure it. To do so, in Apache, I set my Allow rule to allow my home IP address for testing, which I can pay Comcast to keep static for me, and the IP address of the server I host the rest of my site on, which grabs content off of the EC2 server to display.
This is easy today, but I worry it will be more difficult if IPv6 migration doesn't happen and there is a shortage of cheap IPv4 addresses. End-user addressing provides immense value to web developers, because it makes it easy to connect computers with global addresses. I understand that NAT can take care of many of the architecture problems, but its still useful, as a developer, to avoid the headache of worrying about the way packets are being routed and just use a single number to represent a single computer/iphone/laser-nose-hair-trimmer connected to the Internet. It's a layer of abstraction that, unless I'm understanding incorrectly, NAT makes more difficult. Am I wrong?
I think it's pretty amazing that you'd have to have a 52ft x 52ft monitor to display all of the addresses in IPv4... and that 88% of the pixels on the screen would represent a device hooked up to the internet, right now.
"Think about how big the Internet is: Google has billions of web pages in its index. Let’s call it a trillion (10^12) for kicks. Think about every wikipedia article, every news item on CNN, every product in Amazon, every blog post from any author. We can assign a GUID for each of these documents.
Now let’s say everyone on Earth gets their own copy of the internet, to keep track of their stuff. Even crazier, let’s say each person gets their own copy of the internet every second. How long can we go on?
Over a billion years.
Let me say that again. Each person gets a personal copy of the internet, every second, for a billion years."
The challenges are:
* It is extremely painful to migrate from IPv4 to IPv6, not just because of the obvious stuff (like renumbering and upgrading routers) but also because tons of important programs are written to assume an IP address is 4 bytes long, or fits in a scalar data type.
* The argument for enduring that pain is weak. There are 6 billion people in the world, so we can't number them directly. But I haven't had a static IP address in years and years, and if you offered me an address out of 172/8 for my laptop I wouldn't take it. Most of the Internet works fine through NAT, and the trend is towards more NAT-friendliness.
* Any argument about the scarcity of IP addresses is clouded by the fact that IP addresses are doled out OPEC-style by a cartel of standards groups with an ideological bias towards hastening IPv6 adoption. There's no liquid market for netblocks, so we don't know what they're actually worth. Of course, if we had such a market, we'd probably find out that they're not worth all that much to people with laptops, and readily affordable for people with servers.
Put differently, in a vain attempt to steer this back to the topic at hand: you could make a similar point about the sheer size and flexibility of ASN.1 and X.500 directory naming schemes. But nobody's talking about chucking the DNS to get that.