Skip to main content

Command Palette

Search for a command to run...

How DNS Resolution Works

Published
3 min readView as Markdown

DNS and dig Command :-

What is DNS and why name resolution exists

DNS means Domain Name System. DNS is like phonebook of internet. Human remember name not number but computer only understand number. So DNS help change name like google.com into IP address. Without DNS we have to remember long numbers for every website. Name resolution exist to make internet easy for humans.

Browser → DNS → IP Address

What is the dig command and when it is used:-

dig is a command used in terminal to check DNS details. It help programmers and network people to see how DNS is working. dig does not open website it only ask DNS questions. When website not opening dig is used to find problem.

Terminal → dig → DNS Server':-

Understanding dig . NS and root name servers

When we run dig dot NS it ask about root name servers. Root servers are top level of DNS. They do not know IP of website but they know where TLD servers are. Root servers help start the DNS journey. They guide request to next level.

dig . NS

Client → Root Server → TLD Info

Understanding dig com NS and TLD name servers:-

When we use dig com NS it ask TLD servers for dot com. TLD servers manage domains like google.com facebook.com etc. They do not store website IP but they know authoritative servers. TLD is middle layer of DNS.

dig com NS

Root → TLD Server → Authoritative Direction

Understanding dig google.com NS and authoritative name servers:-

When we run dig google.com NS it show authoritative name servers of google. Authoritative servers are final boss of DNS. They store real DNS records like A record MX record. They are responsible for domain data.

dig google.com NS

TLD → Authoritative Server → Real Records

Understanding dig google.com and full DNS resolution flow:-

When we type dig google.com it show final answer with IP address. Behind the scene recursive resolver talk to root then TLD then authoritative server. User only see result but many steps happen silently. Browser also follow same process.

Client → Recursive Resolver → Root → TLD → Authoritative → IP

What NS records represent and why they matter:-

NS record tell who control a domain DNS. It point to authoritative name servers. Without NS record domain will not work. NS record is like manager of domain who know all records.

Domain → NS Record → DNS Control

How recursive resolver works behind the scene:-

Recursive resolver is usually run by ISP or public DNS. It do all DNS searching work for user. It ask root then TLD then authoritative server. User computer do not do heavy work. This make internet fast and smooth.

User → Recursive Resolver → Internet DNS

Connecting dig output to browser request

Browser also do same DNS lookup but hide details. dig show raw data. When browser open google.com it use recursive resolver just like dig. So learning dig help understand browser networking.

Browser → DNS Lookup → Server → Website

DNS hierarchy in simple words:-

DNS is layered system. Each layer know different thing. Root know TLD. TLD know authoritative. Authoritative know IP. This design keep system scalable.

Root → TLD → Authoritative

Step by step DNS resolution for google.com:-

First browser ask resolver. Resolver ask root. Root send TLD info. TLD send authoritative info. Authoritative send IP. Browser connect to server.

Browser → Resolver → Root → TLD → Auth → IP

Where dig fits in system design:-

dig is tool to understand system design of DNS. It show how distributed system work. Every backend and devops learner should know dig to debug DNS issues.

Developer → dig → DNS System