Thursday, January 13, 2011

Dynamic DNS or "New Adventures in Old Routers"

Paracetamol is a wonder drug. Whenever I get the man flu (which can kill!) I have found that plain old paracetamol works far better than the various cold and flu remedies offered at outrageous prices at the local pharmacy. The way that particular medicine can deal with a man flu and the crippling symptoms that come with it is truly amazing. While many think that the age of wonder gave way to the age of reason a long time ago, I still find wonder in how things work, be that painkillers or computer networking systems.

Dynamic Host Configuration Protocol (DHCP) is a wonder. I've been impressed with it since I was a young I.T. Technician putting together my first Windows NT 4.0 network back in the day. DHCP overcomes the hassle of having to manually assign IP addresses to every node on a TCP/IP network by doing it automatically and provides a handy way of telling those nodes (computers, printers, or any networked device) various details of the network, like how to get out on to the Internet or the addresses of certain servers or whatever. DHCP is a neat solution to a big problem for Systems Administrators.

As networking has developed to the point where we have broadband speeds and routers instead of modems in our homes DHCP has once again stepped up to the mark and is providing broadband service users with IP addresses that identify them on the Internet. In this way the broadband companies are able to service all their customers even though they have a limited number of public IP addresses at their disposal by only assigning an IP address to an active router and only for a limited amount of time; every now and then your router will need to renew the lease of its IP address or be assigned a new one.

DHCP has been used by broadband providers as the number of IP addresses available to them is nearly exhausted and they are unable to give a unique IP address to every router on their network. Using DHCP in this way has the effect of changing the IP address of your router every now and then which is normally not a problem, but what if you wanted to take advantage of those broadband speeds to do something other than surf the Web? What if you wanted to access your computer remotely, or what if you wanted to share some files with friends or colleagues via a personal web server or ftp server, or (and this is increasingly common) what if you wanted to set up a web cam to keep an eye on something at home which you could access from work? How do you access your home or other broadband system if you don't have a fixed IP address and how could you ever know what the address will be from day to day?

There is a way, and it is called Dynamic DNS. Most routers come with the facility to use Dynamic DNS (DDNS) built in and it is this system that allows you to access your network via a standard broadband setup without the need to know the IP address at any given time. I've been playing with DDNS for a while now and let me tell you, if DHCP is a wonder then Dynamic DNS is some kind of sorcery!

The simplicity of how DDNS works is what makes it so great. The standard flavour of DNS (Domain Name System) is used to translate URL's (like hackerscoven.net) to IP addresses and it does this by maintaining a database of IP addresses and URLs. When you request a website via its URL, some DNS server somewhere checks its database, retrieves the IP address, and then sends you there. What DDNS does is map a URL to an IP address in the same way but also provides a mechanism to regularly update the IP address whenever it's changed by your broadband company.

Most routers come equipped with the facility to register with a DDNS provider, one of the most popular being DynDNS.com who offer a free DDNS service, and when I set this up in order to access a test webserver of mine I was surprised not only by how easy it was to get going but also by how fast the service operates, my little webserver responds nicely whenever I access it, though to be fair it's under no load at all really as it's only me using it.

DHCP solved a big problem for networking people and it did it well. DDNS solves a major problem for anyone with a need to access a computer remotely in an easy manner and the chances are the equipment you already have is able to use it. For testing webservers or sharing files, DDNS offers all the functionality without the cost of domain name registration, though the security burden is yours alone and can be quite high.

No comments:

Post a Comment