I recently noticed that VeriSign is hosting a DDNS service. Although the company isn't the first to do so, it’s heartening to see the folks that host the biggest top-level domains (i.e., .com, .net, .org) buying into DDNS. Although the Internet has typically been a great equalizer—heck, I’ve got as much Web real estate as IBM does!—DNS and static IP addresses have always worked together to create two classes of Internet. VeriSign’s embracing of DDNS will level the playing field a bit more.
Suppose you want to set up your own Web server or email server. Why do that when you can have someone host it for a few dollars a month? Well, you might be on a very, very limited budget. Or you might want to incorporate some kind of scripting or other dynamic content tool that the average Web-hosting firm won’t support. Or you might have a nobler goal—perhaps you just want the experience of running your own Web or email or VPN server!
Obtaining the software you need to build your own server is simple and can be quite inexpensive. Of course, Linux licenses cost next to nothing. You can also download a fully functional copy of Windows Server 2003 that runs for half a year. Or, if you’ve got an Apple Macintosh, I’d imagine running Apache would be no trouble, inasmuch as OS X is UNIX-based. Internet bandwidth is also relatively inexpensive. So what makes running your own publicly visible Internet server so difficult? The answer is the necessity of a static IP address—or, actually, two static IP addresses, in the best of all possible worlds.
To find the Web, email, or VPN servers you’re running, people look to your DNS server—so yes, you need a DNS server, and you have to register a domain name. But traditionally, VeriSign has required that you name not one but two DNS servers to host the names on your domain, and each of those DNS servers must have a static IP address. Therefore, if you wanted to exclusively host the at-least-two DNS servers that contain your domain’s DNS information, you’d need two systems, each with a static IP address. Ouch. That’s what keeps most people from completely hosting their own DNS implementation. Even if you were to get a static address and put one of your DNS servers on that address, you would still have to pay someone else to host a second copy of your DNS information on that person’s server. Again, it's not impossible, but it might cost more than you’re willing to pay.
But suppose you decide to forgo two static IP addresses and pay someone else to cohost your DNS information. What can you do with one static IP address? The answer is—basically everything! On that one system (or several systems, with something called port translation), you can run DNS, email, VPN, you name it.
There’s just one catch: Static IP addresses are insanely expensive. For example, a high-speed, cable-modem connection in my house costs about $40 a month. But that IP address varies from day to day. A varying IP address wouldn’t work for DNS, because in general DNS works under the assumption that my Web server’s address is pretty much constant. Yes, I could change my DNS entries every time the server’s IP address changes, but that would be a lot of work. So if I want a simple-to-run server that’s easily visible to the outside world, I need a static address (at least, before DDNS, which I’ll get to in a moment). But if I were to ask my cable company for a static address, my monthly fee would soar to $200 per month. My connection wouldn’t get any faster, and I wouldn’t get any new services. As a matter of fact, my cable company would even keep blocking ports in the 135-to-139 range—a little bit of paternalism that I’ve always found insulting. Nope, all I get for my extra $160 per month is an unchanging address. Oh, and a different contract. Strictly speaking, virtually every residential cable or DSL contract strictly forbids running a server of any kind on the given company’s connection.
I’ve always thought this situation to be a tad autocratic. What if I did run my own email server? What harm would that cause the cable company? I receive only a few hundred email messages per day, so I wouldn’t be choking their bandwidth. In fact, if I use the cable company’s email address for myself, retrieving mail over my cable connection uses the same amount of bandwidth! Anyway, the upshot of all this is that the cost of static addresses keeps most folks out of the Web hosting business.
Until DDNS came along.
DDNS has been around for a while, as I’ve noted, but VeriSign’s endorsement of the technology changes the scene in an interesting way. The premise is simple: VeriSign hosts your DNS zone for about $2 per month. VeriSign has far more than two static IP addresses, so you don’t have the problem of having an insufficient number of DNS servers to host your zone. Your computer checks with the VeriSign DNS servers every time your computer gets a new IP address, so the world can find your server no matter where the cable company puts it!
The only real problem is this: What happens when teeming hordes start running their own Web servers, and the cable/DSL providers realize that their contracts are being violated? A story for another day, I suppose.