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?
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.