As we discussed during the lecture on domain name system (DNS) that DNS servers are used to translate domain names into IP addresses when they receive queries. We also discussed the steps involved when the DNS server response to a DNS query.
There are more than one DNS servers are involved in resolving a domain name especially when the very first time a DNS query about an IP address is made. Remember all DNS servers fall into one of the following four categories:
- DNS Resolver or Recursive Resolver
- Root Name Server
- Top Level Domain (TLD) Name Server
- Authoritative Server
What is DNS Resolver or Recursive Resolver?
When you generate a DNS query, it first reaches to recursive resolver. This server is usually provided by your internet service provider (ISP). When this receives a DNS query, there are two possibilities to reply to the client with proper ip address.
- It has IP address of the website in its cache memory
- It does not have an IP address in its cache memory
Steps involved in case 1
- Client request to DNS resolver of the internet service provider.
- After receiving the request the resolver scans its cache memory. Find the IP address of the website and replies back to the client’s device.
Steps involved in case 2
- Receives the DNS query
- Forwards the request to the root name server
- Root server replies back with the IP address of top top level domain (TLD) server
- Recursive resolver then sends request to TLD server
- Top level domain server replies back with the IP address of authoritative server
- DNS resolver finally sends request to authoritative server
The following figure shows complete step guide
What is Root Name Server?
In case the DNS of ISP doesn’t know the IP address it always sends request to root name server. The root server doesn’t exactly know the IP address of the website. But it knows the IP address of top level domain (.com, .org, .edu etc) servers.
So after receiving the query from recursive resolver it directs resolver towards the TLD servers based on the extension of the domain name. According to IANA website there are 13 root servers placed at different geographical locations. List of these root servers with operating organization names are given below:
- a.root-servers.net VeriSign, Inc.
- b.root-servers.net University of Southern California (ISI)
- c.root-servers.net Cogent Communications
- d.root-servers.net University of Maryland
- e.root-servers.net NASA (Ames Research Center)
- f.root-servers.net Internet Systems Consortium, Inc.
- g.root-servers.net US Department of Defense (NIC)
- h.root-servers.net US Army (Research Lab)
- i.root-servers.net Netnod
- j.root-servers.net VeriSign, Inc.
- k.root-servers.net RIPE NCC
- l.root-servers.net ICANN
- m.root-servers.net WIDE Project
Multiple copies of the above route servers are expanded throughout the world to provide faster services. The DNS resolver has the list of all 13 route servers. Usually the IP addresses of the servers are not changed. But if there is any need to change the IP address of the server. The resolver can still access the remaining service. After updating its software resolver will get the updated list.
What is TLD Name Server?
The TLD servers maintain the record of top level domains such as .com, .org, .edu etc. For example a .org TLD server contains the record of all domains end with “org” extension.
IANA basically divides this server into two categories
- First category contains generic domains for example .com, .org, .edu, .net, .gov
- Second category contains country specific domain names for example .pk, .us, .uk, .au etc
What is Authoritative DNS Server?
This is the last stop during DNS resolution process. The TLD name server tells the address of authoritative server to the DNS of ISP. Authoritative server knows exactly what the client is looking for. For example TLD server knows the IP address of google.com but authoritative knows the address of docs.google.com or any other service offered by Google.