Unit 2 · GG21 · DNS

DNS queries: you decide who is recursive

The host asks for gaia.cs.umass.edu, with every cache empty. As Kurose & Ross point out, in theory any DNS query can be iterative or recursive: choose how each server handles the queries it receives and see what changes.

How each server handles the queries it receives
Examples:
Query Referral (“I don’t know, ask…”) Reply with the address Server holding someone else’s pending query (it must remember it and wait)

About this visualization

An extension of Figs. 2.19 and 2.20 in Kurose and Ross: resolving gaia.cs.umass.edu with every cache empty, but the student decides whether each server (local, root, .edu TLD and authoritative) handles the queries it receives recursively or iteratively, in the panel or by clicking the label next to each server in the diagram. The animation builds the 8 messages for that configuration, with their type (query, referral or answer), the RD, RA and AA fields and what gets cached, and marks which servers have to remember someone else's query. At the end, a table compares how many messages and queries each device sent and who had to wait. It shows that the number of messages does not change, only who does the work, and why in practice only the local server is recursive.

Concepts: iterative query, recursive query, local DNS server, referral, root server, TLD server, authoritative server, cache, RD bit, RA bit, AA bit, pending query.

Network Architecture I, Session 2.1 · Enrique de la Hoz, University of Alcalá · License CC BY-SA 4.0 · Source and catalogue on GitHub · DOI 10.5281/zenodo.23285664