What is DNS
DNS (Domain Name System) is a core service of the Internet that acts as a distributed database mapping domain names to IP addresses, allowing users to access websites through easy-to-remember domain names (like www.example.com) instead of complex numeric IP addresses (like 192.0.2.1).
How DNS Works
The DNS resolution process typically includes the following steps:
1. Browser Cache Check
- The browser first checks its own cache for the domain name resolution record
- If found and not expired, returns the IP address directly
2. Operating System Cache Check
- When browser cache misses, check OS cache (like Windows hosts file)
- Linux systems check
/etc/hostsfile
3. Local DNS Server Query
- Query the configured local DNS server (usually provided by ISP or internal company DNS)
- Local DNS server checks its own cache
4. Recursive Query Process
If local DNS server has no cached record, it performs recursive queries:
Step A: Root Name Server Query
- Local DNS queries the Root Name Server
- Root server returns the TLD server address responsible for that domain
Step B: TLD Server Query
- Local DNS queries TLD server (like .com, .org servers)
- TLD server returns the authoritative DNS server address
Step C: Authoritative DNS Server Query
- Local DNS queries the authoritative DNS server
- Authoritative server returns the final IP address record
5. Result Return and Caching
- Local DNS returns the result to the client
- Both client and local DNS cache the record according to TTL (Time To Live)
DNS Query Types
| Query Type | Description |
|---|---|
| Recursive Query | DNS server completes all query work on behalf of the client |
| Iterative Query | DNS server returns the best answer, client continues querying |
| Reverse Query | Query the domain name corresponding to an IP address |
Key Concepts
- A Record: Maps domain name to IPv4 address
- AAAA Record: Maps domain name to IPv6 address
- CNAME Record: Domain name alias record
- MX Record: Mail exchange record
- NS Record: Name server record
- TTL: Time To Live, determines cache validity period