DNS: Domain Names to IP Addresses

DNS eadnskeep
Image source - https://aws.amazon.com/

Web browsers interact over Internet Protocol (IP) addresses. DNS interprets domain names to IP addresses so browsers can place Internet resources.

Each device attached to the Internet has an individual IP address that other machines work to find the device. DNS servers decrease the need for humans to memorize IP addresses like (in IPv4).

Working of DNS

The process of DNS resolution comprises converting a hostname into a computer-friendly IP address. An IP address is assigned to each device on the Internet, and that address is necessary to find the appropriate Internet device – like a street address is used to find a particular home. There are 4 DNS servers required in loading a webpage:

Also check – DNS Server: Phonebook of the Internet

DNS recursor – The recursor can be considered a librarian required to find a particular book in a thesaurus. The DNS recursor is a server composed to support queries from client machines through applications like web browsers. Typically, the recursor is then accountable for making additional requests to complete the client’s DNS inquiry.

Root nameserver – The root server is the primary step in translating (resolving) human-readable hostnames into IP addresses. It can be granted an index in a library that points to different racks of books – typically, it acts as a reference to other more precise locations.

TLD nameserver – The top-level domain server (TLD) can be considered a specific rack of books in a library. This nameserver is the next step in searching for a particular IP address, and it hosts the last portion of a hostname.

Authoritative nameserver – This ultimate nameserver can be conceived of as a dictionary on a shelf of books, in which a definite name can be translated into its definition. The authoritative nameserver is the ultimate stop in the nameserver query. Suppose the authoritative name server has admittance to the requested record. In that case, it will restore the IP address for the requested hostname following the DNS Recursor that made the initial request.

Difference: Authoritative DNS server and Recursive DNS resolver

One way to think about the disparity is the recursive resolver is at the origin of the DNS query, and the authoritative nameserver is at the end. The recursive resolver is the computer that acknowledges a recursive request from a client and exercises the time to trace down the DNS record. It does this by making a set of recommendations until it reaches the authoritative DNS nameserver for the demanded record (or times out or returns an error if no description is found). Fortunately, recursive DNS resolvers do not always want to make multiple requests to trace down the records needed to reply to a client. Caching is a data persistence method supporting short-circuit urgent requests by serving the requested resource record ahead in the DNS lookup.

Authoritative DNS Server

An authoritative DNS server as it operates and is effective for DNS resource records. At the rear of the DNS lookup chain, the server will respond with the queried resource record, ultimately allowing the web browser to request to reach the IP address required to access a website or other web support. An authoritative nameserver can provide queries from its data without querying another source, as it is the final source of truth for certain DNS records.

DNS Query Diagram

In cases where the query is for a subdomain like foo.example.com or blog.cloudflare.com, an additional nameserver will be attached to the sequence after the authoritative nameserver is responsible for storing the subdomain’s CNAME record. Different DNS recursive resolvers like Google DNS, OpenDNS, and providers like Comcast all affirm data center installations of DNS recursive resolvers. These resolvers provide for quick and easy queries through optimized clusters of DNS-optimized computer systems, but they are fundamentally distinct from the nameservers hosted by Cloudflare.

Cloudflare has infrastructure-level nameservers that are essential to the functioning of the Internet. One key pattern is the f-root server network which Cloudflare is partly responsible for hosting. The F-root is one of the root-level DNS nameserver infrastructure components accountable for the billions of Internet requests per day. Our Anycast network establishes us in a unique position to manage large volumes of DNS traffic without service interruption.

Steps in a DNS Lookup

For most locations, DNS is concerned with a domain name being translated into the appropriate IP address. To learn how this process works, it helps to follow the path of a DNS lookup as it travels from a web browser, through the DNS lookup process, and back again. Let’s take a look at the steps. The eight steps in a DNS lookup:

  • A user types’ example.com’ into a web browser, and the query travels into the Internet and is supported by a DNS recursive resolver.
  • The resolver then queries a DNS root nameserver (.).
  • The root server then acknowledges the resolver with the address of a Top-Level Domain (TLD) DNS server (such as .com or .net), which collects the information for its domains. When searching for example.com, our request is aimed toward the .com TLD.
  • The resolver then requests the .com TLD.
  • The TLD server then reacts with the IP address of the domain’s nameserver, example.com.
  • Ultimately, the recursive resolver transmits a query to the domain’s nameserver.
  • The IP address, for instance, .com, is then reversed to the resolver from the nameserver.
  • The DNS resolver then replies to the web browser with the IP address of the domain requested initially been.

DNS Resolver

The DNS resolver is the immediate halt in the DNS lookup, and it is effective for dealing with the client that created the initial request. The resolver commences the sequence of queries that eventually points to a URL being translated into the specified IP address.

It’s necessary to differentiate between a recursive DNS query and a recursive DNS resolver. The query refers to the request made to a DNS resolver requiring the resolution of the question. A DNS recursive resolver is the processor that receives a recursive query and prepares the response by assigning the necessary requests.