How to understand the Domain Name System
Ever wonder why DNS systems came into existence? Efficiency. Every computer has a distinct IP address, and the Internet needed an elite method for obtaining these addresses and for managing the system as a whole. Enter ICANN.
The Internet Corporation for Assigned Names and Number manages the DNS root of the Internet domain namespace. ICANNs role is to manage the assignment of identifiers, ensuring that all users have unique names.
The DNS system is run by a series of servers called DNS servers. ICANN manages the root DNS domains, under which are the top-level domains. It also manages:
- Organizational domains
- Geographical domains
- Reverse domains
Beneath the top-level domains are other naming authorities such as Nominet, the UKs naming authority.
How does a DNS Query work?
The process occurs in two parts. Firstly, a name query begins at a client computer and is passed to DNS client service for resolution. When the query cannot be resolved locally, DNS servers are queried.
For example, when a web browser calls the fully qualified domain name the request is passed on to the DNS client service to resolve the name by using locally cached information. If the query is held in the cache, then the process is complete.
If, however, the query cannot be answered locally, the DNS client service uses a server list (ordered in sequence) to query external DNS servers. When a DNS server receives a query, it first checks to see if it is authoritive for that domain name. If it is authoritive, it resolves the name, and the process is complete.
If the DNS server is unable to resolve the query, it in turns queries other DNS servers, using a process known as recursion. DNS servers make use of root hints to assist in locating DNS servers, which are able to provide the required result. In this way, DNS queries are minimised and the Internet is able to operate quickly and effectively.
A typical query may run as follows:
Client contacts Nameserver A looking for a DNS, Nameserver A checks its cache, but cant answer, so it queries a server authoritive for the Internet root.
The root server responds with a referral to a server authoritive for the .com domains. NameserverA queries the the .com server and gets referred to the server authoritive for Nameserver A queries this server and gets the IP address for Nameserver A replies to the client with the IP address.
Queries can return answers that are authoritive, positive, negative or referral in nature. In the event of a negative answer, another DNS server is queried.