From Browser URL to IP: The Complete DNS Recursive Lookup Journey
Tracing what happens when you type a domain into your browser: resolver caches, Root hints, TLD servers, and authoritative nameservers.
The Problem DNS Solves
Humans remember domain names (like `example.com`), but internet routers only understand IP addresses (like `93.184.216.34`). The Domain Name System (DNS) acts as the global, distributed hierarchical database that bridges this gap.
The 4 Pillars of DNS Hierarchy
1. **Local DNS Cache**: - Browser cache $\rightarrow$ OS cache (e.g., `/etc/hosts` or Windows DNS cache) $\rightarrow$ Home router DNS cache. 2. **Recursive Resolver (ISP / 8.8.8.8 / 1.1.1.1)**: - The workhorse server that queries the global hierarchy on your behalf. 3. **Root Nameservers (`.`)**: - 13 logical root server IP addresses distributed globally across hundreds of physical locations using Anycast routing. 4. **TLD Nameservers (`.com`, `.org`, `.in`)**: - Maintained by registry operators (like Verisign for `.com`). 5. **Authoritative Nameservers**: - The final authority that holds the actual DNS records (A, AAAA, CNAME, MX) configured by the domain owner.
Resolution Sequence Diagram
[Browser]
|
| 1. Query: "What is example.com?"
v
[Recursive Resolver (8.8.8.8)]
|
| 2. "Where is .com?"
v
[Root Server (.)] --------> Returns: "Ask .com TLD Server at 192.5.6.30"
|
| 3. "Where is example.com?"
v
[TLD Server (.com)] ------> Returns: "Ask Authoritative NS ns1.example.com"
|
| 4. "What is the A record for example.com?"
v
[Authoritative NS] -------> Returns: "A = 93.184.216.34 (TTL: 3600s)"
|
v
[Browser Receives 93.184.216.34 and Initiates TCP Connection]