rfc882.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 1,379 行 · 第 1/5 页
TXT
1,379 行
hence become available to users of the domain system. A standard
format for these files is given in [14].
The standard format allows these files to be exchanged between
hosts (via FTP, mail, or some other mechanism); this facility is
useful when an organization wants a domain, but doesn't want to
support a name server. The organization can maintain the master
files locally using a text editor, transfer them to a foreign host
which runs a name server, and then arrange with the system
administrator of the name server to get the files loaded.
Mockapetris [Page 5]
RFC 882 November 1983
Domain Names - Concepts and Facilities
Each host's name servers and resolvers are configured by a local
system administrator. For a name server, this configuration data
includes the identity of local master files and instructions on
which non-local master files are to be loaded from foreign
servers. The name server uses the master files or copies to load
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
Mockapetris [Page 6]
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:
COLORS, FLAVORS, and TRUTH. The FLAVORS domain has one immediate
subdomain named NATURAL.FLAVORS. All of the leaves are also
Mockapetris [Page 7]
RFC 882 November 1983
Domain Names - Concepts and Facilities
domains. This domain tree has the names " "(the root), COLORS,
RED.COLORS, BLUE.COLORS, GREEN.COLORS, FLAVORS, NATURAL.FLAVORS,
CHOCOLATE.NATURAL.FLAVORS, VANILLA.NATURAL.FLAVORS,
STRAWBERRY.NATURAL.FLAVORS, and TRUTH. If we wished to add a new
domain of ARTIFICIAL under FLAVORS, FLAVORS would typically be the
administrative entity that would decide; if we wished to create
CHIP and MOCHA names under CHOCOLATE, CHOCOLATE.NATURAL.FLAVORS
would typically be the appropriate administrative entity.
Resource set information
A domain name identifies a set of resource information. The set
of resource information associated with a particular name is
composed of separate resource records (RRs).
Each resource record has the following major components:
The domain name which identifies resource set that holds this
record, and hence the "owner" of the information. For example,
a RR that specifies a host address has a domain name the
specifies the host having that address. Thus F.ISI.ARPA might
be the owner of a RR which specified an address field of
10.2.0.52. Since name servers typically store their resource
information in tree structures paralleling the organization of
the domain space, this information can usually be stored
implicitly in the database; however it is always included in
each resource record carried in a message.
Other information used to manage the RR, such as length fields,
timeouts, etc. This information is omitted in much of this
memo, but is discussed in [14].
A resource type field that specifies the type of the resource
in this resource record. Types refer to abstract resources
such as host addresses or mail delivery agents. The type field
is two octets long and uses an encoding that is standard
throughout the domain name system.
A class field identifies the format of the resource data, such
as the ARPA Internet format (IN) or the Computer Science
Network format (CSNET), for certain RR types (such as address
data). Note that while the class may separate different
protocol families, networks, etc. it does not do so in all
cases. For example, the IN class uses 32 bit IP addresses
exclusively, but the CSNET class uses 32 bit IP addresses, X.25
addresses, and phone numbers. Thus the class field should be
used as a guide for interpreting the resource data. The class
field is two octets long and uses an encoding that is standard
throughout the domain name system.
Mockapetris [Page 8]
RFC 882 November 1983
Domain Names - Concepts and Facilities
Resource data that describes the resource. The format of this
data can be determined given the type and class fields, but
always starts with a two octet length field that allows a name
server or resolver to determine the boundaries of the resource
data in any transaction, even if it cannot "understand" the
resource data itself. Thus name servers and resolvers can hold
and pass on records which they cannot interpret. The format of
the internal data is restricted only by the maximum length of
65535 octets; for example the host address record might specify
a fixed 32 bit number for one class, and a variable length list
of addresses in another class.
While the class field in effect partitions the resource data in
the domain name system into separate parallel sections according
to class, services can span class boundaries if they use
compatible resource data formats. For example, the domain name
system uses compatible formats for structure information, and the
mail data decouples mail agent identification from details of how
to contact the agent (e.g. host addresses).
This memo uses the following types in its examples:
A - the host address associated with the domain name
MF - identifies a mail forwarder for the domain
MD - identifies a mail destination for the domain
NS - the authoritative name server for the domain
SOA - identifies the start of a zone of authority
CNAME - identifies the canonical name of an alias
This memo uses the following classes in its examples:
IN - the ARPA Internet system
CS - the CSNET system
The first type of resource record holds a host name to host
address binding. Its fields are:
+--------+--------+--------+--------------//----------------------+
|<owner> | A | <class>| <class specific address>information |
+--------+--------+--------+--------------//----------------------+
Mockapetris [Page 9]
RFC 882 November 1983
Domain Names - Concepts and Facilities
The content of the class specific information varies according to
the value in the CLASS field; for the ARPA Internet, it is the 32
bit ARPA Internet address of the host, for the CSNET it might be
the phone number of the host. For example, F.ISI.ARPA might have
two A records of the form:
+----------+--------+--------+----------------------------+
|F.ISI.ARPA| A | IN | 10.2.0.52 |
+----------+--------+--------+----------------------------+
and
+----------+--------+--------+----------------------------+
|F.ISI.ARPA| A | CS | 213-822-2112 |
+----------+--------+--------+----------------------------+
Note that the data formats for the A type are class dependent, and
the Internet address and phone number formats shown above are for
purposes of illustration only. The actual data formats are
specified in [14]. For example, CS class data for type A records
might actually be a list of Internet addresses, phone numbers and
TELENET addresses.
The mail forwarder (MF) and mail delivery (MD) records have the
following format:
+--------+--------+--------+----------------------------+
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?