DNS

What

Convert human-readable names to computer-usable addresses

Why

Because remembering 2001:0db8:85a3::8a2e:0370:7334 is hard
Load balancing by converting the same domain into multiple IPs
Service discovery by adding certain records (e.g. MX) to a domain
Hierarchical nature makes it scalable

Concepts

How

  1. User types query
  2. Check local cache
  3. Query root server, will return NS record for the next level down
  4. Query TLD server, will return NS record again
  5. Query authoritative NS for domain in question
  6. Get result