learn/System Design/DNS Resolution
NetworkingCore interactive

DNS Resolution

Translate a domain name into an IP address.

dns_resolution
browser
resolver
root .
.com TLD
authoritative

Click resolve to look up example.com.

speed1×

How it works

DNS resolves human-readable domain names into IP addresses through a hierarchical lookup chain — a recursive resolver, root servers, TLD servers, and finally the domain's authoritative name server. Once resolved, the answer is cached according to its TTL, so almost every real-world lookup skips the full chain.

Mental models

  • Resolution walks a hierarchy: root → TLD (.com) → authoritative name server, each pointing to the next.
  • A resolver caches the answer for the record's TTL — most lookups never leave the cache.
  • A records map a name to an IP; CNAME records alias one name to another; NS records delegate a zone to its name servers.
  • Weighted round robin, latency-based, and geolocation-based routing let a single domain answer differently per client.
  • DNS runs on eventual consistency at internet scale — propagation delay after a change is normal, not a bug.

Common pitfalls

  • Every uncached lookup adds a full round trip before the 'real' request can even start — TTL tuning is a real latency lever.
  • Lowering TTL for faster failover means more traffic hits your authoritative servers and more exposure to their outages.
  • DNS is a centralized dependency — an outage or DDoS against your resolver takes down every service behind that domain, even if the services themselves are healthy.

Reach for it when

  • Every domain lookup on the internet
  • Blue/green traffic shifting via weighted records
  • Geographic / latency-based routing