No one needs to tell me I’m an exceptionally geeky individual. Once
people find out how excited I get over XML collection formats (like
Atom) and universal
authentication schemes (like
OpenID),
it’s pretty obvious that I like neat stuff regardless of how
computer-centric it is. In many cases, I find myself most attracted
to things which could have a positive bearing on computer users
everywhere. While some of them are on the surface and easily
visible to the average user, others are not so obvious. All too
often, people have no idea that these technologies or systems
exist!
One such example is the network addressing scheme used by the
Internet Protocol
(the IP in
TCP/IP
protocol suite).
IP is used to transfer information between machines on a network as
well as to assign addresses (ever hear of an IP address?) to enable
machines to specify transmission sources and destinations.
Currently, we’re using Internet Protocol version 4
(IPv4) which provides
addresses usually written with the instantly recognizable
dot-decimal notation.
While IPv4 has been very good to us so far, it uses a 32-bit
address space which can provide only 4,294,967,296 (232) unique
addresses. It might seem like a lot, but we’re slowly
running out of addresses
with the rate of depletion expected to increase as more computers,
mobile devices and general users become connected.
While there are several factors currently slowing down the
depletion of IPv4 addresses, they are not without their side
effects (like
NAT).
The correct solution, is to make a transition from IPv4 to
IPv6, the next version of the
Internet Protocol.
In addition to having a 128-bit address space (2128^ or something
ridiculous like 3.4×1038), IPv6 has several other advantages
including features like automatic address assignment
(SLAAC)
and built-in security
(IPsec). Basically, IPv6 is
pretty rockin. With this in mind, why isn’t IPv6 more widely
deployed?
The short answer is that since the entire Internet is already built
on top of IPv4, it’s pretty clear at this point that transitioning
to IPv6 will be rather painful. Still, there are some signs which
indicate improvement. The Linux Kernel has supported IPv6 for ages,
Windows Vista has it enabled by default along with Mac OSX and
several other Apple devices. In fact, the US Government has
mandated that Federal agencies and their network backbones must
deploy IPv6 by 2009.
For now, people interested in tinkering with IPv6 must use a
service
which will provide them with a
6to4 tunnel so they can pass
IPv6 data over the
IPv4 Internet.
Someday, IPv6 will be the default. Until then, feel free to write
both your ISP, your Congressmen and your Senators urging them to
push for a switch.