What is DNS and How it Works?
All internet resources such as your laptop, mobile devices and servers that host content for all retail websites, identify and communicate with each other using IP addresses. An IP address is a set of unique numbers that computers can easily understand and process. However, when surfing you don’t need to know and remember this long number for every website you want to visit. You only enter the domain name for the target website like abc.com, and it opens the site, thanks to DNS. Learning the fundamental DNS concepts will help you understand what goes on behind the scenes, when accessing a site as well as how to configure your website for access.
A. What is DNS?
The Domain Name System (DNS) is an application layer of the TCP/IP protocol suite, which implements the naming service used on the Internet. DNS maps or translates human-friendly domain names (abc.com) to its computer-friendly numeric IP address (like 127.168.10.117), enabling users to connect to the correct website. DNS records hold details regarding web host, domain registrant, active name saver and address, and are stored in a name server (DNS server). When your local machine sends a request for a specific computer, the server fetches and responds with the information regarding the matching IP.
It operates like a phonebook that maintains a globally distributed registry that manages the mapping between names (hostnames) and numbers (IP addresses).
B. Types of DNS Servers
There are three main types of name servers namely:
1. Authoritative Name server
An authoritative DNS service provides original and definitive answers to DNS queries like a website or mail server IP address. It contains a database of all data associated with a given domain, and is the final authority over a domain. There are two classes of authoritative DNS server:
- Primary (Master) Name Server – Stores the master copies of all domain data, and is the main point of reference for the relevant DNS request. Updates about a domain are done from this database.
- Slave Name Server – The primary DNS server shares its load with and delegates its authority to a slave server to enhance availability in case of failure or breakdown. Simply put, the slave server is a backup for the primary server. It relies on special automatic DNS protocol mechanisms to get updates.
- Root Name Server – The first step of the domain name to IP translation starts here. The root server extracts the TLD (Top Level Domain) from the DNS request (such as the .com, .org and so on). It then returns details for the namespace, and redirects the request to the relevant TLD name server.
2. Recursive/ Caching – Only DNS Server
The Caching server receives recursive DNS queries from clients, tracks the name to IP translation, and returns the correct IP to the client. It does not own any DNS data, but has access to all the public DNS records. It also maintains a cache of answers to the most recent request to enhance the DNS resolution speed.
3. Forwarding DNS Server
As the name suggests, this server passes DNS requests to other external servers for resolution. It also provides a local DNS cache, which enables off-site resolution, reducing the response time. Besides, it offers flexibility in defining your local domain space by splitting and passing internal and external queries to different servers.
C. DNS Resolution and Caching
DNS resolution is the process of mapping the domain names to their IP address, and starts when a local program such as the browser needs to contact a remote resource on the Internet. The browser seeks assistance from the DNS client, your local DNS software, to get the address for the resource. The DNS client sends a query to the DNS server, a distributed and hierarchical network of servers that maps the request to its IP, and sends back the IP address of the remote machine.
Specific DNS servers do not have details for all the domains in the world, but can navigate the hierarchy to find the specific authoritative name servers with the mapping for the requested domain.
During this resolution routing processes, each DNS server and your browser caches the responses from where responses will be retrieved without querying the original server in case of a similar request. DNS Caching helps to speed up DNS responses at any level. Requests that are unresolved from the cache are forwarded to the original server for resolution.
The DNS is a very important component of the Internet that provides the name to IP mapping for every Internet resource. It enables us to access remote computers or websites using their domain names, instead of having to remember their long IP address. This means that without the DNS system, accessing the internet would be very difficult or impossible. Your ISP or Home router automatically assigns you the address of the DNS server, but if you have security concerns, you can use filtered DNS service such as the Open or Google DNS.