its zones. For resolvers, the configuration data identifies the
name servers which should be the primary sources of information.
The domain system defines procedures for accessing the data and
for referrals to other name servers. The domain system also
defines procedures for caching retrieved data and for periodic
refreshing of data defined by the system administrator.
The system administrators provide:
The definition of zone boundaries
Master files of data
Updates to master files
Statements of the refresh policies desired
The domain system provides:
Standard formats for resource data
Standard methods for querying the database
Standard methods for name servers to refresh local data from
foreign name servers
DOMAIN NAME SPACE
Name space specifications and terminology
The domain name space is a tree structure. Each node and leaf on
the tree corresponds to a resource set (which may be empty). Each
node and leaf has an associated label. Labels are NOT guaranteed
to be unique, with the exception of the root node, which has a
null label. The domain name of a node or leaf is the path from
the root of the tree to the node or leaf. By convention, the
labels that compose a domain name are read left to right, from the
most specific (lowest) to the least specific (highest).
Internally, programs that manipulate domain names represent them
as sequences of labels, where each label is a length octet
followed by an octet string. Because all domain names end at the
root, which has a null string for a label, these internal
RFC 882 November 1983
Domain Names - Concepts and Facilities
representations can use a length byte of zero to terminate a
domain name. When domain names are printed, labels in a path are
separated by dots ("."). The root label and its associated dot
are omitted from printed domain names, but the root can be named
by a null domain name (" " in this memo).
To simplify implementations, the total number of octets that
represent label octets and label lengths is limited to 255. Thus
a printed domain name can be up to 254 characters.
A special label is defined that matches any other label. This
label is the asterisk or "*". An asterisk matches a single label.
Thus *.ARPA matches FOO.ARPA, but does not match FOO.BAR.ARPA.
The asterisk is mainly used to create default resource records at
the boundary between protocol families, and requires prudence in
its use.
A domain is identified by a domain name, and consists of that part
of the domain name space that is at or below the domain name which
specifies the domain. A domain is a subdomain of another domain
if it is contained within that domain. This relationship can be
tested by seeing if the subdomain's name has the containing
domain's name as the right part of its name. For example, A.B.C.D
is a subdomain of B.C.D, C.D, D, and " ".
This tree structure is intended to parallel the administrative
organization and delegation of authority. Potentially, each node
or leaf on the tree can create new subdomains ad infinitum. In
practice, this delegation can be limited by the administrator of
the name servers that manage the domain space and resource data.
The following figure shows an example of a domain name space.
|
+------------------+------------------+
| | |
COLORS FLAVORS TRUTH
| |
+-----+-----+ |
| | | NATURAL
RED BLUE GREEN |
|
+---------------+---------------+
| | |
CHOCOLATE VANILLA STRAWBERRY
In this example, the root domain has three immediate subdomains:
=4= |