What is DNS and How does it Work?

What Does DNS Stand For?

DNS is an abbreviation used for Domain Name System. It is one of the most important base components of the Internet communication process that makes it possible for the conversion of human-readable domain names into machine-readable IP addresses (such as IPv4 and IPv6) to happen. The DNS global system serves as a hierarchical tree-like structure that converts domain names into IP addresses, which then can be used by machine code for all kinds of communication.

How Does the DNS Work?

The DNS system functions by resolving (or converting) domain names into IP addresses through a hierarchical structure that starts from the so-called root zone, then the top-level domain (TLD), and finally the second-level domain (SLD). Basically anything that needs to connect to a device or service identified by a domain or a sub-domain, needs the DNS system to get the IP of the remote point to be connected to. For example, when a user enters "www.<somedomain>.com" into their web browser, with the intention of opening a website, the following events take place:

  1. The computer or other device (mobile phone, TV, other smart or IoT devices etc.) that you are using sends a request signal to the local DNS server (a server with an IP address) to resolve or convert the domain name into an IP address.
  2. The local DNS server, respectively queries the root zone, which is another DNS resolver to find the authoritative server for the TLD (in this case, .com, being the extension of the domain name).
  3. The root zone responds back with information containing the IP address of the authoritative server for the TLD.
  4. The local DNS resolver then queries the authoritative server directly for the TLD to obtain the IP address of the SLD (<somedomain>.com).
  5. The authoritative server for the TLD provides and sends back the IP address of the SLD, which the local DNS resolver then passes to the user's device that started the whole process.
  6. The user's device then finally uses the IP address to send a request directly to the web server hosting the domain, as all communication happens on a machine level between IPs.
DNS Process Scheme

What is a DNS Provider

A DNS provider usually is a company that provides DNS services to its clients and/or users. A DNS provider can also mean an ISP – which is typically your internet service provider serving your DNS needs for free, included in the Internet access that you pay for. In other cases a DNS provider is a separate commercial service when in need to manage your domain name(s). These services include the management of domain names, the creation, storage and serving capabilities of DNS records, and the resolution (conversion) of domain names into IP addresses. Some popular DNS providers that you might have heard of are CloudFlare, Amazon Route 53, and Google Cloud DNS.

What is a DNS Server?

A DNS server is a computer server that runs DNS software stack and provides domain name resolution services to clients, where clients can be all kinds of devices. A DNS server operates as part of the whole DNS infrastructure, hierarchically handling queries from local DNS resolving converter and returning the IP addresses assigned to the requested domain names. DNS servers can be run by ISPs, companies, or other organizations. Basically anyone can run such a server and it is up to clients/users to decide which one to use.

In your local area network, it is common practice for default configured DHCP settings to assign your router IP as the DNS server for your devices. For example if your router has IP address 192.168.1.1 then that would in most cases be assigned as the primary DNS server for your laptop or mobile phone connected to your home WiFi network. Other common local IPs used for DNS resolving are:

How to Change Your DNS Servers on Windows, MacOS, Android, IOS

Windows:

  • Open Control Panel (by searching for it or in the Start menu)
  • Click on Network and Sharing Center
  • Click on Change adapter settings or similar depending on your Windows version
  • Right-click on the active network connection, usually marked with a green checkmark and select Properties
  • Select Internet Protocol Version 4 (TCP/IPv4) and click Properties
  • Click on “Use the following DNS server addresses” and enter your preferred DNS servers.

MacOS:

  • Open System Preferences (top-right corner)
  • Click on Network
  • Select the active network connection and go to Advanced
  • Switch to the DNS tab and click + to add a new DNS server
  • Enter custom DNS servers IP addresses.

Android:

  • Go to Settings
  • Select Wi-Fi
  • Long-press on the active Wi-Fi network and select Modify network
  • Go to Advanced options and change the DNS servers to custom ones.

IOS:

  • Go to the main Settings menu
  • Select the Wi-Fi section
  • Tap on the “i” next to the active Wi-Fi network
  • Then go to Configure DNS and change the DNS servers to such that you have chosen.

Free vs. Paid DNS Servers: What is the Difference?

Free DNS servers are provided by various organizations and can be used at no cost, examples would be Clouflare (1.1.1.1), Google (8.8.8.8, 8.8.4.4). These servers may in theory sometimes be slower and less reliable than paid DNS servers, but they are an excellent option for personal use. Plus they are maintained by major corporations, making them less probable to fail or be overloaded.

Paid DNS servers, on the other hand, are known to offer better speed, security, and dependability compared to the free DNS servers mentioned above. These servers are maintained and managed by companies that specialize in providing DNS services and typically offer extra features such as faster resolution times, improved security measures, and premium technical support. Paid DNS services are most commonly used by companies and organizations to guarantee and keep the smooth operation of their online services, platforms and other websites.

What is the Most Popular DNS Server?

The most popular DNS server is by statistical measurement - Google Public DNS (e.g 8.8.8.8 and 8.8.4.4). Launched publicly in 2009, Google Public DNS is a free, global Domain Name System resolution service that provides quick and reliable resolution of domain names to IPs. It is universally used by individuals and firms due to its fast resolution times, above-average levels of security, and its use of Anycast routing. Moreover, the Google Public DNS has a large distributed network of servers in various data centers around the world, making it an attractive option for users and online projects looking to improve and perfect their user experience.