Name → IP via a hierarchical distributed database. Client asks recursively; the resolver iterates: root → TLD → authoritative, then caches the answer per TTL. UDP/53 for queries, TCP/53 for zone transfers, DNSSEC and truncated answers.
| Record | Purpose |
|---|---|
| A / AAAA | IPv4 / IPv6 |
| CNAME | alias |
| MX | mail exchangers |
| NS | authoritative servers |
| PTR | reverse (IP→name) |
| TXT | SPF/DKIM/verification |
| SRV | service discovery (host:port) |
TTL trade-off: low = fast failover, more load; high = the opposite. Security: cache poisoning countermeasures (DNSSEC signing, source-port randomisation), don’t run open resolvers (amplification), watch for DNS tunneling.
Operations vocabulary: split-DNS, conditional forwarding, anycast resolvers, views. On a Cisco router: ip name-server 8.8.8.8 1.1.1.1, ip dns server turns it into a forwarder for labs.