name space itself, and resources that are described using
domain names and no nonstandard data.
We also want the name server transactions to be independent of
the communications system that carries them. Some systems may
wish to use datagrams for simple queries and responses, and
only establish virtual circuits for transactions that need the
reliability (e.g. database updates, long transactions); other
systems will use virtual circuits exclusively.
RFC 882 November 1983
Domain Names - Concepts and Facilities
Elements of the solution
The proposed solution has three major components:
The DOMAIN NAME SPACE, which is a specification for a tree
structured name space. Conceptually, each node and leaf of the
domain name space tree names a set of information, and query
operations are attempts to extract specific types of
information from a particular set. A query names the domain
name of interest and describes the type of resource information
that is desired. For example, the ARPA Internet uses some of
its domain names to identify hosts; queries for address
resources return ARPA Internet host addresses. However, to
preserve the generality of the domain mechanism, domain names
are not required to have a one-to-one correspondence with host
names, host addresses, or any other type of information.
NAME SERVERS are server programs which hold information about
the domain tree's structure and set information. A name server
may cache structure or set information about any part of the
domain tree, but in general a particular name server has
complete information about a subset of the domain space, and
pointers to other name servers that can be used to lead to
information from any part of the domain tree. Name servers
know the parts of the domain tree for which they have complete
information; these parts are called ZONEs; a name server is an
AUTHORITY for these parts of the name space.
RESOLVERS are programs that extract information from name
servers in response to user requests. Resolvers must be able
to access at least one name server and use that name server's
information to answer a query directly, or pursue the query
using referrals to other name servers. A resolver will
typically be a system routine that is directly accessible to
user programs; hence no protocol is necessary between the
resolver and the user program.
These three components roughly correspond to the three layers or
views of the domain system:
From the user's point of view, the domain system is accessed
through simple procedure or OS calls to resolvers. The domain
space consists of a single tree and the user can request
information from any section of the tree.
From the resolver's point of view, the domain system is
composed of an unknown number of name servers. Each name
server has one or more pieces of the whole domain tree's data,
RFC 882 November 1983
Domain Names - Concepts and Facilities
but the resolver views each of these databases as essentially
static.
From a name server's point of view, the domain system consists
of separate sets of local information called zones. The name
server has local copies of some of the zones. The name server
must periodically refresh its zones from master copies in local
files or foreign name servers. The name server must
concurrently process queries that arrive from resolvers using
the local zones.
In the interests of performance, these layers blur a bit. For
example, resolvers on the same machine as a name server may share
a database and may also introduce foreign information for use in
later queries. This cached information is treated differently
from the authoritative data in zones.
Database model
The organization of the domain system derives from some
assumptions about the needs and usage patterns of its user
=2= |