How the internet works: Domains

Its amazing how few folks out there seem to understand how the whole domain thing works on the internet, so here's a quick guide.

You buy a domain from a domain registrar. I tend to use BulkRegister.com because they tend to work. Go sign up  and get an account, and it'll let you register domains, and then automatically renew those domains. So no embarrassing 'honey I forgot to renew the Domain' stories. 

So this gives you the right to own 'MyOwnDomain.com' or whatever. Nothing works yet. Why ?

Well, once you have a domain, you then need to get some DNS (Domain Name Service - something that will take 'www.MyOwnDomain.com and return an address) servers to host the domain host entries for you. Eh ? What that means is that you need to get someone who runs a DNS server on the internet (perhaps your ISP, but more likely [because most ISP's are useless] your friendly domain registrar or hosting company). 

They then set up a series of 'DNS' (Domain Name Service) entries for things like:

  • www.MyOwnDomain.com to point at your web server. In my case, I point it at Squarespace.com for this blog, or in the case of hadsl.com, point it at the hadsl.com Web server.
  • A MX (Mail Exchange) record to point at where you mail goes. It might go to the same server, or it might go to a spam-washing service such as Postini.com or Messagelabs
  • ftp.MyOwnDomain.com might point at a separate address - such as a box running your FTP services.
  • MyHomeTown.MyOwnDomain.com might point at another offices web site for your domain, so that you have some form of failover.

Dont get me wrong. Its not hard. It just has to be done. BulkRegister.com give you a nice management interface around their free servers, so as far as I'm concerned, its a one-stop shop. Last but not least, you have to connect your Domain to your DNS servers. The Domain is effectively telling every other DNS server in the world "This is the authoritative address for this domain". (Thats not what actually happens, but its a nice simple model thats easily understood).

Okay. So far so good. We have a Domain, connected to a DNS server, which then has DNS entries. These point to servers. In my case, I pay squareSpace.com to host this blog. I then have my mail spam-washed via Postini (thats then delivered to my mail server, and pushed out to my iPhone and blackBerry devices).

The trick is to now understand how your host works. If, as I do, I pay Prominic.net to host my servers, they will most probably update DNS for you, and all your troubles will be over. If you want to take control of that, then they will give you external IP addresses that the servers are accessible on. (Prominic, by the way, are an excellent Domino hosting service. I've used then since the millennium).

Why not just point at your server in your house, over your ADSL link ? Thats all well and good, if you also pay for a 'static IP address' from your ADSL provider. That is, your IP address for your ADSL link doesnt reset every time the ADSL line resets (as mine does every couple of days). For a DNS entry that can keep track of these things, you need a Dyamic DNS provider. And those are far more trouble than they're worth (IMHO).

One of the advantages of a hosted service provider is that when your server crashes (because Windows isnt really stable enough an operating system, or Domino 8.50. crashes, or your agent goes wild) someone else will automatically restart your server. Even if your on a plane, whatever. It costs money, but its a continuous monitoring service.  Hosting it at home might be cheap, but is it really reliable?

There you have it. This is how name resolution works, and this is how you can then use that to manage your own domains and DNS servers.