All the Graphics
The Joys of Dynamic DNS|
By Thiravudh Khoman
I had a feeling of déjà vu when I read Geoff Long's article on acquiring domain names (Post Database, November 10, 1999). Like Geoff, I help out at a small company with moderate but growing internet needs. And while our stories don't overlap exactly, they do cover common ground and what I've learned might be useful reading.
The "company" I mentioned is a small educational institution with about 10 PC's. All of the PC's were networked from day one at my insistence, using simple peer-to-peer networking. This allows them to share a single workgroup print server rather than individual personal printers. More recently, it allowed everyone on the network to access the internet via a special gateway device.
My Kingdom for an IP Address
In light of recent experiments with Linux, I seriously considered installing a Linux server at the company, given its low entry cost. My reasons were: a) to provide central file services via Samba or even Netware under Linux, b) to install a LAN-based caching proxy to make better use of our limited internet/modem link, and c) possibly, to provide me with a means to access the network remotely. a) Is fairly easy to do. b) Is technically challenging but do-able. c) Is where I ran into bureaucratic obstacles. Unlike in Geoff's case, I wasn't interested in getting a domain name per se. The company already rents a mail/web server site in the U.S. and therefore, has a domain presence already. Rather, I wanted something simpler: a single, real IP address. On the network, each of our PC's is assigned an IP address by a so-called DHCP server (i.e. something that distributes IP addresses on demand), but the IP addresses we use are the traditional "non-routable" ones (192.168.x.x), this being the way most intranets are set up.
In order to connect into the company network, though, I would need a real IP address. Simple enough, it would seem, just ask to rent an IP address from our ISP. Our ISP of course was glad to oblige: a free IP address comes with their business access package. Merely 10,000 Baht per month (give or take). No, no, that's not what I wanted, I just want to rent one IP address. Of course, that confused them terribly. It wasn't on their menu of services and they couldn't figure out why anyone would want an IP address except to run a web server (hardly my intention given our already limited bandwidth). Of course, nothing ever came of this, and the same scenario replayed itself at other ISP's.
Frustrated, I asked a friend who is an internet authority whether it was possible to do obtain an IP address elsewhere and to use it on our network. Her answer was that while it was possible to do so, each ISP sets their routers to recognize only certain ranges of IP addresses. If my IP address wasn't on their list, they wouldn't route it. Dead-end here too.
Tzo Naming Services
A few weeks afterwards, and quite by accident, I saw an ad in the back of PC Magazine for a company called Tzo (https://www.tzo.com). Tzo provides internet naming services using something called "Dynamic DNS". DNS stands for "Domain Name System" and is the mechanism by which yahoo.com gets translated into 184.108.40.206 and vice versa. To get a domain name, you have to go through Network Solutions in the U.S. or a local provider like THNIC as Geoff described. This domain name is tied to an IP address and two name servers are given responsibility for "resolving" this name. The IP address and the name servers are normally provided by your ISP, unless you can provide these yourself. Your domain name is then mapped to Network Solutions' DNS servers and then your domain name propagates itself through the internet in a few days.
With Tzo, you don't need to register with Network Solutions (or any other domain name provider - there are quite a few now). Rather, you can obtain a "sub-domain" under tzo.com. For the sake of this article, I registered something called wobble.tzo.com. Tzo allows you to test drive their services for 30 days free. To use it, though, you will need to download an applet for communicating with Tzo, versions of which are available for Windows 9x/NT, Macintosh, Unix/Linux, and Java.
After you've downloaded the file, you run it and choose a sub-domain name. Tzo checks to see if the name has already been taken. If not, Tzo will send you an authorization code which works for 30 days to the email address you specify. Paste it into the Tzo program and you're done!. It takes less than 60 seconds to register for trial use!
If you're running Windows 9x, you'll notice a Tzo applet running in your system tray (bottom right). When your computer is turned on, this applet will check whether you're connected to the internet. If/when you are, it will determine your current IP address (if you're dialing in via modem, you'll be assigned a new one each time), contact the Tzo main server, map your current IP address to your sub-domain name, and update Tzo's DNS servers "dynamically" (thus, "dynamic DNS") (figure 1). Upon disconnection, this mapping will be cancelled.
The Fun Starts
Now, if I were to go to DOS and type: ping wobble.tzo.com, I would get the following result: reply from 220.127.116.11: bytes=32 time<10ms ttl=64. Essentially, I am ping'ing my own computer through the internet, with wobble.tzo.com being translated into 18.104.22.168 courtesy of Tzo's name servers. Cool!
Okay, your idea of fun isn't ping'ing your own computer. What else can you do with this? Geoff mentioned the case of "a couple of teenagers who perhaps have a great idea for a web site and want to test it out." Well, they can do this with Tzo. Granted, the free trial lasts only a month, but a couple of teenagers could get a couple of months of free trials (if you get my meaning). Of course, they probably won't be able to keep the server online 24 hours/day (unless their school has a persistent link), but it's adequate for testing or for limited hour operations.
Just to prove that it works, I tried running a web server via Tzo. For my web server, I chose something called "Xitami", which is a freeware web server from a company called Imatix (https://www.imatix.com). The nice thing about Xitami, besides its cost, is that it's open source and runs on a wide range of platforms (Windows 3.x/9x/NT, OS/2, Unix/Linux, and OpenVMS). It's also small, fast, and easy to install. A friend was able to connect to my home computer running Xitami a few minutes after I installed it courtesy of Tzo. Xitami also comes with an ftp server, for those interested in or needing that. Another really simple and free web server is AnalogX Simple Server (https://www.analogx.com).
Besides web servers, Geoff's hypothetical teenagers should also acquaint themselves with internet mail servers. Needless to say, mail servers can also be run under Tzo, but with the same limitations caused by non-fulltime connections.
Unfortunately, I can't recommend a mail server unreservedly as I did in the case of Xitami. While numerous POP/SMTP mail servers exist out there, the decent ones for Windows aren't free or even cheap enough to meet my criteria. Most Linux mail servers are free, of course, but that's another story. I ended up trying something called SLMail from Seattle Lab (https://www.seattlelab.com) which runs under Windows 9x/NT, and it worked fine with Tzo's sub-domain name. But SLMail too is expensive. One interesting add-on service: if you use Tzo and run a mail server that is not connected to the internet all the time, Tzo is able to "store" mail sent to your mail server while it is "offline" and "forward" it to you once you make a connection again. This "store and forward" service costs a bit more money though - US$99 per year to store 5mb worth of mail. A bit expensive if you ask me, but it's probably better than having mail bounced back to its senders.
Another application that can benefit from Tzo is videoconferencing. If you use something like Microsoft's NetMeeting, you first need to meet at a given place to see if the person you wish to talk to is online (NetMeeting calls these "ILS" servers). Another way to handle this is to have both persons run ICQ, which will notify when both users are online, and then exchange IP addresses. Each then can "ring" the other using IP addresses. With Tzo, this is greatly simplfiied. As long as one side has a Tzo sub-domain, the other can just just enter the first person's Tzo sub-domain into their videoconferencing software. No need to meet at a central point, no need to exchange IP addresses. Easy. (Of course, the first person may not be "on", but that's another matter.)
There are numerous other uses for Tzo. I've always thought of Tzo as a solution looking for a problem, so I'm grateful to Geoff for giving me an excuse to write about this rather "odd" service.
While Tzo is free for use during a 30 day evaluation, for longer term use it costs US$24.95 per year for the most basic service. This is pretty reasonable and comes out to less than Baht 100 per month. Many other services are also available, so check their web site.