The Domain Name System (DNS) is a simple query-response protocol whose messages in both directions have the same format. (
Section 2 gives a definition of "global DNS", which is often what people mean when they say "the DNS".) The protocol and message format are defined in [
RFC 1034] and [
RFC 1035]. These RFCs defined some terms, and later documents defined others. Some of the terms from [
RFC 1034] and [
RFC 1035] have somewhat different meanings now than they did in 1987.
This document contains a collection of a wide variety of DNS-related terms, organized loosely by topic. Some of them have been precisely defined in earlier RFCs, some have been loosely defined in earlier RFCs, and some are not defined in an earlier RFC at all.
Other organizations sometimes define DNS-related terms in their own way. For example, the WHATWG defines "domain" at <
https://url.spec.whatwg.org/>. The Root Server System Advisory Committee (RSSAC) has a good lexicon [
RSSAC026].
Most of the definitions listed here represent the consensus definition of the DNS community -- both protocol developers and operators. Some of the definitions differ from earlier RFCs, and those differences are noted. In this document, where the consensus definition is the same as the one in an RFC, that RFC is quoted. Where the consensus definition has changed somewhat, the RFC is mentioned but the new stand-alone definition is given. See
Appendix A for a list of the definitions that this document updates.
It is important to note that, during the development of this document, it became clear that some DNS-related terms are interpreted quite differently by different DNS experts. Further, some terms that are defined in early DNS RFCs now have definitions that are generally agreed to, but that are different from the original definitions. This document is a small revision to [
RFC 8499]; that document was a substantial revision to [
RFC 7719].
Note that there is no single consistent definition of "the DNS". It can be considered to be some combination of the following: a commonly used naming scheme for objects on the Internet; a distributed database representing the names and certain properties of these objects; an architecture providing distributed maintenance, resilience, and loose coherency for this database; and a simple query-response protocol (as mentioned below) implementing this architecture.
Section 2 defines "global DNS" and "private DNS" as a way to deal with these differing definitions.
Capitalization in DNS terms is often inconsistent among RFCs and various DNS practitioners. The capitalization used in this document is a best guess at current practices, and is not meant to indicate 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.
In this document, the words "byte" and "octet" are used interchangeably. They appear here because they both appear in the earlier RFCs that defined terms in the DNS.
Readers should note that the terms in this document are grouped by topic. Someone who is not already familiar with the DNS probably cannot learn about the DNS from scratch by reading this document from front to back. Instead, skipping around may be the only way to get enough context to understand some of the definitions. This document has an index that might be useful for readers who are attempting to learn the DNS by reading this document.