The Domain Name System (DNS)

What is DNS in a nutshell

The Domain Name System (DNS) is a system that allows computers to match an IP address to a domain name. The internet addresses of web servers that are connected to the internet are not human-friendly; they comprise a long string of numbers (e.g. 225.131.18.66) and/or letters (e.g. a0d1:ff7b:91b2:2bb7:f974:3821:7556:f45b). Always typing the IP address of your favourite websites into your browser’s address bar would be a terribly painful experience that may make you give up on the internet. This is why we use domain names (e.g. google.com, facebook.com) in our web browser’s address bar instead

However, while we can read and understand domain names more easily, computer programs only understand IP addresses. DNStranslates a domain name that we give to a computer program such as a web browser into the correct IP addresses. Requests for the IP address associated with a domain name are resolved or fulfilled in a series of steps involving specialized machines called name servers. The entire process happens in the background and all the user sees is a successfully loaded website if the domain name resolution is successful.

How DNS helps you get information on the Internet

What goes on in the background? To put things simply, when you key in a domain name into your browser’s address bar, there are four different name servers that participate in the entire process of resolving the domain name to the correct IP address that your browser actually understands. Let’s use the example of the domain wikipedia.org to illustrate the process. The first stop to resolve the IP address of wikipedia.org is the Resolving Name Server.

What is Domain Name System DNS query and how does it work

The job of the Resolving Name Server is to take your browser’s request and then it handles all the requests to the other three name servers to get the actual IP address. When the actual IP address is finally located, it will send that IP address over to your browser to load the website contents from the server located at that address, completing the process. The Resolving Name Server is usually provided by your Internet Service Provider (ISP), but you can get your browser to use other publicly available Resolving Name Servers, such as those provided by Google, Cloudflare, or OpenDNS. Just be sure not to use unknown Resolving Name Servers because this could enable evil people to send your browser to fake website where they may be harvesting your browsing data without your knowledge!

The Resolving Name Server first sends a request to a Root Name Server. The Root Name Server’s job is to tell the Resolving Name Server the IP address of the Top Level Domain (TLD) Name Server. In our example, the Root Name Server will send the IP address of the .org TLD server to the Resolving Name Server because the domain wikipedia.org belongs to the .org TLD. The Resolving Name Server then sends a request to the TLD Name Server, and the TLD Name Server will look for the IP address of the Authoritative Name Server associated with wikipedia.org and send that information back to the Resolving Name Server.

The Resolving Name Server then queries the Authoritative Name Server, the last name server in the process that holds the actual IP address associated with the wikipedia.org domain. It then passes on the actual IP address to your web browser to fetch data from the front page of the wikipedia.org domain to load in the browser window, and the entire process is complete. This is how the DNS works to help humans get content from web servers without having to memorize difficult-to-remember IP addresses!

Glossary

DNS

DNS is a protocol that resolves names (such as bunny.net) to computer IP addresses (like 1.1.1.1) that your computer can use to contact other servers to obtain information or data

DNS Resolver

DNS resolver is a service used by a client or computer to resolve domain names into network addresses.

IP Address

An IP address refers to a specific and unique location on the Internet. The two current standards are: IPv4 and IPv6.