This post is going to be a bit more technical than most people are probably comfortable with, but I'll try to explain it as simply as possible. T-Mobile USA is running an open beta for enabling IPv6 address assignment to some devices on its network in place of the traditional IPv4 addresses.
If you have one of these devices, you can sign up for IPv6 support here right now, change a few settings on your device, and start
rocking testing your IPv6 address as soon as you're approved:
Additionally, if you're in the San Francisco Bay Area, you don't even need to fill out a form - IPv6 is already live here, and you just need to change some settings for it to take effect.
So, why is this IPv6 testing important and what benefits does it bring to the table?
Every device connected to the Internet needs to have an IP address assigned to it. IPv4, the current scheme, only allows 2^32 or 4.3 billion different addresses, which we have been running out of lately.
In order to alleviate the shortage, some ISPs (your mobile carrier is also an ISP) have been using NAT, or Network Address Translation, or IP masquerading, to connect multiple devices to the web using only a subset of unique IPs. This allows them to only use 1 IP per tens, and probably hundreds or even thousands of individual devices, but has all the downsides of NAT, the most important one being the inability to connect to your device directly from the Internet. If you ever wanted to SSH or VNC into your Android device, stream a video directly to it, etc, all from somewhere outside of your LAN, NAT is the reason you can't (since you can't set up port forwarding or control the NAT configuration of your carrier).
NAT visualized - image credit
Guess what - IPv6 has such a huge address space - 2^128, or 340 undecillion (also search that page for Googol and Googolplex, you may be surprised) - that we don't need NAT anymore. And never-ever will, even if we conquer the whole galaxy and set up billions of devices on every star (this is a highly scientific fact I just made up, but go ahead, do the math).
IPv6 deployment has been complex, with many obstacles along the way (you can read about them here), so we commend T-Mobile for being the
first second U.S. carrier (at least known to us) to run an open trial as well as one of its technical staff architects, Cameron Byrne, for leading the charge. In comparison, Verizon, for example, mandated that all of its LTE devices need to be IPv6-compatible, but hasn't run an open test like T-Mobile is doing. Update: Apparently, VZW has already rolled out dual IPv6/IPv4 support on such devices, but only when on LTE, and they are blocking all inbound traffic at the moment. Other carriers are likely to follow, but we don't know how soon just yet.
No More NAT, Are You Sure?
Yup, at least right now. We were able to sign up for the trial, get it enabled within 10 minutes (on a Saturday too!), and then configure the Nexus S with an IPv6. We then opened up port 22 by running sshd, and I was able to port scan the acquired IPv6 address, showing port 22 wide open. Brilliant.
# nmap -6sT -p1-100 2607:fb90:400:ef14:0:a:85ac:ce01
Starting Nmap 5.00 ( http://nmap.org ) at 2012-01-29 09:29 PST
Interesting ports on 2607:fb90:400:ef14:0:a:85ac:ce01:
Not shown: 99 closed ports
PORT STATE SERVICE
22/tcp open ssh
Nmap done: 1 IP address (1 host up) scanned in 6.48 seconds
Of course, having your device directly accessible to the outside world opens up an array of security issues, which a lot of devices may not currently be ready for (a proper firewall needs to be put in place for one), but the important bit is that IPv6 works, NAT is gone, and the future is just one little step closer.
So, is anyone else excited about the progress we're seeing with IPv6 in the mobile space or is it just the uber-geek engineer in me?
Big thanks to Justin Case for participating in the IPv6 test