What is a DNS server?

What is a DNS server?

If you're new to the tech world, you may be wondering what a DNS (Domain Name System) server is and how it works. Don't worry, you're not alone! In this blog post, we'll explain everything you need to know about DNS servers and how they play a role in internet connectivity. Keep reading to learn more!

What is DNS?

A DNS server is a computer that translates domain names into IP addresses. When you type a domain name into your web browser, the browser contacts the DNS server and asks for the corresponding IP address associated with that domain. The DNS server then looks up the correct IP address and returns it to the browser, which connects to the website.

DNS servers are an essential part of the internet, as they help to convert human-readable domain names into machine-readable IP addresses. There are four distinct kinds of DNS servers: recursive DNS servers, root nameservers, top-level domain (TLD) nameservers, and authoritative DNS servers. We'll go through each one in depth below.

How does DNS work?

DNS servers use a process called DNS resolution to convert human-readable domain names into machine-readable IP addresses. This process usually happens behind the scenes, so you're not even aware that it's happening!

When you type a domain name into your web browser, your computer will send a request to a DNS server. The DNS server will then look up the IP address for that domain and respond back to your computer. Your computer will then use the IP address to connect to the website.

All these process is going through the four DNS servers we mention earlier, recursive DNS servers (DNS resolvers), root nameservers, top-level domain (TLD) nameservers, and authoritative DNS servers. Being more specific, the steps are:

  1. The browser as a DNS client sends a DNS query to the recursive DNS server (DNS resolver).
  2. The recursive DNS server sends a query to one of the 13 root nameservers.
  3. The root server responds with the IP address of a top-level domain (TLD) nameserver.
  4. The recursive DNS server sends a query to the TLD nameserver.
  5. The TLD nameserver responds with the IP address of an authoritative DNS server for the domain you're trying to visit.
  6. The recursive DNS server sends a query to the authoritative DNS server.
  7. The authoritative DNS server responds with the IP address of the website you're trying to visit.
  8. The recursive DNS server responds back to the browser with the IP address of the website you're trying to visit.
  9. The browser sends a request to the website's server using the IP address it received from the recursive DNS server.
  10. The website's server responds and the website loads in your browser!

The DNS resolution process may seem complicated and lot's of DNS queries running around, but it happens in a matter of milliseconds!

DNS caching

DNS caching is a performance optimization technique that DNS resolvers use to speed up the DNS lookup process. When a DNS resolver receives a DNS query, it will first check its DNS cache to see if it already has the DNS record for the requested domain name. If the DNS record is found in the cache, the DNS resolver can immediately return the DNS record to the client without having to follow the step described above. If the DNS record is not found in the cache, the DNS resolver will follow those steps and once it get the corresponding IP address, will cache before returning it to the client.

The entries on the DNS caching have time limit called TLL (Time to Live) which they can be adjusted based on your preference on DNS settings. By default this value is set between 24-48 hours.

The DNS can be also cached to the web browsers. This can be especially beneficial for users who frequently access the same websites, as their computer will not need to contact the DNS server each time they attempt to load a page. Additionally, browser dns caching can help to improve the performance of your computer by reducing the amount of time it spends waiting for DNS lookup information.

Primary and Secondary DNS servers

A primary DNS server is the server that contains the original copy of the database. A secondary DNS server is a backup server that contains a copy of the database. If the primary DNS server goes offline, the secondary DNS server can provide access to the database. If the primary DNS server is online, the secondary DNS server can provide access to the database if the primary DNS server is unavailable.

DNS Records

DNS records are stored in a zone file and contain information about what types of DNS servers are available for a domain and what their IP addresses are. There are several different types of DNS records, including A, AAAA, CNAME, MX, and NS records.

  • A records are used to map a domain name to an IP address.
  • AAAA records are used to map a domain name to an IPv6 address.
  • CNAME records are used to map a domain name to another domain name.
  • MX records are used to specify which mail server should be used for email delivery.
  • NS records are used to specify which DNS server should be used for lookups.

What are the best DNS servers?

When choosing a DNS server, it's important to consider security, speed, and privacy. Security is important because DNS servers can be vulnerable to attacks, such as DNS poisoning and DNS hijacking. Speed is important because a slow DNS server can cause websites to load slowly. Privacy is important because some DNS servers sell user data, such as browsing history, to third parties.

There are a few different ways to find the best DNS server for your needs. You can use a web-based tool like Namebench or DNS Benchmark to test the performance of different DNS servers.

Most DNS servers are provided by ISPs (Internet Service Provider), but there are also many public DNS servers that anyone can use. Some of the most popular public DNS servers are Google Public DNS, Cloudflare DNS, and Quad9 DNS.