Domain Name System
What Is DNS?
An internet browser loads web pages using IP addresses that are then converted into domain names by the Domain Name System (DNS). Each internet-connected device has a unique IP address that other devices can use to locate it. Most internet activities, including web browsing, rely on DNS to rapidly deliver the details required to link users and hosts.
How Does DNS Work?
When a user types a domain name into their web browser, their computer sends a request to a DNS resolver to look up the IP address associated with that domain name. The resolver then queries a series of DNS services to find the correct IP address and returns that information to the user’s computer. This process happens quickly and seamlessly behind the scenes, allowing users to access websites without memorizing a long string of numbers.
DNS recursor
The DNS recursor functions similarly to a librarian who receives a request to locate a specific book within a library. Its purpose is to receive requests from client devices via applications like web browsers. Once a query is received, the recursor is usually responsible for making further requests to fulfill the client’s DNS query.
Root nameserver
The root nameserver is the initial stage in converting human-readable host names into corresponding IP addresses. It functions like an index within a library that directs users to various bookshelves, typically serving as a guide to more precise locations.
TLD nameserver
The top-level domain server (TLD) can be likened to a specific rack of books in a library. It serves as the subsequent stage in the quest for a particular IP address and accommodates the final portion of a hostname (For instance, in example.com, the TLD server is identified as “com”).
Authoritative nameserver
The authoritative nameserver can be compared to a dictionary on a bookshelf where a particular term can be found and defined. It is the ultimate destination in the nameserver search. Provided that the authoritative nameserver has the necessary record, it will supply the IP address for the requested domain name back to the DNS Recursor (or “librarian”) who initiated the initial inquiry.
Authoritative DNS Server vs. Recursive DNS Resolver
DNS records are stored at authoritative nameservers. A recursive server is a mediator between the authoritative server and the end user. The recursive server must “recurse” through the DNS structure to connect to the nameserver and access the domain’s records.
Authoritative DNS server
An authoritative DNS server manages and maintains DNS resource records. The resource record query will be answered by this server, which is at the end of the DNS lookup chain, allowing the web browser to make the request to eventually get to the IP address required to access a website or other online resource. Since it is the only reliable source for some DNS entries, an authoritative nameserver can answer requests from its own data without consulting any other sources.
Recursive DNS resolver
The recursive DNS server receives a URL that users enter into their web browser. The IP address for the URL is then checked to determine if the recursive DNS server has already saved it by looking through its cache memory. The recursive DNS server will provide the IP address to the browser if the IP address data is already available. However, if the recursive DNS server searches its memory and cannot locate the IP address, it will continue the process of obtaining the IP address for the user. The IP address is then kept on the recursive DNS server for a certain period of time.
Types of DNS Queries
DNS queries are requests for information about domain names sent by a user’s computer to a DNS resolver or server. The most common types are
-
Recursive queries - These are queries in which the resolver or server is responsible for finding the answer to the query. If the server doesn’t have the information in its cache, it will query other DNS servers on behalf of the user’s computer until it finds the answer. Or it will return an error message if the record is not found.
-
Iterative queries - In an iterative query, the resolver or server returns the best information to the user’s computer, which can then use that information to make another query to a different server. This process continues until the correct IP address is found or an error or timeout occurs.
-
Nonrecursive inquiries - These are requests for information made by a client to a DNS server, to which the server is expected to provide a direct response. In this type of inquiry, the server is not required to perform iterative queries to resolve the request but instead returns an answer based on its cache or authoritative data. Nonrecursive DNS inquiries are generally faster than recursive inquiries since they do not involve iterative steps.
DNS Caching
To speed up load times and use less bandwidth and CPU, DNS caching includes storing data near the user making the request so that the DNS query may be resolved sooner and subsequent DNS lookups can be avoided. Various places where DNS data can be cached will each keep DNS records for a specific period of time indicated by a time-to-live (TTL).
Browser DNS caching
Browser DNS caching is a feature of web browsers that allows them to temporarily store the results of DNS lookups to speed up subsequent requests to the same domain.
Operating system (OS)
Stub resolvers, which are incorporated into many OSes, cache DNS information and respond to requests before they are routed to an external server. Typically, the OS is questioned after the browser or other querying tool.