Domain Name System
What is it?
The Domain Name System is essential a phonebook service for the internet. It allows you to use words instead of an IP Address to locate a server on the Internet. For example, to browse to Google you can either enter google.com or you could enter 220.127.116.11.
Brief, Non-technical History
When computers first started being connected there had to be a way of naming them. The Hosts File was the first way of telling computers about other computers on the network. Unfortunately once the network got beyond 10 or so computers updating each hosts file individually became to cumbersome.
By telling the individual computers to look at a centralised hosts file it would be easier to add and update the list of connected computers. Each computer still had its own hosts file but it was told that if it could not find a corresponding IP Address for an entered name then it should check with the central list on a server.
And thus the beginnings of DNS were born.
How does it work?
The non-technical way
The Slightly More Technical Way
Essentially the Domain Name System works like this.
- You enter a Domain name into a Browser on Your Computer
- Your Computer checks its local hosts file. If there is an entry for the domain name entered your hosts file will return the IP Address and your Browser can load the website.
- If there is no entry then your computer asks the local Network Router if it knows. If it does it returns the IP Address and your Browser can load the website.
- If the Network Router doesn't know your computer then asks your ISP. If anyone else using your ISP has visited the domain you entered previously then your ISP will likely have the record cached and it can retun the IP Address and your Browser can load the website.
- If your ISP doesn't know then it asks one of the seven root Domain Name Servers. The Root Domain Name Servers will then tell you which Nameserver holds the DNS Records for the requested domain.
- During this process the ISP will most likely cache the answer so that in future you won't have to query the root Domain Name Servers again. This is to relieve the load on those root Domain Name Servers.