NAME SERVERS
Introduction
Name servers store a distributed database consisting of the
structure of the domain name space, the resource sets associated
with domain names, and other information used to coordinate
actions between name servers.
In general, a name server will be an authority for all or part of
a particular domain. The region covered by this authority is
called a zone. Name servers may be responsible for no
authoritative data, and hence have no zones, or may have several
zones. When a name server has multiple zones, the zones may have
no common borders or zones may be contiguous.
While administrators should not construct overlapping zones, and
name servers must defend against overlapping zones, overlapping is
regarded as a non-fatal flaw in the database. Hence the measures
taken to protect against it are omitted for the remainder of this
memo. A detailed discussion can be found in [14].
When presented with a query for a domain name over which it has
authority, a name server returns the desired resource information
or an indication that the query refers to a domain name or
resource that does not exist. If a name server is presented with
a query for a domain name that is not within its authority, it may
have the desired information, but it will also return a response
that points toward an authoritative name server. If a name server
is not an authority for a query, it can never return a negative
response.
There is no requirement that a name server for a domain reside in
a host which has a name in the same domain, although this will
usually be the case. There is also no restriction on the number
of name servers that can have authority over a particular domain;
most domains will have redundant authoritative name servers. The
assumption is that different authoritative copies are identical,
even though inconsistencies are possible as updates are made.
Name server functions are designed to allow for very simple
implementations of name servers. The simplest name server has a
static set of information and uses datagrams to receive queries
and return responses.
More sophisticated name server implementations can improve the
performance of their clients by caching information from other
domains. Although this information can be acquired in a number of
ways, the normal method is to store the information acquired by a
RFC 882 November 1983
Domain Names - Concepts and Facilities
resolver when the resolver consults other name servers. In a
sophisticated host, the resolver and name server will coordinate
their actions and use a shared database. This cooperation
requires the incorporation of a time-to-live (TTL) field in all
cached resource records. Caching is discussed in the resolver
section of this memo; this section is devoted to the actions of a
name servers that don't cache.
In order to free simple name servers of the requirement of
managing these timeouts, simple name servers should only contain
resource records that are expected to remain constant over very
long periods or resource records for which the name server is an
authority. In the following discussion, the TTL field is assumed
to be stored in the resource record but is omitted in descriptions
of databases and responses in the interest of clarity.
Authority and administrative control of domains
Although we want to have the potential of delegating the
privileges of name space management at every node, we don't want
such delegation to be required.
Hence we introduce the concept of authority. Authority is vested
in name servers. A name server has authority over all of its
domain until it delegates authority for a subdomain to some other
name server.
Any administrative entity that wishes to establish its own domain
must provide a name server, and have that server accepted by the
parent name server (i.e. the name server that has authority over
the place in the domain name space that will hold the new domain).
While the principles of authority allow acceptance to be at the
discretion of parent name servers, the following criteria are used
by the root, and are recommended to all name servers because they
are responsible for their children's actions:
1. It must register with the parent administrator of domains.
2. It must identify a responsible person.
3. In must provide redundant name servers.
=8= |