53> udp/53 → resolver
Carriage and query card: the DNS message in flight; the raised tab is RD, recursion desiredCache drawers and TTL gauge: what the resolver remembers, and for how longTags: referrals from root and .com, the answer from example.comCable: the client knows only its configured resolverA recursive DNS lookup for www.example.com as an instrument bench. The client asks its resolver once, with recursion desired (the raised RD tab); the resolver then asks a root server, a .com server and example.com's name server in turn. The root and .com servers drop referral tags (NS plus glue), the authoritative server drops the answer tag (AA), and the resolver files each record set in a cache drawer for its own TTL, which the gauge on its lid counts down. Asked again 600 s later by a second device, it answers from the drawer with no server queries: 21 ms instead of 141 ms. Shown with the full question at every hop (RFC 1034). Resolvers using QNAME minimisation (RFC 9156) send only "com." to the root and "example.com." to the .com server, revealing less of the name. Latencies are illustrative one-way times, not measurements. a.root-servers.net 198.41.0.4 and a.gtld-servers.net 192.5.6.30 are real; ns1.example.com 192.0.2.53 and 203.0.113.10 are RFC 5737 documentation addresses. The .com delegation for example.com and the example.com zone are illustrative; the live example.com is delegated to two Cloudflare nameservers, which have no in-zone glue. The root rack's 13 blades are the named identities a–m.root-servers.net, each served by many anycast instances.

Cold lookup · 141 ms illustrative

  1. The browser and then the operating system look for a cached answer for www.example.com and find none.

Look up again · 600 s later · 21 ms

The message, dig-style

;; step 1 · local-cache · cache · local
;; at the stub resolver
;; QUESTION SECTION:
;www.example.com. IN A

Real referrals carry all 13 .com nameservers (a–m.gtld-servers.net) and their glue; one of each is shown. DNS falls back to TCP port 53 when a response is too large for UDP (TC=1).