DNS is the main index of the internet that directs traffic for queries across the web. The simplest analogy is that of a contact list on your phone: contacts are sorted by name, but then they contain specific phone numbers or addresses. At its simplest, DNS is like that for the internet. All internet servers work on Internet Protocol (IP) addresses, which mostly look like several sets of numbers separated by periods (e.g. 123.456.789.100) though other variations exist.
The domain name system was not always the default for accessing information of the web. In the early days of internet usage, a small group of individual networks managed their own naming conventions. It wasn’t until 1983 that the concept of a centralized DNS was created. When the Internet Engineering Task Force was created in 1986 to apply standard and best practices to the burgeoning platform, DNS was among its initial group of adopted guidelines.
However, the web is designed for a simple user experience with domain names we can remember, such as www.oracle.com. DNS is the system that links domain names with their proper IP addresses. When web users enter a domain name in their browser, the local internet service provider (ISP) uses DNS to identify the correct IP for the domain name, thus allowing the web user to download the desired page or asset. Further specific steps occur behind the scenes, but for the typical user, that is their experience.
While the user experience of DNS was covered above, many further steps occur outside of the user’s view. Users typically only see the steps in their web browser’s status bar, such as “contacting host” and “waiting for response.” The initial activity of the web page loading process is centered around DNS lookup and translation.
To understand how DNS works, it’s important to first learn several definitions:
- Recursive DNS resolver: A recursive DNS resolver is the DNS server that processes the initial request and connects with the higher-level authority for established domain details.
- Authoritative nameserver: Also known as a root server, these are a set of established servers that provide an authoritative list of domains.
- Top level domain: The top level domain contains the suffix of a domain name, such as .com, .org, and .net.
- Nameserver: The part of a server that contains the records of domain names and their respective IP addresses, similar to an address book.
Specifically, the uses the following steps, though a local cache on a browser or operating system can bypass some of these steps.
Initiate query by user: The web browser’s user initiates the query by typing a domain name, clicking on a hyperlink or loading a bookmark. The query is set into the internet to a recursive DNS resolver.
Resolve TLD: The resolver queries an authoritative nameserver, which generates a Top-Level Domain (TLD) response that identifies the domain’s suffix (.com, .org, etc.) and forwards the request.
Resolve nameserver: The TLD server responds with appropriate IP address of the domain’s nameserver.
Resolve IP address: With the nameserver identified, the recursive DNS resolver queries the domain’s nameserver. The nameserver responds with the proper IP address.
Data transfer: With the IP address identified, the browser can request data to be transferred for the target page and/or assets using hypertext transfer protocol (HTTP).