Wednesday, November 30, 2005

If I wanted an IPv6 connection at home, could I get one?

I'm a big fan of networking. Today's internet is a great place to hang out. You can find most anything there. IPv4, DNS, HTTP and a host of other network protocols have provided fertile ground for new and interesting things like VoIP to develop. But wait, I just read that VoIP requires something called STUN to work. So I looked STUN up, guess what it is. A work around. Its a protocol designed to get around NAT. Anyone who tells you NAT isn't an evil hack needs their head examined. I personally believe that our beloved internet is stifled due in large part to NAT. And the funny thing is that we've had a great, fully supported and ready to run solution available for years. Its called IPv6. Today we use the 4th version of the internet protocol, IPv4. The fifth version of IP was used to test an experimental protocol called ST2 (don't ask) and not intended as a replacement for v4 as v6 is. Its all about the sixth version of the internet protocol, the 6bone, and I want on.

My computer is a Mac running the latest version OS/X (I don't list the version here because I'm such a nerd that its likely I've updated it or will update it in the next day or so). OS/X has support for IPv6, so that's taken care of. IPv6 is also supported by Windows, Linux, FreeBSD, Solaris, and most other operating systems out there that I can think of.

The DNS infrastructure has recently added 'AAAA' records on the root servers. Translated, that means that DNS lookups can find IPv6 addresses so when you type in 'www.google.com' into your browser the DNS servers have the ability to deliver an IPv6 address to you as well as the IPv4 addresses they routinely return today. Its nice to know that people have taken the time and spent the money to set that up.

Most sites and internet services are not (yet) IPv6 (some are), so I'll need a way to reach IPv4 servers located on the existing IPv4 based internet. And guess what, that's done too.

Okay, what's left? Ah yes. An IPv6 connection. Well, there are a few forward thinking ISPs that will give you IPv6 tunnel connections (so that you're IPv6 traffic can get sent via v4 networks to their tunnel that will then place the traffic onto the 6bone). Cool. Lets sign up with a tunnel broker, problem solved right? Wrong, I don't have a static IP address. I use Comcast as my ISP. Why don't I have a static address? Well, its because the address space is filling up and so Comcast won't allocate me a static one. What's the fix for that limited address space? IPv6. A chicken and egg problem.

I'm starting to get frustrated. This process is reminding me of what it took to get my first internet connection. Back in the day when the internet had a printed phone book of email address the universities and large companies formed the backbone of the internet. It was nearly impossible to get a connection, you had to be very well connected to join the club. If you were lucky you could get a dial up number to a terminal account on some shared system. That was how I started, pre-SLIP, pre-PPP, pre-anything there was the BBS style dial up and login (yes, I did run a BBS for a while, I was a sysop and I used FidoNet). It wasn't all that important to have a real internet connection until I purchased a NeXTStation in 1991. The NeXT had a wonderful email client with rich email and everything and I wanted in but without a real internet connection I couldn't use it. Just like today, there is a technology that could open up huge opportunities that we're ignoring. One of the more interesting things that the NeXT email application led to is the web. Yep, the rich text object that made Mail.app interesting and cool is the same piece of code that Tim Berners-Lee used in the first web browser called WorldWideWeb.app. Can you imagine life if that had not happened? VoIP, P2P, and other networking ideas are in the same bucket today.

So, I've been searching (okay, "Googling") for an ISP that will give me a native IPv6 connection. To my horror, I've not been able to find one. I've even resorted to asking Google (with an offer of $50 for a good answer) to help me find such an ISP.

On my home network, and chances are good that on your net too, I'm forced to use DHCP to get a dynamic IP address. That address is then used by my wireless router (an Apple Airport Extreme) to service all my home computers. It does that using NAT. We're back to that again.

Some people will argue that NAT is a security feature. That's like saying that parking your car in front of your house's door will prevent burglary. Sure, it makes it harder for some, but the pros get in via the windows (get it?). NAT was a workaround to the lack of IPv4 addresses for a growing number of devices in the home, any security benefits are purely coincidental. Most devices that provide NAT are also routers and include some form of a firewall (and other more interesting security features). Its not NAT doing the heavy security lifting, its all that other stuff (like dead-bolt locks on your doors and alarms on your windows rather than the car blocking the door).

So, where does this leave me in my quest for IPv6? I think I just paid Google Answers $50 for an answer consisting of two letters, 'no'. By that I mean to say that I'll bet that they are unable to locate an ISP that will provide me an IPv6 connection to my home in Boston. Next time someone talks about how the internet could me more dynamic, how their P2P software or VoIP software isn't really working right, how secure communications aren't really secure, about a lot of various networking issues (all improved in IPv6), remember that we could be surfing a much better internet, six could be here if the market, that's you, demanded it. Don't be chicken, ask for the egg.


Technorati Tags: , , ,

Tuesday, November 29, 2005

VoIP, WiFi and SIP

Back in 1993 I tried to switch from a POTS land line to a cell phone. I carried around a Motorola TDMA analog cell phone and canceled my home land line. My service provider was Cellone, remember them? I had a few problems. The battery life was horrible, 30 minute talk time and 4 hour standby. Its so old that I can't even find a reference to it or a picture of it on the net. These days its hard to find someone who doesn't have a cell phone on them all the time. Its become a requirement of life, like keys to your front door you won't leave the house without it.

Today things are changing again. There are two new disruptive technologies, Asterix and VoIP. I'll save the Astrix discussions for another day, right now I'm excited about VoIP. Yesterday I got a new phone, a ZyXEL P-2000W v2 VoIP WiFi phone.

P2000W-V2 P1122456598

When I moved off my last sailboat and onto land I had to make a decision, should I get a normal land line from Verizon or not? I'd been living with only a cell phone for over two years and I didn't see a reason to change that, so I stuck with it and no land line. My internet is a Comcast cable connection, which is fast enough most of the time and only slightly overpriced. I've been in good shape for the few months I've lived here. Recently I've been calling over seas a lot for personal and business reasons. I've also had a bunch more work related conference calls and customer calls, so my cell phone bill has sky rocketed. I tried using Skype, the currently dominant VoIP solution over my Mac. Even with a fancy headset I wasn't all that excited about the delay in the line, the voice quality, and frankly I don't really like Skype all that much now that its part of eBay. I hope they figure out how to make back that 4 billion dollars they paid for the company, I can't see how.

Next I tried the GizmoProject. This was a quickly produced Skype-alike VoIP client based on the SIPPhone project that pre-dates Skype, but never really experienced much success. The major difference is that the infrastructure for this system isn't based on some proprietary P2P-based technology (I'm a fan of P2P, not of proprietary networking protocols), it is based on something called SIP, the Session Initiation Protocol. Most VoIP providers use SIP and because its an open standard there are a lot of hardware vendors who are building products that understand SIP. Like, for instance, ZyXEL.

