draft-ietf-dnsop-dns-terminology-01.txt   draft-ietf-dnsop-dns-terminology-02.txt 
Network Working Group P. Hoffman Network Working Group P. Hoffman
Internet-Draft VPN Consortium Internet-Draft VPN Consortium
Intended status: Best Current Practice A. Sullivan Intended status: Best Current Practice A. Sullivan
Expires: October 31, 2015 Dyn Expires: November 27, 2015 Dyn
K. Fujiwara K. Fujiwara
JPRS JPRS
April 29, 2015 May 26, 2015
DNS Terminology DNS Terminology
draft-ietf-dnsop-dns-terminology-01 draft-ietf-dnsop-dns-terminology-02
Abstract Abstract
The DNS is defined in literally dozens of different RFCs. The The DNS is defined in literally dozens of different RFCs. The
terminology used in by implementers and developers of DNS protocols, terminology used in by implementers and developers of DNS protocols,
and by operators of DNS systems, has sometimes changed in the decades and by operators of DNS systems, has sometimes changed in the decades
since the DNS was first defined. This document gives current since the DNS was first defined. This document gives current
definitions for many of the terms used in the DNS in a single definitions for many of the terms used in the DNS in a single
document. document.
skipping to change at page 1, line 38 skipping to change at page 1, line 38
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 31, 2015. This Internet-Draft will expire on November 27, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. DNS Header and Response Codes . . . . . . . . . . . . . . . . 4 3. DNS Header and Response Codes . . . . . . . . . . . . . . . . 5
4. Resource Records . . . . . . . . . . . . . . . . . . . . . . 5 4. Resource Records . . . . . . . . . . . . . . . . . . . . . . 6
5. DNS Servers . . . . . . . . . . . . . . . . . . . . . . . . . 7 5. DNS Servers . . . . . . . . . . . . . . . . . . . . . . . . . 8
6. Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6. Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7. Registration Model . . . . . . . . . . . . . . . . . . . . . 13 7. Registration Model . . . . . . . . . . . . . . . . . . . . . 14
8. General DNSSEC . . . . . . . . . . . . . . . . . . . . . . . 14 8. General DNSSEC . . . . . . . . . . . . . . . . . . . . . . . 15
9. DNSSEC States . . . . . . . . . . . . . . . . . . . . . . . . 15 9. DNSSEC States . . . . . . . . . . . . . . . . . . . . . . . . 17
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
11. Security Considerations . . . . . . . . . . . . . . . . . . . 17 11. Security Considerations . . . . . . . . . . . . . . . . . . . 19
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 20
13.1. Normative References . . . . . . . . . . . . . . . . . . 18 13.1. Normative References . . . . . . . . . . . . . . . . . . 20
13.2. Informative References . . . . . . . . . . . . . . . . . 19 13.2. Informative References . . . . . . . . . . . . . . . . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction 1. Introduction
The domain name system (DNS) is a simple query-response protocol The domain name system (DNS) is a simple query-response protocol
whose messages in both directions have the same format. The protocol whose messages in both directions have the same format. The protocol
and message format are defined in [RFC1034] and [RFC1035]. These and message format are defined in [RFC1034] and [RFC1035]. These
RFCs defined some terms, but later documents defined others. Some of RFCs defined some terms, but later documents defined others. Some of
the terms from RFCs 1034 and 1035 now have somewhat different the terms from RFCs 1034 and 1035 now have somewhat different
meanings than they did in 1987. meanings than they did in 1987.
skipping to change at page 3, line 17 skipping to change at page 3, line 17
Other organizations sometimes define DNS-related terms their own way. Other organizations sometimes define DNS-related terms their own way.
For example, the W3C defines "domain" at For example, the W3C defines "domain" at
https://specs.webplatform.org/url/webspecs/develop/. https://specs.webplatform.org/url/webspecs/develop/.
Note that there is no single consistent definition of "the DNS". It Note that there is no single consistent definition of "the DNS". It
can be considered to be some combination of the following: a can be considered to be some combination of the following: a
commonly-used naming scheme for objects on the Internet; a database commonly-used naming scheme for objects on the Internet; a database
representing the names and certain properties of these objects; an representing the names and certain properties of these objects; an
architecture providing distributed maintenance, resilience, and loose architecture providing distributed maintenance, resilience, and loose
coherency for this database; and a simple query-response protocol (as coherency for this database; and a simple query-response protocol (as
mentioned in the current draft) implementing this architecture. mentioned below) implementing this architecture.
Capitalization in DNS terms is often inconsistent between RFCs and Capitalization in DNS terms is often inconsistent between RFCs and
between DNS practitioners. The capitalization used in this document between DNS practitioners. The capitalization used in this document
is a best guess at current practices, and is not meant to indicate is a best guess at current practices, and is not meant to indicate
that other capitalization styles are wrong or archaic. that other capitalization styles are wrong or archaic. In some
cases, multiple styles of capitalization are used for the same term
due to quoting from different RFCs.
2. Names 2. Names
Domain name -- Section 3.1 of [RFC1034] talks of "the domain name Domain name: Section 3.1 of [RFC1034] talks of "the domain name
space" as a tree structure. "Each node has a label, which is zero to space" as a tree structure. "Each node has a label, which is zero
63 octets in length. ... The domain name of a node is the list of the to 63 octets in length. ... The domain name of a node is the list
labels on the path from the node to the root of the tree. ... To of the labels on the path from the node to the root of the tree.
simplify implementations, the total number of octets that represent a ... To simplify implementations, the total number of octets that
domain name (i.e., the sum of all label octets and label lengths) is represent a domain name (i.e., the sum of all label octets and
limited to 255." label lengths) is limited to 255."
Fully-qualified domain name (FQDN) -- This is often just a clear way Fully-qualified domain name (FQDN): This is often just a clear way
of saying the same thing as "domain name of a node", as outlined of saying the same thing as "domain name of a node", as outlined
above. However, the term is ambiguous. Strictly speaking, a fully- above. However, the term is ambiguous. Strictly speaking, a
qualified name would include every label, including the final, zero- fully-qualified name would include every label, including the
length label of the root zone: such a name would be written final, zero-length label of the root zone: such a name would be
"www.example.net." (note the terminating dot). But because every written "www.example.net." (note the terminating dot). But
name eventually shares the common root, names are often written because every name eventually shares the common root, names are
relative to the root (such as "www.example.net") and are still called often written relative to the root (such as "www.example.net") and
"fully qualified". are still called "fully qualified".
This term first appeared in [RFC1206]. This term first appeared in [RFC1206].
Host name -- This term and its equivalent, "hostname", have been The need for the term "fully-qualified domain name" comes from the
widely used but are not defined in [RFC1034], [RFC1035], [RFC1123], existence of partially-qualified domain names, which are names
or [RFC2181]. The DNS was originally deployed into the Host Tables where some of the right-most names are left off and are understood
environment as outlined in [RFC0952], and it is likely that the term only by context.
followed informally from the definition there. Over time, the
definition seems to have shifted. "Host name" is often meant to be a
domain name that follows the rules in Section 3.5 of [RFC1034], the
"preferred name syntax". Note that any label in any domain name can
contain any octet value; hostnames are generally considered to be
domain names where every label follows the rules in the "preferred
name syntax", with the amendment that labels can start with ASCII
digits (this amendment comes from Section 2.1 of [RFC1123]).
People also sometimes use the term hostname to refer to just the Label: The identifier of an individual node in the sequence of nodes
first label of an FQDN. In addition, people sometimes use this term that comprise a fully-qualified domain name.
to describe any name that refers to a machine, and those might
include labels that do not conform to the "preferred name syntax".
TLD -- A Top-Level Domain, meaning a zone that is one layer below the Host name: This term and its equivalent, "hostname", have been
root, such as .com or .jp. There is nothing special, from the point widely used but are not defined in [RFC1034], [RFC1035],
of view of the DNS, about TLDs. Most of them are also delegation- [RFC1123], or [RFC2181]. The DNS was originally deployed into the
centric zones, and there are significant policy issues around their Host Tables environment as outlined in [RFC0952], and it is likely
operation. that the term followed informally from the definition there. Over
time, the definition seems to have shifted. "Host name" is often
meant to be a domain name that follows the rules in Section 3.5 of
[RFC1034], the "preferred name syntax". Note that any label in
any domain name can contain any octet value; hostnames are
generally considered to be domain names where every label follows
the rules in the "preferred name syntax", with the amendment that
labels can start with ASCII digits (this amendment comes from
Section 2.1 of [RFC1123]).
ccTLD -- A TLD that is allocated to a country. Historically, these People also sometimes use the term hostname to refer to just the
were two-letter TLDs, and were allocated to countries using the two- first label of an FQDN. In addition, people sometimes use this
letter code from the ISO 3166-1 alpha-2 standard [ISO3166]. In term to describe any name that refers to a machine, and those
recent years, there have been allocations of TLDs that conform to might include labels that do not conform to the "preferred name
IDNA2008 ([RFC5890], [RFC5891], [RFC5892], [RFC5893], and [RFC5894]); syntax".
these are still treated as ccTLDs for policy purposes.
gTLD -- A "generic" TLD is a TLD that is not a ccTLD, and is not one TLD: A Top-Level Domain, meaning a zone that is one layer below the
of the small number of historical TLDs such as .int and .arpa. There root, such as .com or .jp. There is nothing special, from the
is no precise definition for which TLDs that are not ccTLDs are point of view of the DNS, about TLDs. Most of them are also
gTLDs. delegation-centric zones, and there are significant policy issues
around their operation. TLDs are often divided into sub-groups
such as "ccTLDs", "gTLDs", and others; the division is a matter of
policy, and beyond the scope of this document.
Public suffix -- A domain under which subdomains can be registered, IDN: The common abbreviation for "internationalized domain name".
and on which HTTP cookies ([RFC6265]) should not be set. There is no IDNs are the current standard mechanism for handling domain names
indication in a domaine name whether or not it is a public suffix; with non-ASCII characters in applications. The current standard,
that can only be determined by outside means. The IETF DBOUND normally called "IDNA2008", is defined in [RFC5890], [RFC5891],
Working Group [DBOUND] deals with issues with public suffixes. [RFC5892], [RFC5893], and [RFC5894].
For example, at the time this document is published, .com.au is Alias: The owner of a CNAME resource record, or a subdomain of the
considered a public suffix, but .au is not. Note that this term is owner of a DNAME resource record [RFC6672]. See also "canonical
controversial in the DNS community for many reasons, and may be name".
significantly changed in the future. One example of the difficulty
of calling a domain a public suffix is that designation can change Canonical name: A CNAME resource record identifies its owner name as
over time as the registration policy for the zone changes, such as an alias, and specifies the corresponding canonical name in the
the case of the .uk zone around the time this document is published. RDATA section of the RR. (Quoted from [RFC1034], section 3.6.2)
This usage of the word "canonical" is related to the mathematical
concept of "canonical form".
CNAME: It is traditional to refer to the owner of a CNAME record as
"a CNAME". This is unfortunate, as "CNAME" is an abbreviation of
"canonical name", and the owner of a CNAME record is an alias not
a canonical name. (Quoted from [RFC2181], section 10.1.1)
Public suffix: A domain under which subdomains can be registered,
and on which HTTP cookies ([RFC6265]) should not be set. There is
no indication in a domain name whether or not it is a public
suffix; that can only be determined by outside means. The IETF
DBOUND Working Group [DBOUND] deals with issues with public
suffixes.
For example, at the time this document is published, .com.au is
considered a public suffix, but .au is not. (Note that this
example might change in the future.)
Note that the term "public suffix" is controversial in the DNS
community for many reasons, and may be significantly changed in
the future. One example of the difficulty of calling a domain a
public suffix is that designation can change over time as the
registration policy for the zone changes, such as the case of the
.uk zone around the time this document is published.
3. DNS Header and Response Codes 3. DNS Header and Response Codes
The header of a DNS message is first 12 octets. Many of the fields The header of a DNS message is first 12 octets. Many of the fields
and flags in the header diagram in section 4.1.1 of [RFC1035] are and flags in the header diagram in section 4.1.1 of [RFC1035] are
referred to by their names in that diagram. For example, the referred to by their names in that diagram. For example, the
response codes are called "RCODEs", and the authoritative answer bit response codes are called "RCODEs", the data for a record is called
is often called "the AA flag" or "the AA bit". the "RDATA" (sometimes also called "RRdata"), and the authoritative
answer bit is often called "the AA flag" or "the AA bit".
Some of response codes that are defined in [RFC1035] have gotten Some of response codes that are defined in [RFC1035] have gotten
their own shorthand names. Some common response code names that their own shorthand names. Some common response code names that
appear without reference to the numeric value are "FORMERR", appear without reference to the numeric value are "FORMERR",
"SERVFAIL", and "NXDOMAIN". All of the RCODEs are listed at "SERVFAIL", and "NXDOMAIN". All of the RCODEs are listed at
http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml, http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml,
although that site uses mixed-case capitalization, while most although that site uses mixed-case capitalization, while most
documents use all-caps. documents use all-caps.
NODATA - This is not an actual response code, but is a particular NODATA: A pseudo RCODE which indicates that the name is valid for
type of response from a server that indicates that the queried domain the given class, but are no records of the given type. A NODATA
name exists for the given class, but the resource record type being response has to be inferred from the answer. (Quoted from
queried for does not exist. A NODATA response is a combination of an [RFC2308], section 1.) NODATA is indicated by an answer with the
RCODE of 0 (NOERROR) and an Answer section that is empty. In RCODE set to NOERROR and no relevant answers in the answer
addition, NODATA responses from authoritative servers have the section. The authority section will contain an SOA record, or
authoritative answer (AA bit) set to 1 and include an SOA record. there will be no NS records there. (Quoted from [RFC2308],
Section 1 of [RFC2308] defines NODATA as "a pseudo RCODE which section 2,2.) Note that referrals have a similar format to NODATA
indicates that the name is valid, for the given class, but are no replies; [RFC2308] explains how to distinguish them.
records of the given type". The term "NXRRSET" is becoming more
common as a synonym for NODATA.
Negative response -- A response whose RCODE indicates that a The term "NXRRSET" is sometimes used as a synonym for NODATA.
particular RRset does not exist in the DNS or a failure of a However, this is a mistake, given that NXRRSET is a specific error
nameserver. Sections 2 and 7 of [RFC2308] describes the types of code defined in [RFC2136].
negative responses in detail.
Negative response: A response which indicates that a particular
RRset does not exist, or whose RCODE indicates the nameserver
cannot answer. Sections 2 and 7 of [RFC2308] describe the types
of negative responses in detail.
Referrals: Data from the authority section of a non-authoritative
answer. [RFC1035] section 2.1 defines "authoritative" data.
However, referrals at zone cuts are not authoritative. Referrals
may be a zone cut NS resource records and their glue records. NS
records on the parent side of a zone cut are an authoritative
delegation, but are normally not treated as authoritative data by
the client. In general, a referral is a way for a server to send
an answer saying that the server does not know the answer, but
knows where the query should be directed in order to get an
answer. Historically, many authoritative servers answered with a
referral to the root zone when queried for a name for which they
were not authoritative, but this practice has declined.
Zone transfer: The act of a client requesting a copy of a zone and
an authoritative server sending the needed information. There are
two common standard ways to do zone transfers: the AXFR
("Authoritative Transfer") mechanism to copy the full zone
(described in [RFC5936], and the IXFR ("Incremental Transfer")
mechanism to copy only parts of the zone that have changed
(described in [RFC1995]). Many systems use non-standard methods
for zone transfer outside the DNS protocol.
4. Resource Records 4. Resource Records
RR -- A short form for resource record. ([RFC1034], section 3.6.) RR: A short form for resource record. ([RFC1034], section 3.6.)
RRset -- A set of resource records with the same label, class and RRset: A set of resource records with the same label, class and
type, but with different data. (Definition from [RFC2181]) Also type, but with different data. (Definition from [RFC2181]) Also
spelled RRSet in some documents. As a clarification, "same label" in spelled RRSet in some documents. As a clarification, "same label"
this definition means "same owner name". In addition, [RFC2181] in this definition means "same owner name". In addition,
states that "the TTLs of all RRs in an RRSet must be the same". [RFC2181] states that "the TTLs of all RRs in an RRSet must be the
same".
EDNS -- Also commonly called "EDNS0", this is the extension EDNS: The extension mechanisms for DNS, defined in [RFC6891].
mechanisms for DNS. The extension mechanism, defined in [RFC6891], Sometimes called "EDNS0" or "EDNS(0)" to indicate the version
allows DNS clients and servers to specify message sizes larger than number. EDNS allows DNS clients and servers to specify message
the original 512 octet limit, to expand the response code space, and sizes larger than the original 512 octet limit, to expand the
to potentially carry additional options that affect the handling of a response code space, and to potentially carry additional options
DNS query. that affect the handling of a DNS query.
OPT -- A pseudo-RR (sometimes called a meta-RR) that is used only to OPT: A pseudo-RR (sometimes called a meta-RR) that is used only to
contain control information pertaining to the question-and-answer contain control information pertaining to the question-and-answer
sequence of a specific transaction. (Definition from [RFC6891], sequence of a specific transaction. (Definition from [RFC6891],
section 6.1.1) It is used by EDNS. section 6.1.1) It is used by EDNS.
Owner -- The domain name where a RR is found ([RFC1034], section Owner: The domain name where a RR is found ([RFC1034], section 3.6).
3.6). Often appears in the term "owner name". Often appears in the term "owner name".
SOA field names -- DNS documents, including the definitions here, SOA field names: DNS documents, including the definitions here,
often refer to the fields in the RDATA an SOA resource record by often refer to the fields in the RDATA an SOA resource record by
field name. Those fields are defined in Section 3.3.13 of [RFC1035]. field name. Those fields are defined in Section 3.3.13 of
The names (in the order they appear in the SOA RDATA) are MNAME, [RFC1035]. The names (in the order they appear in the SOA RDATA)
RNAME, SERIAL, REFRESH, RETRY, EXPIRE, and MINIMUM. Note that the are MNAME, RNAME, SERIAL, REFRESH, RETRY, EXPIRE, and MINIMUM.
meaning of MINIMUM field is updated in Section 4 of [RFC2308]; the Note that the meaning of MINIMUM field is updated in Section 4 of
new definition is that the MINIMUM field is only "the TTL to be used [RFC2308]; the new definition is that the MINIMUM field is only
for negative responses". "the TTL to be used for negative responses".
TTL -- The maximum "time to live" of a resource record. A TTL value TTL: The maximum "time to live" of a resource record. A TTL value
is an unsigned number, with a minimum value of 0, and a maximum value is an unsigned number, with a minimum value of 0, and a maximum
of 2147483647. That is, a maximum of 2^31 - 1. When transmitted, value of 2147483647. That is, a maximum of 2^31 - 1. When
the TTL is encoded in the less significant 31 bits of the 32 bit TTL transmitted, the TTL is encoded in the less significant 31 bits of
field, with the most significant, or sign, bit set to zero. (Quoted the 32 bit TTL field, with the most significant, or sign, bit set
from [RFC2181], section 8) (Note that [RFC1035] erroneously stated to zero. (Quoted from [RFC2181], section 8) (Note that [RFC1035]
that this is a signed integer; it is fixed in an erratum.) erroneously stated that this is a signed integer; it is fixed in
an erratum.)
The TTL "specifies the time interval that the resource record may be The TTL "specifies the time interval that the resource record may
cached before the source of the information should again be be cached before the source of the information should again be
consulted". (Quoted from [RFC1035], section 3.2.1) Also: "the time consulted". (Quoted from [RFC1035], section 3.2.1) Also: "the
interval (in seconds) that the resource record may be cached before time interval (in seconds) that the resource record may be cached
it should be discarded". (Quoted from [RFC1035], section 4.1.3). before it should be discarded". (Quoted from [RFC1035], section
Despite being defined for a resource record, the TTL of every 4.1.3). Despite being defined for a resource record, the TTL of
resource record in an RRset is required to be the same (RFC2181, every resource record in an RRset is required to be the same
section 5.2). (RFC2181, section 5.2).
The reason that the TTL is the maximum time to live is that a cache The reason that the TTL is the maximum time to live is that a
operator might decide to shorten the time to live for operational cache operator might decide to shorten the time to live for
purposes, such as if there is a policy to not allow TTL values over a operational purposes, such as if there is a policy to not allow
certain number. Also, if a value is flushed from the cache when its TTL values over a certain number. Also, if a value is flushed
value is still positive, the value effectively becomes zero. Some from the cache when its value is still positive, the value
servers do not honor the TTL on an RRset from the authoritative effectively becomes zero. Some servers do not honor the TTL on an
servers, such as when when the authoritative data has a very short RRset from the authoritative servers, such as when when the
TTL. authoritative data has a very short TTL.
There is also the concept of a "default TTL" for a zone, which can be There is also the concept of a "default TTL" for a zone, which can
a configuration parameter in the server software. This is often be a configuration parameter in the server software. This is
expressed by a default for the entire server, and a default for a often expressed by a default for the entire server, and a default
zone using the $TTL directive in a zone file. The $TTL directive was for a zone using the $TTL directive in a zone file. The $TTL
added to the master file format by [RFC2308]. directive was added to the master file format by [RFC2308].
5. DNS Servers 5. DNS Servers
This section defines the terms used for the systems that act as DNS This section defines the terms used for the systems that act as DNS
clients, DNS servers, or both. Some terms about servers describe clients, DNS servers, or both. Some terms about servers describe
servers that do and do not use DNSSEC; see Section 8 for those servers that do and do not use DNSSEC; see Section 8 for those
definitions. definitions.
[[ There is a request to "first describe the iterative and recursive Resolver: A program that extracts information from name servers in
resolution processes, and mention the expected values of the RD,RA,AA response to client requests. (Quoted from [RFC1034], section 2.4)
bits. Then you can describe the distinctions between recursive and The resolver is located on the same machine as the program that
iterative clients, and between recursive and authoritative servers, requests the resolver's services, but it may need to consult name
in terms of the roles they play in the different resolution servers on other hosts. (Quoted from [RFC1034], section 5.1) A
processes." This would require the section to be quite different resolver performs queries for a name, type, and class, and
than the other sections in the document. ]] receives answers. The logical function is called "resolution".
In practice, the term is usually referring to some specific type
Resolver -- A program that extracts information from name servers in of resolver (some of which are defined below), and understanding
response to client requests. (Quoted from [RFC1034], section 2.4) It the use of the term depends on understanding the context.
is a program that interfaces user programs to domain name servers.
The resolver is located on the same machine as the program that
requests the resolver's services. (Quoted from [RFC1034], section
5.1) A resolver performs queries for a name, type, and class, and
receives answers. The logical function is called "resolution". In
practice, the term is usually referring to some specific type of
resolver (some of which are defined below), and understanding the use
of the term depends on understanding the context.
Stub resolver -- A resolver that cannot perform all resolution
itself. Stub resolvers generally depend on a recursive resolver to
undertake the actual resolution function. Stub resolvers are
discussed but never fully defined in Section 5.3.1 of [RFC1034].
They are fully defined in Section 6.1.3.1 of [RFC1123].
Iterative mode -- A resolution mode of a server that receives DNS Stub resolver: A resolver that cannot perform all resolution itself.
queries and responds with a referral to another server. Section 2.3 Stub resolvers generally depend on a recursive resolver to
of [RFC1034] describes this as "The server refers the client to undertake the actual resolution function. Stub resolvers are
another server and lets the client pursue the query". A resolver discussed but never fully defined in Section 5.3.1 of [RFC1034].
that works in iterative mode is sometimes called an "iterative They are fully defined in Section 6.1.3.1 of [RFC1123].
resolver".
Recursive mode -- A resolution mode of a server that receives DNS Iterative mode: A resolution mode of a server that receives DNS
queries and either responds to those queries from a local cache or queries and responds with a referral to another server.
sends queries to other servers in order to get the final answers to Section 2.3 of [RFC1034] describes this as "The server refers the
the original queries. Section 2.3 of [RFC1034] describes this as client to another server and lets the client pursue the query". A
"The first server pursues the query for the client at another resolver that works in iterative mode is sometimes called an
server". A server operating in recursive mode may be thought of as "iterative resolver".
having a name server side (which is what answers the query) and a
resolver side (which performs the resolution function). Systems
operating in this mode are commonly called "recursive servers".
Sometimes they are called "recursive resolvers". While strictly the Recursive mode: A resolution mode of a server that receives DNS
difference between these is that one of them sends queries to another queries and either responds to those queries from a local cache or
recursive server and the other does not, in practice it is not sends queries to other servers in order to get the final answers
possible to know in advance whether the server that one is querying to the original queries. Section 2.3 of [RFC1034] describes this
will also perform recursion; both terms can be observed in use as "The first server pursues the query for the client at another
interchangeably. Resolvers acting in recursive mode are also server". A server operating in recursive mode may be thought of
sometimes called "caching servers". as having a name server side (which is what answers the query) and
a resolver side (which performs the resolution function). Systems
operating in this mode are commonly called "recursive servers".
Sometimes they are called "recursive resolvers". While strictly
the difference between these is that one of them sends queries to
another recursive server and the other does not, in practice it is
not possible to know in advance whether the server that one is
querying will also perform recursion; both terms can be observed
in use interchangeably.
Full resolver -- This term is used in [RFC1035], but it is not Full resolver: This term is used in [RFC1035], but it is not defined
defined there. RFC 1123 defines a "full-service resolver" that may there. RFC 1123 defines a "full-service resolver" that may or may
or may not be what was intended by "full resolver" in [RFC1035]. not be what was intended by "full resolver" in [RFC1035].
Full-service resolver -- Section 6.1.3.1 of [RFC1123] defines this Full-service resolver: Section 6.1.3.1 of [RFC1123] defines this
term to mean a resolver that acts in recursive mode with a cache, as term to mean a resolver that acts in recursive mode with a cache
well as other requirements. (and meets other requirements).
Priming -- The mechanism used by a resolver to determine where to Priming: The mechanism used by a resolver to determine where to send
send queries before there is anything in the resolver's cache. queries before there is anything in the resolver's cache. Priming
Priming is most often done from a configuration setting that contains is most often done from a configuration setting that contains a
a list of authoritative servers for the DNS root zone. list of authoritative servers for the DNS root zone.
Negative caching -- The storage of knowledge that something does not Negative caching: The storage of knowledge that something does not
exist, cannot give an answer, or does not give an answer. (Quoted exist, cannot give an answer, or does not give an answer. (Quoted
from Section 1 of [RFC2308]) from Section 1 of [RFC2308])
Authoritative server -- A system that responds to DNS queries with Authoritative server: A server that knows the content of a DNS zone
information about zones for which it has been configured to answer from local knowledge, and thus can answer queries about that zone
with the AA flag in the response header set to 1. It is a server without needing to query other servers. (Quoted from [RFC2182],
that has authority over one or more DNS zones. Note that it is section 2.) It is a system that responds to DNS queries with
possible for an authoritative server to respond to a query without information about zones for which it has been configured to answer
the parent zone delegating authority to that server. Authoritative with the AA flag in the response header set to 1. It is a server
servers also provide "referrals", usually to child zones delegated that has authority over one or more DNS zones. Note that it is
from them; these referrals have the AA bit set to 0 and come with possible for an authoritative server to respond to a query without
referral data in the Authority and (if needed) the Additional the parent zone delegating authority to that server.
sections. Authoritative servers also provide "referrals", usually to child
zones delegated from them; these referrals have the AA bit set to
0 and come with referral data in the Authority and (if needed) the
Additional sections.
Secondary server -- "An authoritative server which uses zone transfer Secondary server: "An authoritative server which uses zone transfer
to retrieve the zone" (quoted from [RFC1996], section 2.1). to retrieve the zone" (quoted from [RFC1996], section 2.1).
[RFC2182] describes secondary servers in detail. Although early DNS [RFC2182] describes secondary servers in detail. Although early
RFCs such as [RFC1996] referred to this as a "slave", the current DNS RFCs such as [RFC1996] referred to this as a "slave", the
common usage has shifted to calling it a "secondary". current common usage has shifted to calling it a "secondary".
Slave server -- See secondary server. Slave server: See secondary server.
Primary server -- "Any authoritative server configured to be the Primary server: "Any authoritative server configured to be the
source of zone transfer for one or more [secondary] servers" (quoted source of zone transfer for one or more [secondary] servers"
from [RFC1996], section 2.1) or, more specifically, "an authoritative (quoted from [RFC1996], section 2.1) or, more specifically, "an
server configured to be the source of AXFR or IXFR data for one or authoritative server configured to be the source of AXFR or IXFR
more [secondary] servers" (quoted from [RFC2136]). Although early data for one or more [secondary] servers" (quoted from [RFC2136]).
DNS RFCs such as [RFC1996] referred to this as a "master", the Although early DNS RFCs such as [RFC1996] referred to this as a
current common usage has shifted to "primary". "master", the current common usage has shifted to "primary".
Master server -- See primary server. Master server: See primary server.
Primary master -- The primary master is named in the zone's SOA MNAME Primary master: The primary master is named in the zone's SOA MNAME
field and optionally by an NS resource record. (Quoted from field and optionally by an NS resource record. (Quoted from
[RFC1996], section 2.1) [RFC2136] defines "primary master" as "Master [RFC1996], section 2.1) [RFC2136] defines "primary master" as
server at the root of the AXFR/IXFR dependency graph. The primary "Master server at the root of the AXFR/IXFR dependency graph. The
master is named in the zone's SOA MNAME field and optionally by an NS primary master is named in the zone's SOA MNAME field and
RR. There is by definition only one primary master server per zone." optionally by an NS RR. There is by definition only one primary
master server per zone."
Stealth server -- This is the same as a slave server except that it Stealth server: This is the same as a slave server except that it is
is not listed in an NS resource record for the zone. (Quoted from not listed in an NS resource record for the zone. (Quoted from
[RFC1996], section 2.1) A stealth server is often actually a master [RFC1996], section 2.1)
for zone transfers, and in that case is called a "hidden master".
Zone transfer -- The act of a client requesting a copy of a zone and Hidden master: A stealth server that is a master for zone transfers.
an authoritative server sending the needed information. There are In this arrangement, the master name server that processes the
two common standard ways to do zone transfers: the AXFR updates is unavailable to general hosts on the Internet; it is not
("Authoritative Transfer") mechanism to copy the full zone, and the listed in the NS RRset. (Quoted from [RFC6781], section 3.4.3.)
IXFR ("Incremental Transfer") mechanism to copy only parts of the An earlier RFC, [RFC4641], said that the hidden master's name
zone that have changed. Many systems use non-standard methods for appears in the SOA RRs MNAME field, although in some setups, the
zone transfer outside the DNS protocol. name does not appear at all in the public DNS. A hidden master
can be either a secondary or a primary master.
Forwarding -- The process of one server sending a DNS query with the Forwarding: The process of one server sending a DNS query with the
RD bit set to 1 to another server to resolve that query. Forwarding RD bit set to 1 to another server to resolve that query.
is a function of a DNS resolver; it is different than simply blindly Forwarding is a function of a DNS resolver; it is different than
relaying queries. simply blindly relaying queries.
[RFC5625] does not give a specific definition for forwarding, but [RFC5625] does not give a specific definition for forwarding, but
describes in detail what features a system that forwards need to describes in detail what features a system that forwards need to
support. Systems that forward are sometimes called "DNS proxies", support. Systems that forward are sometimes called "DNS proxies",
but that term has not yet been defined (even in [RFC5625]). but that term has not yet been defined (even in [RFC5625]).
Forwarder -- Section 1 of [RFC2308] describes a forwarder as "a Forwarder: Section 1 of [RFC2308] describes a forwarder as "a
nameserver used to resolve queries instead of directly using the nameserver used to resolve queries instead of directly using the
authoritative nameserver chain". [RFC2308] further says "The authoritative nameserver chain". [RFC2308] further says "The
forwarder typically either has better access to the internet, or forwarder typically either has better access to the internet, or
maintains a bigger cache which may be shared amongst many resolvers." maintains a bigger cache which may be shared amongst many
That definition appears to suggest that forwarders normally only resolvers." That definition appears to suggest that forwarders
query authoritative servers. In current use, however, forwarders normally only query authoritative servers. In current use,
often stand between stub resolvers and recursive servers. [RFC2308] however, forwarders often stand between stub resolvers and
is silent on whether a forwarder is iterative-only or can be a full recursive servers. [RFC2308] is silent on whether a forwarder is
resolver. iterative-only or can be a full-service resolver.
Policy-implementing resolver -- A resolver acting in recursive mode Policy-implementing resolver: A resolver acting in recursive mode
that changes some of the answers that it returns based on policy that changes some of the answers that it returns based on policy
criteria, such as to prevent access to malware sites or objectionable criteria, such as to prevent access to malware sites or
content. In general, a stub resolver has no idea whether or not objectionable content. In general, a stub resolver has no idea
upstream resolvers implement such policy or, if they do, the exact whether or not upstream resolvers implement such policy or, if
policy about what changes will be made. In some cases, the user of they do, the exact policy about what changes will be made. In
the stub resolver has selected the policy-implementing resolver with some cases, the user of the stub resolver has selected the policy-
the explicit intention of using it to implement the policies. In implementing resolver with the explicit intention of using it to
other cases, policies are imposed without the user of the stub implement the policies. In other cases, policies are imposed
resolver being informed. without the user of the stub resolver being informed.
Open resolver -- A full resolver that accepts and processes queries Open resolver: A full-service resolver that accepts and processes
from any (or nearly any) stub resolver. This is sometimes also queries from any (or nearly any) stub resolver. This is sometimes
called a "public resolver". also called a "public resolver".
View -- A configuration for a DNS server that allows it to provide View: A configuration for a DNS server that allows it to provide
different answers depending on attributes of the query. Typically, different answers depending on attributes of the query.
views differ by the source IP address of a query, but can also be Typically, views differ by the source IP address of a query, but
based on the destination IP address, the type of query (such as can also be based on the destination IP address, the type of query
AXFR), and so on. Views are often used to provide more names or (such as AXFR), whether or not it is recursive, and so on. Views
different addresses to queries from "inside" a protected network than are often used to provide more names or different addresses to
to those "outside" that network. Views are not a standardized part queries from "inside" a protected network than to those "outside"
of the DNS, but they are widely implemented in server software. that network. Views are not a standardized part of the DNS, but
they are widely implemented in server software.
Passive DNS -- A mechanism to collect large amounts of DNS data by Passive DNS: A mechanism to collect large amounts of DNS data by
storing DNS responses from servers. Some of these systems also storing DNS responses from servers. Some of these systems also
collect the DNS queries associated with the responses; this can raise collect the DNS queries associated with the responses; this can
privacy issues. Passive DNS databases can be used to answer raise privacy issues. Passive DNS databases can be used to answer
historical questions about DNS zones such as which records were historical questions about DNS zones such as which records were
available for them at what times in the past. Passive DNS databases available for them at what times in the past. Passive DNS
allow searching of the stored records on keys other than just the databases allow searching of the stored records on keys other than
name, such as "find all names which have A records of a particular just the name, such as "find all names which have A records of a
value". particular value".
Child-centric resolver -- A DNS resolver that, instead of serving the Child-centric resolver: A DNS resolver that, instead of serving the
NS RRset and glue records that it obtained from the parent of a zone, NS RRset and glue records that it obtained from the parent of a
serves data from the authoritative servers for that zone. The term zone, serves data from the authoritative servers for that zone.
"child-centric" is meant as the opposite of "parent-centric", which The term "child-centric" is meant as the opposite of "parent-
means a resolver that simply serves the NS RRset and glue records for centric", which means a resolver that simply serves the NS RRset
a zone that it obtained from the zone's parent, without checking the and glue records for a zone that it obtained from the zone's
authoritative servers for that zone. parent, without checking the authoritative servers for that zone.
6. Zones 6. Zones
This section defines terms that are used when discussing zones that This section defines terms that are used when discussing zones that
are being served or retrieved. are being served or retrieved.
Zone -- A unit of organization of authoritative data. Zones can be Zone: A unit of organization of authoritative data. Zones can be
automatically distributed to the name servers which provide redundant automatically distributed to the name servers which provide
service for the data in a zone. (Quoted from [RFC1034], section redundant service for the data in a zone. (Quoted from [RFC1034],
2.4). section 2.4).
Child -- The entity on record that has the delegation of the domain Child: The entity on record that has the delegation of the domain
from the Parent. (Quoted from [RFC7344], section 1.1) from the Parent. (Quoted from [RFC7344], section 1.1)
Parent -- The domain in which the Child is registered. (Quoted from Parent: The domain in which the Child is registered. (Quoted from
[RFC7344], section 1.1) Earlier, "parent name server" was defined in [RFC7344], section 1.1) Earlier, "parent name server" was defined
[RFC0882] as "the name server that has authority over the place in in [RFC0882] as "the name server that has authority over the place
the domain name space that will hold the new domain". in the domain name space that will hold the new domain".
Origin -- 1. The domain name that appears at the top of a zone. 2. Origin:
The domain name within which a given relative domain name appears in
zone files. Generally seen in the context of "$ORIGIN", which is a
control entry defined in [RFC1035], section 5.1, as part of the
master file format. For example, if the $ORIGIN is set to
"example.org.", then a master file line for "www" is in fact an entry
for "www.example.org.".
Zone cut -- The delimitation point between two zones where the origin (a) The domain name that appears at the top of a zone (just below
of one of the zones is the child of the other zone. (Section 6 of the cut that separates the zone from its parent). The name of the
[RFC2181] uses this term extensively, although never actually defines zone is the same as the name of the domain at the zone's origin.
it.) Section 4.2 of [RFC1034] uses "cuts" as "zone cut". (Quoted from [RFC2181], section 6.)
Apex -- The point in the tree at an owner of an SOA and corresponding (b) The domain name within which a given relative domain name
authoritative NS RRset. This is also called the "zone apex". appears in zone files. Generally seen in the context of
[RFC4033] defines it as "the name at the child's side of a zone cut". "$ORIGIN", which is a control entry defined in [RFC1035], section
The "apex" can usefully be thought of as a data-theoretic description 5.1, as part of the master file format. For example, if the
of a tree structure, and "origin" is the name of the same concept $ORIGIN is set to "example.org.", then a master file line for
when it is implemented in zone files. The distinction is not always "www" is in fact an entry for "www.example.org.".
maintained in use, however, and one can find uses that conflict
subtly with this definition.
Delegation -- The process by which a separate zone is created in the Zone cut: The delimitation point between two zones where the origin
name space beneath the apex of a given domain. Delegation happens of one of the zones is the child of the other zone.
when an NS RRset is added in the parent zone for the child origin,
and a corresponding zone apex is created at the child origin.
Delegation inherently happens at a zone cut.
Referrals -- Data from the authority section of a non-authoritative Zones are delimited by "zone cuts". Each zone cut separates a
answer. [RFC1035] section 2.1 defines "authoritative" data. "child" zone (below the cut) from a "parent" zone (above the cut).
However, referrals at zone cuts are not authoritative. Referrals may (Quoted from [RFC2181], section 6; note that this is barely an
be a zone cut NS resource records and their glue. NS records on the ostensive definition.) Section 4.2 of [RFC1034] uses "cuts" as
parent side of a zone cut are an authoritative delegation, but are "zone cut".
normally not treated as authoritative data by the client. In
general, a referral is a way for a server to send an answer saying
that the server does not know the answer, but knows where the query
should be directed in order to get an answer. Historically, many
authoritative servers answered with a referral to the root zone when
queried for a name for which they were not authoritative, but this
practice has declined.
Glue records -- Resource records which are not part of the Apex: The point in the tree at an owner of an SOA and corresponding
authoritative data [for a zone], and are address resource records for authoritative NS RRset. This is also called the "zone apex".
the servers [in a subzone]. These RRs are only necessary if the name [RFC4033] defines it as "the name at the child's side of a zone
server's name is "below" the cut, and are only used as part of a cut". The "apex" can usefully be thought of as a data-theoretic
referral response. (Definition from [RFC1034], section 4.2.1) description of a tree structure, and "origin" is the name of the
same concept when it is implemented in zone files. The
distinction is not always maintained in use, however, and one can
find uses that conflict subtly with this definition. [RFC1034]
uses the term "top node of the zone" instead of "apex".
A later definition is that glue "includes any record in a zone file Delegation: The process by which a separate zone is created in the
that is not properly part of that zone, including nameserver records name space beneath the apex of a given domain. Delegation happens
of delegated sub-zones (NS records), address records that accompany when an NS RRset is added in the parent zone for the child origin.
those NS records (A, AAAA, etc), and any other stray data that might Delegation inherently happens at a zone cut. The term is also
appear". (Definition from [RFC2181], section 5.4.1) This definition commonly a noun: the new zone that is created by the act of
in [RFC2181] is wider than the one from [RFC1034], and bases the delegating.
definition on the contents of a zone file. Some implementers might
only be thinking about the earlier definition when they see rules
about glue records.
In-bailiwick - 1. An adjective to describe a name server the name of Glue records: "[Resource records] which are not part of the
which is either subordinate to or (rarely) the same as the zone authoritative data [of the zone], and are address resource records
origin. In-bailiwick name servers require glue in their parent zone. for the [name servers in subzones]. These RRs are only necessary
2. Data for which the server is either authoritative, or else if the name server's name is 'below' the cut, and are only used as
authoritative for an ancestor of the owner name. This sense of the part of a referral response." Without glue "we could be faced
term normally is used when discussing the relevancy of glue records with the situation where the NS RRs tell us that in order to learn
in a response. For example, the server for the parent zone a name server's address, we should contact the server using the
example.com might reply with glue records for ns.child.example.com. address we wish to learn." (Definition from [RFC1034], section
Because the child.example.com zone is a descendant of the example.com 4.2.1)
zone, the glue records are in-bailiwick.
Out-of-bailiwick - The antonym of in-bailiwick. A later definition is that glue "includes any record in a zone
file that is not properly part of that zone, including nameserver
records of delegated sub-zones (NS records), address records that
accompany those NS records (A, AAAA, etc), and any other stray
data that might appear" ([RFC2181], section 5.4.1). Although glue
is sometimes used today with this wider definition in mind, the
context surrounding the [RFC2181] definition suggests it is
intended to apply to the use of glue within the document itself
and not necessarily beyond.
Authoritative data -- All of the RRs attached to all of the nodes In-bailiwick:
from the top node of the zone down to leaf nodes or nodes above cuts
around the bottom edge of the zone. (Quoted from Section 4.2.1 of
[RFC1034]) It is noted that this definition might inadvertently also
include any NS records that appear in the zone, even those that might
not truly be authoritative because there are identical NS RRs below
the zone cut. This reveals the ambiguity in the notion of
authoritative data, because the parent-size NS records
authoritatively indicate the delegation, even though they are not
themselves authoritative data.
Root zone -- The zone whose origin is the zero-length label. Also (a) An adjective to describe a name server the name of which is
sometimes called "the DNS root". either subordinate to or (rarely) the same as the zone origin.
In-bailiwick name servers require glue in their parent zone.
Empty non-terminal -- A domain name that has no RRsets, but has (b) Data for which the server is either authoritative, or else
descendants that have RRsets. A typical example is in SRV records: authoritative for an ancestor of the owner name. This sense of
in the name "_sip._tcp.example.com", it is likely that the term normally is used when discussing the relevancy of glue
"_tcp.example.com" has no RRsets, but that "_sip._tcp.example.com" records in a response. For example, the server for the parent
has (at least) an SRV RRset. zone example.com might reply with glue records for
ns.child.example.com. Because the child.example.com zone is a
descendant of the example.com zone, the glue records are in-
bailiwick.
Delegation-centric zone -- A zone which consists mostly of Out-of-bailiwick: The antonym of in-bailiwick.
delegations to child zones. This term is used in contrast to a zone
which might have some delegations to child zones, but also has many
data resource records for the zone itself and/or for child zones.
Wildcard -- [RFC1034] defined "wildcard", but in a way that turned Authoritative data: All of the RRs attached to all of the nodes from
out to be confusing to implementers. For an extended discussion of the top node of the zone down to leaf nodes or nodes above cuts
wildcards, including clearer definitions, see [RFC4592]. around the bottom edge of the zone. (Quoted from Section 4.2.1 of
[RFC1034]) It is noted that this definition might inadvertently
also include any NS records that appear in the zone, even those
that might not truly be authoritative because there are identical
NS RRs below the zone cut. This reveals the ambiguity in the
notion of authoritative data, because the parent-size NS records
authoritatively indicate the delegation, even though they are not
themselves authoritative data.
Occluded name -- The addition of a delegation point via dynamic Root zone: The zone whose origin is the zero-length label. Also
update will render all subordinate domain names to be in a limbo, sometimes called "the DNS root".
still part of the zone but not available to the lookup process. The
addition of a DNAME resource record has the same impact. The
subordinate names are said to be "occluded". (Quoted from [RFC5936],
Section 3.5)
Fast flux DNS -- A mechanism where a large number of hosts rapidly Empty non-terminals: Domain names that own no resource records but
update the address records of a zone, often to deliver malware. have subdomains that do. (Quoted from [RFC4592], section 2.2.2.)
Because the addresses change so rapidly, it is difficult to A typical example is in SRV records: in the name
definitively find all the hosts. "_sip._tcp.example.com", it is likely that "_tcp.example.com" has
no RRsets, but that "_sip._tcp.example.com" has (at least) an SRV
RRset.
Delegation-centric zone: A zone which consists mostly of delegations
to child zones. This term is used in contrast to a zone which
might have some delegations to child zones, but also has many data
resource records for the zone itself and/or for child zones. The
term is used in [RFC4956] and [RFC5155], but is not defined there.
Wildcard: [RFC1034] defined "wildcard", but in a way that turned out
to be confusing to implementers. For an extended discussion of
wildcards, including clearer definitions, see [RFC4592].
Occluded name: The addition of a delegation point via dynamic update
will render all subordinate domain names to be in a limbo, still
part of the zone but not available to the lookup process. The
addition of a DNAME resource record has the same impact. The
subordinate names are said to be "occluded". (Quoted from
[RFC5936], Section 3.5)
Fast flux DNS: This occurs when a domain is bound in DNS using A
records to multiple IP addresses, each of which has a very short
Time-to-Live (TTL) value associated with it. This means that the
domain resolves to varying IP addresses over a short period of
time. (Quoted from [RFC6561], section 1.1.5) It is often to
deliver malware. Because the addresses change so rapidly, it is
difficult to definitively find all the hosts. It should be noted
that the technique also works with AAAA records, but such use is
not frequently observed on the Internet as of this writing.
7. Registration Model 7. Registration Model
Registry -- The administrative operation of a zone that allows Registry: The administrative operation of a zone that allows
registration of names within that zone. registration of names within that zone. People often use this
term to refer only to those organizations that perform
registration in large delegation-centric zones (such as TLDs); but
formally, whoever decides what data goes into a zone is the
registry for that zone.
Registrant -- An individual or organization on whose behalf a name in Registrant: An individual or organization on whose behalf a name in
a zone is registered by the registry. In many zones, the registry a zone is registered by the registry. In many zones, the registry
and the registrant may be the same entity, but in TLDs they often are and the registrant may be the same entity, but in TLDs they often
not. are not.
Registrar -- A service provider that acts as a go-between for Registrar: A service provider that acts as a go-between for
registrants and registries. Not all registrations require a registrants and registries. Not all registrations require a
registrar, though it is common to have registrars be involved in registrar, though it is common to have registrars be involved in
registrations in TLDs. registrations in TLDs.
EPP -- The Extensible Provisioning Protocol (EPP), which is commonly EPP: The Extensible Provisioning Protocol (EPP), which is commonly
used for communication of registration information between registries used for communication of registration information between
and registrars. EPP is defined in [RFC5730]. registries and registrars. EPP is defined in [RFC5730].
WHOIS: A protocol specified in [RFC3912], often used for querying
registry databases. WHOIS data is frequently used to associate
registration data (such as zone management contacts) with domain
names.
8. General DNSSEC 8. General DNSSEC
Most DNSSEC terms are defined in [RFC4033], [RFC4034], and [RFC4035]. Most DNSSEC terms are defined in [RFC4033], [RFC4034], and [RFC4035].
The terms that have caused confusion in the DNS community are The terms that have caused confusion in the DNS community are
highlighted here. highlighted here.
DNSSEC-aware and DNSSEC-unaware -- Section 2 of [RFC4033] defines DNSSEC-aware and DNSSEC-unaware: Section 2 of [RFC4033] defines many
many types of resolvers and validators. In specific, the terms "non- types of resolvers and validators. In specific, the terms "non-
validating security-aware stub resolver", "non-validating stub validating security-aware stub resolver", "non-validating stub
resolver", "security-aware name server", "security-aware recursive resolver", "security-aware name server", "security-aware recursive
name server", "security-aware resolver", "security-aware stub name server", "security-aware resolver", "security-aware stub
resolver", and "security-oblivious 'anything'" are all defined. resolver", and "security-oblivious 'anything'" are all defined.
(Note that the term "validating resolver", which is used in some (Note that the term "validating resolver", which is used in some
places in those documents, is nevertheless not defined in that places in those documents, is nevertheless not defined in that
section.) section.)
Signed zone -- A zone whose RRsets are signed and that contains Signed zone: A zone whose RRsets are signed and that contains
properly constructed DNSKEY, Resource Record Signature (RRSIG), Next properly constructed DNSKEY, Resource Record Signature (RRSIG),
Secure (NSEC), and (optionally) DS records. (Quoted from [RFC4033], Next Secure (NSEC), and (optionally) DS records. (Quoted from
section 2) It has been noted in other contexts that the zone itself [RFC4033], section 2.) It has been noted in other contexts that
is not really signed, but all the relevant RRsets in the zone are the zone itself is not really signed, but all the relevant RRsets
signed. It should also be noted that, since the publication of in the zone are signed. Nevertheless, if a zone that should be
[RFC6840], NSEC records are no longer required for signed zones: a signed contains any RRsets that are not signed (or opted out),
signed zone might include NSEC3 records instead. those RRsets will be treated as bogus, so the whole zone needs to
be handled in some way. It should also be noted that, since the
publication of [RFC6840], NSEC records are no longer required for
signed zones: a signed zone might include NSEC3 records instead.
Unsigned zone -- Section 2 of [RFC4033] defines this as "a zone that Unsigned zone: Section 2 of [RFC4033] defines this as "a zone that
is not signed". Section 2 of [RFC4035] defines this as "A zone that is not signed". Section 2 of [RFC4035] defines this as "A zone
does not include these records [properly constructed DNSKEY, Resource that does not include these records [properly constructed DNSKEY,
Record Signature (RRSIG), Next Secure (NSEC), and (optionally) DS Resource Record Signature (RRSIG), Next Secure (NSEC), and
records] according to the rules in this section". There is an (optionally) DS records] according to the rules in this section".
important note at the end of Section 5.2 of [RFC4035] adding an There is an important note at the end of Section 5.2 of [RFC4035]
additional situation when a zone is considered unsigned: "If the adding an additional situation when a zone is considered unsigned:
resolver does not support any of the algorithms listed in an "If the resolver does not support any of the algorithms listed in
authenticated DS RRset, then the resolver will not be able to verify an authenticated DS RRset, then the resolver will not be able to
the authentication path to the child zone. In this case, the verify the authentication path to the child zone. In this case,
resolver SHOULD treat the child zone as if it were unsigned." the resolver SHOULD treat the child zone as if it were unsigned."
NSEC -- "The NSEC record allows a security-aware resolver to NSEC: "The NSEC record allows a security-aware resolver to
authenticate a negative reply for either name or type non-existence authenticate a negative reply for either name or type non-
with the same mechanisms used to authenticate other DNS replies." existence with the same mechanisms used to authenticate other DNS
(Quoted from Section 3.2 of [RFC4033]) In short, an NSEC record replies." (Quoted from [RFC4033], section 3.2.) In short, an
provides authenticated denial of existence. NSEC record provides authenticated denial of existence.
The NSEC resource record lists two separate things: the next owner The NSEC resource record lists two separate things: the next owner
name (in the canonical ordering of the zone) that contains name (in the canonical ordering of the zone) that contains
authoritative data or a delegation point NS RRset, and the set of RR authoritative data or a delegation point NS RRset, and the set of
types present at the NSEC RR's owner name. (Quoted from Section 4 of RR types present at the NSEC RR's owner name. (Quoted from
4034) Section 4 of 4034)
NSEC3 -- The NSEC3 resource record is quite different than the NSEC
resource record. Like the NSEC record, the NSEC3 record also
provides authenticated denial of existence; however, NSEC3 records
mitigates against zone enumeration and support Opt-Out. NSEC3
resource records are defined in [RFC5155].
Opt-out -- The Opt-Out Flag indicates whether this NSEC3 RR may cover NSEC3: The NSEC3 resource record is quite different than the NSEC
unsigned delegations. (Quoted from Section 3.1.2.1 of [RFC5155]) resource record. Like the NSEC record, the NSEC3 record also
provides authenticated denial of existence; however, NSEC3 records
mitigates against zone enumeration and support Opt-Out. NSEC3
resource records are defined in [RFC5155].
Zone enumeration -- The practice of discovering the full content of a Opt-out: The Opt-Out Flag indicates whether this NSEC3 RR may cover
zone via successive queries. (Quoted from Section 1.3 of [RFC5155]) unsigned delegations. (Quoted from [RFC5155], section 3.1.2.1.)
This is also sometimes call "zone walking". Zone enumeration is
different from zone content guessing where the guesser uses a large
dictionary of possible labels and sends successive queries for them,
or matches the contents of NSEC3 records against such a dictionary.
DNSSEC Policy (DP) -- A statement that sets forth the security Zone enumeration: The practice of discovering the full content of a
requirements and standards to be implemented for a DNSSEC-signed zone via successive queries. (Quoted from [RFC5155], section
zone. (Quoted from [RFC6841], section 2) 1.3.) This is also sometimes call "zone walking". Zone
enumeration is different from zone content guessing where the
guesser uses a large dictionary of possible labels and sends
successive queries for them, or matches the contents of NSEC3
records against such a dictionary.
DNSSEC Practice Statement (DPS) -- A practices disclosure document Key signing key (KSK): DNSSEC keys that only sign the apex DNSKEY
that may support and be a supplemental document to the DNSSEC Policy RRset in a zone. (Quoted from [RFC6781], section 3.1.)
(if such exists), and it states how the management of a given zone
implements procedures and controls at a high level. (Quoted from
[RFC6841], section 2)
Key signing key (KSK) -- DNSSEC keys that only sign the apex DNSKEY Zone signing key (ZSK): DNSSEC keys that can be used to sign all the
RRset in a zone. (Quoted from [RFC6781], Section 3.1) RRsets in a zone that require signatures, other than the apex
DNSKEY RRset. (Quoted from [RFC6781], section 3.1) Note that the
roles KSK and ZSK are not mutually exclusive: a single key can be
both KSK and ZSK at the same time.
Zone signing key (ZSK) -- DNSSEC keys that can be used to sign all Combined signing key (CSK): In cases where the differentiation
the RRsets in a zone that require signatures, other than the apex between the KSK and ZSK is not made, i.e., where keys have the
DNSKEY RRset. (Quoted from [RFC6781], Section 3.1) Note that the role of both KSK and ZSK, we talk about a Single-Type Signing
roles KSK and ZSK are not mutually exclusive: a single key can be Scheme. (Quoted from [RFC6781], Section 3.1) This is sometimes
both KSK and ZSK at the same time. This is sometimes called a called a "combined signing key" or CSK. It is operational
"combined signing key" or CSK. It is operational practice, not practice, not protocol, that determines whether a particular key
protocol, that determines whether a particular key is a ZSK, a KSK, is a ZSK, a KSK, or a CSK.
or a CSK.
Secure Entry Point (SEP): A flag in the DNSKEY RRdata that can be
used to distinguish between keys that are intended to be used as
the secure entry point into the zone when building chains of
trust, i.e., they are (to be) pointed to by parental DS RRs or
configured as a trust anchor. (Quoted from [RFC6781], section
3.2.3.) Note that the SEP flag is only a hint, and its presence
or absence may not be used to disqualify a given DNSKEY RR from
use as a KSK or ZSK during validation.
DNSSEC Policy (DP): A statement that sets forth the security
requirements and standards to be implemented for a DNSSEC-signed
zone. (Quoted from [RFC6841], section 2)
DNSSEC Practice Statement (DPS): A practices disclosure document
that may support and be a supplemental document to the DNSSEC
Policy (if such exists), and it states how the management of a
given zone implements procedures and controls at a high level.
(Quoted from [RFC6841], section 2)
9. DNSSEC States 9. DNSSEC States
A validating resolver can determine that a response is in one of four A validating resolver can determine that a response is in one of four
states: secure, insecure, bogus, or indeterminate. These states are states: secure, insecure, bogus, or indeterminate. These states are
defined in [RFC4033] and [RFC4035], although the two definitions defined in [RFC4033] and [RFC4035], although the two definitions
differ a bit. differ a bit.
Section 5 of [RFC4033] says: Section 5 of [RFC4033] says:
skipping to change at page 17, line 49 skipping to change at page 19, line 49
These definitions do not change any security considerations for the These definitions do not change any security considerations for the
DNS. DNS.
12. Acknowledgements 12. Acknowledgements
The authors gratefully acknowledge all of the authors of DNS-related The authors gratefully acknowledge all of the authors of DNS-related
RFCs that proceed this one. Comments from Tony Finch, Stephane RFCs that proceed this one. Comments from Tony Finch, Stephane
Bortzmeyer, Niall O'Reilly, Colm MacCarthaigh, Ray Bellis, John Bortzmeyer, Niall O'Reilly, Colm MacCarthaigh, Ray Bellis, John
Kristoff, Robert Edmonds, Paul Wouters, Shumon Huque, Paul Ebersman, Kristoff, Robert Edmonds, Paul Wouters, Shumon Huque, Paul Ebersman,
David Lawrence, Matthijs Mekking, Casey Deccio, Bob Harold, and many David Lawrence, Matthijs Mekking, Casey Deccio, Bob Harold, Ed Lewis,
others in the DNSOP Working Group have helped shape this document. and many others in the DNSOP Working Group have helped shape this
document.
13. References 13. References
13.1. Normative References 13.1. Normative References
[ISO3166] International Organization for Standardization (ISO),
"Country Codes - ISO 3166", February 2015,
<http://www.iso.org/iso/country_codes/country_codes>.
[RFC0882] Mockapetris, P., "Domain names: Concepts and facilities", [RFC0882] Mockapetris, P., "Domain names: Concepts and facilities",
RFC 882, November 1983. RFC 882, November 1983.
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", [RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
STD 13, RFC 1034, November 1987. STD 13, RFC 1034, November 1987.
[RFC1035] Mockapetris, P., "Domain names - implementation and [RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987. specification", STD 13, RFC 1035, November 1987.
[RFC1123] Braden, R., "Requirements for Internet Hosts - Application [RFC1123] Braden, R., "Requirements for Internet Hosts - Application
skipping to change at page 19, line 22 skipping to change at page 21, line 18
[RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS [RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS
Security (DNSSEC) Hashed Authenticated Denial of Security (DNSSEC) Hashed Authenticated Denial of
Existence", RFC 5155, March 2008. Existence", RFC 5155, March 2008.
[RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)",
STD 69, RFC 5730, August 2009. STD 69, RFC 5730, August 2009.
[RFC5936] Lewis, E. and A. Hoenes, "DNS Zone Transfer Protocol [RFC5936] Lewis, E. and A. Hoenes, "DNS Zone Transfer Protocol
(AXFR)", RFC 5936, June 2010. (AXFR)", RFC 5936, June 2010.
[RFC6561] Livingood, J., Mody, N., and M. O'Reirdan,
"Recommendations for the Remediation of Bots in ISP
Networks", RFC 6561, March 2012.
[RFC6672] Rose, S. and W. Wijngaards, "DNAME Redirection in the
DNS", RFC 6672, June 2012.
[RFC6781] Kolkman, O., Mekking, W., and R. Gieben, "DNSSEC [RFC6781] Kolkman, O., Mekking, W., and R. Gieben, "DNSSEC
Operational Practices, Version 2", RFC 6781, December Operational Practices, Version 2", RFC 6781, December
2012. 2012.
[RFC6840] Weiler, S. and D. Blacka, "Clarifications and [RFC6840] Weiler, S. and D. Blacka, "Clarifications and
Implementation Notes for DNS Security (DNSSEC)", RFC 6840, Implementation Notes for DNS Security (DNSSEC)", RFC 6840,
February 2013. February 2013.
[RFC6841] Ljunggren, F., Eklund Lowinder, AM., and T. Okubo, "A [RFC6841] Ljunggren, F., Eklund Lowinder, AM., and T. Okubo, "A
Framework for DNSSEC Policies and DNSSEC Practice Framework for DNSSEC Policies and DNSSEC Practice
skipping to change at page 19, line 49 skipping to change at page 22, line 5
2014. 2014.
13.2. Informative References 13.2. Informative References
[DBOUND] "DBOUND Working Group", 2015, [DBOUND] "DBOUND Working Group", 2015,
<https://datatracker.ietf.org/wg/dbound/charter/>. <https://datatracker.ietf.org/wg/dbound/charter/>.
[RFC0952] Harrenstien, K., Stahl, M., and E. Feinler, "DoD Internet [RFC0952] Harrenstien, K., Stahl, M., and E. Feinler, "DoD Internet
host table specification", RFC 952, October 1985. host table specification", RFC 952, October 1985.
[RFC1995] Ohta, M., "Incremental Zone Transfer in DNS", RFC 1995,
August 1996.
[RFC3912] Daigle, L., "WHOIS Protocol Specification", RFC 3912,
September 2004.
[RFC4641] Kolkman, O. and R. Gieben, "DNSSEC Operational Practices",
RFC 4641, September 2006.
[RFC4956] Arends, R., Kosters, M., and D. Blacka, "DNS Security
(DNSSEC) Opt-In", RFC 4956, July 2007.
[RFC5625] Bellis, R., "DNS Proxy Implementation Guidelines", BCP [RFC5625] Bellis, R., "DNS Proxy Implementation Guidelines", BCP
152, RFC 5625, August 2009. 152, RFC 5625, August 2009.
[RFC5890] Klensin, J., "Internationalized Domain Names for [RFC5890] Klensin, J., "Internationalized Domain Names for
Applications (IDNA): Definitions and Document Framework", Applications (IDNA): Definitions and Document Framework",
RFC 5890, August 2010. RFC 5890, August 2010.
[RFC5891] Klensin, J., "Internationalized Domain Names in [RFC5891] Klensin, J., "Internationalized Domain Names in
Applications (IDNA): Protocol", RFC 5891, August 2010. Applications (IDNA): Protocol", RFC 5891, August 2010.
 End of changes. 91 change blocks. 
499 lines changed or deleted 606 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/