A layer-7 (application) protocol for mapping domain names to typed values called DNS resource record (RR)s. It consists of two types of hosts:
A DNS resolver is responsible for finding the authoritative value of an RR.
A DNS nameserver is responsible for the authoritative value of the RR. It may store the authoritative value locally, or it may delegate this responsibility to another nameserver by defining a child DNS zone. Even in this case, the delegating server will keep local at least the authoritative value for the NS record of the subdomain.
From this follow two corollaries:
- Every DNS nameserver has at least one RR for which it is ultimately responsible; whereas a DNS resolver need not have any.
- A nameserver with at least one child zone is also a resolver.