So, my new phone is really cool. Its about the size of a cell phone and it speaks 802.11b/g so it connects to my home wireless internet and gets an IP address just like any other computer I have here (its 10.0.1.6, a DHCP'ed address provided by my Apple Airport Extreme base station). Once on the network I can open a web browser and configure it from any computer on the network (you can also configure it on the phone, but this is easier and cooler). I setup its SIP number as the one provided to me by the GizmoProject (I'd purchased a subscription for a CallIn number as well as purchased minutes for CallOut to POTS service). A few other configuration details later (see below), and voila the phone was able to register with my VoIP provider (the GizmoProject/SIPPhone) and it just worked. Calls to me would ring the phone, then if no one answered it would go to voice mail (which is delivered as an email attachment). Calls from me went out with out a hitch. The voice quality seems to be pretty good so far and they claim a few hours of talk time and many hours of standby time. The only hitch left in my setup (and this may be my mistake) is that when I place a call to someone their caller ID shows my SIP number rather than my CallIn number. That means that if they use that number to call me, it won't connect. This is a minor thing, and I can live with it for now if i don't figure out how to fix it.

So, now I have two phones. One that works with commercial cell phone towers and one that works with any WiFi network. The benefit to me is that I get to use my internet connection for phone calls and save money (I hope, I'll let you know) when I call overseas or even within the US.

Finally, it seems to me that the two techniques for wireless phone calls (cellular and VoIP/WiFi) should converge at some point in the next year or so and and allow me to reduce my phone setup back to one. Until then, I'm happy with my new setup.

To configure the ZyXEL P-2000W v2 phone for use with the GizmoProject I did the following

  1. Connect to the phone using a web browser once it has been configured to join your home WiFi network.
  2. Login with user: zyxeladmin pass: 1234 (change that password and the one for the admin account too).
  3. In the SIP configuration page do the following:

    SipURI: 1747xxxxxxx
    SIP Server Address: proxy01.sipphone.com
    SIP Server Port: 5060
    Registrar Server Address: proxy01.sipphone.com
    Registrar Server Port: 5060

  4. In the NAT TRVSL configuration page do the following:

    Type: STUN (RFC3489)
    STUN Server IP: stun01.sipphone.com : 3478
    Stun Interval: 200

  5. Then save and reset the phone.

It worked for me, 'gregburd' on GizmoProject.


Technorati Tags: , ,