[governance] Why we need IPv6 and why you should care
Thomas Narten
narten at us.ibm.com
Tue Feb 26 16:41:00 EST 2008
Getting IPv6 deployed should be of great interest to this
community. The consequences of NOT deploying IPv6 will be large, and
from a public policy perspective, overwhelmingly negative.
Will IPv6 deployment be cost free? Or easy? Certainly not. No new
service roll out comes easy or without cost.
That said, do not confuse this with "IPv6 is undeployable" or "IPv6
doesn't work", or "after ten years of promises, it's clear that IPv6
won't happen", etc., etc., as some seem prone to saying.
And also be skeptical about sound bite quotes taken out of context, or
made by folk who do not themselves have experience/expertise with
IPv6.
But make no mistake. What is at stake is the future of the Internet as
we know it, and all the benefits it has brought us. Really!
Consider IPv4 today. Rather amazing what it has created/enabled and
the applications and services that have been built on top of it. This
has been made possible by the simple service model IP creates, whereby
any machine can talk to any other machine. IP is an enabling
technology. That is its fundamental beauty and strength.
Today, the world consists largely of islands of "pure" IPv4
connectivity, with NATs in between. NATs mostly work pretty well, for
the simple (but limited) client/server model that is widely in use
today. In this simple (but also restrictive) model, pretty much
everything is accessed via a web browser. The key to all this is that
all communication is initiated by a (dumb) client browser, and all
services are accessed via HTTP from some web server that is out in the
Public Internet.
The trouble with NAT is that it only allows one to open connections in
one direction. I (at home) can initiate connections to the rest of the
Public Internet, but you cannot initiate a connection to me. This is a
fundamental restriction of NATs.
This simple client/server NAT model is quite limiting. It doesn't
permit you to (easily) set up a web (or any other) server at home and
have others access it. NATs won't let you do this (or at least, not
without significant limitations, not to mention that it takes a
serious techie to figure out how to configure things and make them
actually work - something the vast majority of users simply cannot
do).
Consider a cell phone with an IP address (the model of all future
devices...). Life sure would be a straightforward if "phone calls"
simply consisted of the caller being able to initiate a direct
connection to your cell phone. That simply doesn't work in a world
full of NATs. (And don't be fooled by skype -- they have developed a
lot of complexity to work around this problem -- complexity that has a
real cost).
As the IPv4 free pool reaches exhaustion, it will become increasingly
expensive to obtain public IPv4 address space. Whether it actually
comes to people buying addresses on eBay or not remains to be seen,
but as the free pool shrinks, the law of supply and demand will kick
in. Costs will inevitably go up. That almost certainly means people
will just use more private address space and increase the usage of
NATs.
Why is such a future undesireable? Consider:
- NATs break a fundamental property of the original IP model. While
one might say (and some do) that this is just a technical detail,
it turns out to be subtly critical. There are entire classes of
protocols that don't work properly in the presence of NATs and
can't easily be deployed when NAT is present. Peer-to-peer
applications come to mind (as one broad class).
- today, there are already applications that don't work properly in
the presence of NATs or have reliability problems (i.e., work
intermittently). The sad thing is, people almost never realize that
NAT is the cause of the problem. When they reboot their machine,
things may start working again. So they conclude it was just
another bug in Windows rather than understanding where the real
problem lies.
- With NATs, it simply won't be possible to deploy entire new (yet
uninvented) classes of protocols and applications. If they don't
work thorugh NAT, they simply won't be deployable (we are already
there today, at the global Internet level). Today, NATs require
special plugins that understand a handful of well-known protocols
that normally wouldn't work through a NAT. To deploy a new
(non-simple client/server) application, however, you have the
classic chicken-and-egg problem of you can't deploy it without
having an appropriate NAT plugin, and NAT vendors won't develop a
plugin for an application that is not already widely deployed. Will
the next Netscape/Google/eBay never happen because the next cool
application simply can't be deployed? Quite possibly. (Sadly, the
larger public won't ever miss something they never imagined they
could have.)
- The Internet continues to grow exponentially. While we are
(generally) today talking about one NAT between you and the rest of
the world, the future will be multiple levels of NAT. The overall
robustness and reliability of the Internet will decrease, precisely
as we become increasingly/critically dependent on a rock-solid 24x7
network infrastructure for just about everything.
- Today, the vast majority of organizations do not deal with NAT
internally. That will change. Different departments/divisions will
be forced to add NATs (how else will you have address space to
deploy tens of thousands of sensors in a building?), and services
that used to work just fine within an organization will become
problematical. Imagine having a NAT device between you and your
accounting or HR department. There will be applications that stop
working when this happens. Or only work if security is disabled,
etc., etc.
The net of it is that the community has a basic choice before it:
- Just continue with IPv4 and use more NATs. Costs will go up. It
will be increasingly difficult to deploy new services. Lots of
band aides, hacks and duct tape to make things work. Overall, the
Internet becomes less robust and increasingly brittle. No light
at the end of the tunnel.
- Start deploying IPv6. Where the use of IPv4/NATs becomes
problematical, IPv6 offers a more workable/scalable (and lower
cost) alternative. There is an actual light at the end of the
tunnel.
In both cases, costs will go up. There is no free lunch here. The
choice is whether to invest those costs up front in IPv6 (and have a
more viable long-term future) or just continue to patch IPv4 (at
increasing cost) with no end in site.
The reason IPv6 has not been widely deployed yet is simple
economics. People look at the bottom line and say "I don't see the
return on investment in the short term for deploying IPv6, and I don't
see a problem with IPv4/NATs".
For better or worse, the pain level of IPv4/NATs is simply not viewed
as significant. Hence, no urgency to deploy IPv6.
>From a public policy perspective, I find this rather depressing. We
have a classic tragedy of the commons here. Everyone makes local
decisions (to not deploy IPv6, since the short-term cost/benefit of
NAT is better, and the hard-to-quantify in $$ benefits of IPv6 are all
long term) to the detriment of the commons as a whole.
Thomas
____________________________________________________________
You received this message as a subscriber on the list:
governance at lists.cpsr.org
To be removed from the list, send any message to:
governance-unsubscribe at lists.cpsr.org
For all list information and functions, see:
http://lists.cpsr.org/lists/info/governance
More information about the Governance
mailing list