forked from ietf-wg-dnsop/draft-ietf-dnsop-terminology-bis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdraft-ietf-dnsop-terminology-bis-latest.xml
1945 lines (1654 loc) · 93.7 KB
/
draft-ietf-dnsop-terminology-bis-latest.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc docName="draft-ietf-dnsop-terminology-bis-XX" ipr="trust200902" category="bcp"
obsoletes="7719" updates="2308"
>
<front>
<title abbrev="DNS Terminology">DNS Terminology</title>
<author initials="P." surname="Hoffman" fullname="Paul Hoffman">
<organization>ICANN</organization>
<address>
<email>[email protected]</email>
</address>
</author>
<author initials="A." surname="Sullivan" fullname="Andrew Sullivan">
<organization>Oracle</organization>
<address>
<postal>
<street>100 Milverton Drive</street>
<city>Mississauga</city>
<region>ON</region>
<code>L5R 4H1</code>
<country>Canada</country>
</postal>
<email>[email protected]</email>
</address>
</author>
<author initials="K." surname="Fujiwara" fullname="Kazunori Fujiwara">
<organization abbrev="JPRS">Japan Registry Services Co., Ltd.</organization>
<address>
<postal>
<street>Chiyoda First Bldg. East 13F, 3-8-1 Nishi-Kanda</street>
<city>Chiyoda-ku, Tokyo</city>
<code>101-0065</code>
<country>Japan</country>
</postal>
<phone>+81 3 5215 8451</phone>
<email>[email protected]</email>
</address>
</author>
<date />
<area>Internet</area>
<abstract>
<t>The domain name system (DNS) is defined in literally dozens of different RFCs. The terminology used
by implementers and developers of DNS protocols, and by operators of DNS systems,
has sometimes changed in the decades since the DNS was first defined. This document
gives current definitions for many of the terms used in the DNS in a single
document.</t>
<t>This document will be the successor to RFC 7719, and thus will
obsolete RFC 7719. It will also update RFC 2308.</t>
</abstract>
</front>
<middle>
<section anchor="introduction" title="Introduction">
<t>The Domain Name System (DNS) is a simple query-response protocol whose messages in both directions
have the same format.
(<xref target="names"/> gives a definition of "public DNS", which is often what people mean when they say "the DNS".)
The protocol and message format are defined in <xref target="RFC1034"/>
and <xref target="RFC1035"/>. These RFCs defined some terms, but later documents defined
others. Some of the terms from <xref target="RFC1034"/>
and <xref target="RFC1035"/> now have somewhat different
meanings than they did in 1987.</t>
<t>This document collects a wide variety of DNS-related terms. Some of them have
been precisely defined in earlier RFCs, some have been loosely defined in earlier
RFCs, and some are not defined in any earlier RFC at all.</t>
<t>Most of the definitions here are 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 <xref target="updates-list"/> for a list of the definitions
that this document updates.</t>
<t>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.
Therefore, this document is a substantial revision to <xref target="RFC7719"/>.</t>
<t>The terms are
organized loosely by topic. Some definitions are for new terms for things that
are commonly talked about in the DNS community but that never had terms
defined for them.</t>
<t>Other organizations sometimes define DNS-related terms their own way.
For example, the W3C defines "domain" at
<https://url.spec.whatwg.org/>.
The Root Server System Advisory Committee (RSSAC) has a good
lexicon <xref target="RSSAC026"/>.
</t>
<t>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. <xref target="names"/> defines
"global DNS" and "private DNS" as a way to deal with these differing definitions.</t>
<t>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.</t>
</section>
<section anchor="names" title="Names">
<t><list style="hanging">
<t hangText='Naming system:'>
<iref item='Naming system'/>
A naming system associates names with data. Naming systems have many significant facets
that help differentiate them. Some commonly-identified facets include:
<list style="symbols">
<t>Composition of names</t>
<t>Format of names</t>
<t>Administration of names</t>
<t>Types of data that can be associated with names</t>
<t>Types of metadata for names</t>
<t>Protocol for getting data from a name</t>
<t>Context for resolving a name</t>
</list></t>
<t>Note that this list is a small subset of facets that people have identified over time
for naming systems, and the IETF has yet to agree on a good set of facets that can be used
to compare naming systems. For example, other facets might include "protocol to update
data in a name", "privacy of names", and "privacy of data associated with names", but
those are not as well-defined as the ones listed above. The list here is chosen because it
helps describe the DNS and naming systems similar to the DNS.</t>
<t hangText='Domain name:'>
<iref item='Domain name'/>
An ordered list of one or more labels.</t>
<t>Note that this is a definition independent of the DNS RFCs, and the definition here
also applies to systems other than the DNS. <xref target="RFC1034"/> defines the "domain
name space" using mathematical trees and their nodes in graph theory, and this definition
has the same practical result as the definition here. Using
graph theory, a domain name is a list of labels identifying a portion along one edge of a
directed acyclic graph. A domain name can be relative to parts of the tree, or it
can be fully qualified (in which case, it begins at the common root of the graph).</t>
<t>Also note that different IETF and non-IETF documents have used the term "domain name"
in many different ways. It is common for earlier documents to use "domain name" to mean
"names that match the syntax in <xref target="RFC1035"/>", but possibly with additional
rules such as "and are, or will be, resolvable in the global DNS" or "but only using the
presentation format".</t>
<t hangText='Label:'>
<iref item='Label'/>
An ordered list of zero or more octets and which makes up a portion of a domain name.
Using graph theory, a label identifies one node in a portion of the graph of all possible
domain names.</t>
<t hangText='Global DNS:'>
<iref item='Global DNS'/>
Using the short set of facets listed in "Naming system", the global DNS can be defined as
follows. Most of the rules here come from <xref target="RFC1034"/> and <xref
target="RFC1035"/>, although the term "global DNS" has not been defined before now.</t>
<t>Composition of names -- A name in the global DNS has one or more
labels. The length of each label is between 0 and 63 octets
inclusive. In a fully-qualified domain name, the first label
in the ordered list is 0 octets long; it is the only label whose
length may be 0 octets, and it is called the "root" or "root label".
A domain name in the global DNS has a maximum total length of 255
octets in the wire format; the root represents one octet for this
calculation.
(Multicast DNS <xref target="RFC6762"/> allows names up to 255 bytes plus a terminating zero byte
based on a different interpretation of RFC 1035 and what is included in the 255 octets.)
</t>
<t>Format of names -- Names in the global DNS are domain names. There are three formats:
wire format, presentation format, and common display.</t>
<t>The basic wire format for names in the global DNS is a list of labels ordered by
decreasing distance from the root, with the root label last. Each label is preceded by a
length octet. <xref target="RFC1035"/> also defines a compression scheme that modifies
this format.</t>
<t>The presentation format for names in the global DNS is a list of labels ordered by
decreasing distance from the root, encoded as ASCII, with a "." character between each
label. In presentation format, a fully-qualified domain name includes the root label and
the associated separator dot. For example, in presentation format, a fully-qualified
domain name with two non-root labels is always shown as "example.tld." instead of
"example.tld". <xref target="RFC1035"/> defines a method for showing octets that do not
display in ASCII.</t>
<t>The common display format is used in applications and free text. It is the same as the
presentation format, but showing the root label and the "." before it is optional and is
rarely done. For example, in common display format, a fully-qualified domain name with two
non-root labels is usually shown as "example.tld" instead of "example.tld.". Names in the
common display format are normally written such that the directionality of the writing
system presents labels by decreasing distance from the root (so, in both English and C the
root or TLD label in the ordered list is right-most; but in Arabic it may be left-most,
depending on local conventions).</t>
<t>Administration of names -- Administration is specified by delegation (see the
definition of "delegation" in <xref target="zones"/>). Policies for administration of
the root zone in the global DNS are determined by the names operational community, which
convenes itself in the Internet Corporation for Assigned Names and Numbers (ICANN). The
names operational community selects the IANA Functions Operator for the global DNS root
zone. At the time this document is published, that operator is Public Technical
Identifiers (PTI). The name servers that serve the root zone are provided by independent
root operators. Other zones in the global DNS have their own policies for
administration.</t>
<t>Types of data that can be associated with names -- A name can have zero or more
resource records associated with it. There are numerous types of resource records with
unique data structures defined in many different RFCs and in the IANA registry at <xref
target="IANA_Resource_Registry"/>.</t>
<t>Types of metadata for names -- Any name that is published in the DNS appears as a set
of resource records (see the definition of "RRset" in <xref target="rrs"/>). Some names
do not themselves have data associated with them in the DNS, but "appear" in the DNS
anyway because they form part of a longer name that does have data associated with it (see
the definition of "empty non-terminals" in <xref target="zones"/>).</t>
<t>Protocol for getting data from a name -- The protocol described in <xref
target="RFC1035"/>.</t>
<t>Context for resolving a name -- The global DNS root zone distributed by PTI.</t>
<t hangText='Private DNS:'>
<iref item='Private DNS'/>
Names that use the protocol described in <xref target="RFC1035"/> but that do not rely on
the global DNS root zone, or names that are otherwise not generally available on the
Internet but are using the protocol described in <xref target="RFC1035"/>. A system can
use both the global DNS and one or more private DNS systems; for example, see "Split DNS"
in <xref target="dns-servers-and-clients"/>.</t>
<t>Note that domain names that do not appear in the DNS, and that are intended never to be
looked up using the DNS protocol, are not part of the global DNS or a private DNS even
though they are domain names.</t>
<t hangText='Multicast DNS:'>
<iref item='Multicast DNS'/>
"Multicast DNS (mDNS) provides the ability to perform DNS-like operations on the local link in the
absence of any conventional Unicast DNS server. In addition, Multicast DNS designates a portion of
the DNS namespace to be free for local use, without the need to pay any annual fee, and without the
need to set up delegations or otherwise configure a conventional DNS server to answer for those
names." Quoted from <xref target="RFC6762"/>, Abstract)
Although it uses a compatible wire format, mDNS is strictly speaking a different protocol than DNS.
Also, where the above quote says "a portion of the DNS namespace", it would be clearer to say "a
portion of the domain name space" The names in mDNS are not intended to be looked up in the
DNS.</t>
<t hangText='Locally served DNS zone:'>
<iref item='Locally served DNS zone'/>
A locally served DNS zone is a special case of private DNS.
Names are resolved using the DNS protocol in a local context.
<xref target="RFC6303"/> defines subdomains of IN-ADDR.ARPA
that are locally served zones.
Resolution of names through locally served zones may result in ambiguous results.
For example, the same name may resolve to different results in different locally served DNS
zone contexts.
The context through which a locally served zone may be explicit, for example, as defined in
<xref target="RFC6303"/>, or implicit, as defined by local DNS administration and not known to the
resolution client.</t>
<t hangText='Fully qualified domain name (FQDN):'>
<iref item='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
above. However, the term is ambiguous. Strictly speaking, a fully qualified
domain name would include every label, including the zero-length label
of the root: such a name would be written "www.example.net."
(note the terminating dot). But because every name eventually shares
the common root, names are often written relative to the root
(such as "www.example.net") and are still called "fully qualified".
This term first appeared in <xref target="RFC0819"/>. In this document, names
are often written relative to the root.</t>
<t>The need for the term "fully qualified domain name" comes from the existence
of partially qualified domain names, which are names where one or more
of the earliest labels in the ordered list are omitted (for example,
a name of "www" derived from "www.example.net").
Such relative names are understood only by context.</t>
<t hangText='Host name:'>
<iref item='Host name'/>
This term and its equivalent, "hostname", have been
widely used but are not defined in <xref target="RFC1034"/>, <xref target="RFC1035"/>,
<xref target="RFC1123"/>, or <xref target="RFC2181"/>. The
DNS was originally deployed into the Host Tables environment as
outlined in <xref target="RFC0952"/>, and it is likely 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 <xref target="RFC1034"/>, the "preferred name
syntax" (that is, every character in each label are a letter,
a digit, or a hyphen). Note that any label in a 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 <xref target="RFC1123"/>).</t>
<t>People also sometimes use the term hostname to refer to just the first
label of an FQDN, such as "printer" in "printer.admin.example.com".
(Sometimes this is formalized in configuration in operating systems.)
In addition, people sometimes use this term to
describe any name that refers to a machine, and those might include
labels that do not conform to the "preferred name syntax".</t>
<t hangText='TLD:'>
<iref item='TLD'/>
A Top-Level Domain, meaning a zone that is one layer below the
root, such as "com" or "jp". There is nothing special, from the point
of view of the DNS, about TLDs. Most of them are also
delegation-centric zones (defined in <xref target="zones"/>, and there are significant policy issues
around their operation.
TLDs are often divided into sub-groups such as Country Code Top-Level Domains
(ccTLDs), Generic Top-Level Domains (gTLDs), and others; the
division is a matter of policy, and beyond the scope of this document.</t>
<t hangText='IDN:'>
<iref item='IDN'/>
The common abbreviation for "Internationalized Domain Name". The IDNA protocol is the standard
mechanism for handling domain names with non-ASCII characters in applications in the DNS. The current standard,
normally called "IDNA2008", is defined in <xref target="RFC5890"/>, <xref target="RFC5891"/>, <xref target="RFC5892"/>,
<xref target="RFC5893"/>, and <xref target="RFC5894"/>.
These documents define many IDN-specific terms such as "LDH label", "A-label", and "U-label".
<xref target="RFC6365"/> defines more terms that relate to internationalization (some of which relate to IDNs),
and <xref target="RFC6055"/> has a much more extensive discussion of IDNs, including some new terminology.</t>
<t hangText='Subdomain:'>
<iref item='Subdomain'/>
"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 ends with the containing domain's name." (Quoted
from <xref target="RFC1034"/>, Section 3.1). For
example, in the host name "nnn.mmm.example.com", both "mmm.example.com" and "nnn.mmm.example.com" are subdomains of "example.com".</t>
<t hangText='Alias:'>
<iref item='Alias'/>
The owner of a CNAME resource record, or a subdomain of the owner of a
DNAME resource record. See also "canonical name".</t>
<t hangText='Canonical name:'>
<iref item='Canonical name'/>
A CNAME resource record "identifies its owner name as an
alias, and specifies the corresponding canonical name in the RDATA
section of the RR." (Quoted from <xref target="RFC1034"/>, Section 3.6.2)
This usage of the word "canonical" is related to the mathematical
concept of "canonical form".</t>
<t hangText='CNAME:'>
<iref item='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 <xref target="RFC2181"/>, Section 10.1.1)</t>
</list></t>
</section>
<section anchor="dns-response-codes" title="DNS Response Codes">
<t>Some of response codes that are defined in <xref target="RFC1035"/> have acquired their own
shorthand names. All of the RCODEs are listed at
<xref target="IANA_Resource_Registry"/>, although
that site uses mixed-case capitalization, while most documents use all-caps.
Some of the common names are described here, but the official list is in the IANA registry.</t>
<t><list style="hanging">
<t hangText='NOERROR:'>
<iref item='NOERROR'/>
"No error condition" (Quoted from <xref target="RFC1035"/>, Section 4.1.1.)</t>
<t hangText='FORMERR:'>
<iref item='FORMERR'/>
"Format error - The name server was unable to interpret the query." (Quoted from <xref
target="RFC1035"/>, Section 4.1.1.)</t>
<t hangText='SERVFAIL:'>
<iref item='SERVFAIL'/>
"Server failure - The name server was unable to process this query due to a problem with the name
server." (Quoted from <xref target="RFC1035"/>, Section 4.1.1.)</t>
<t hangText='NXDOMAIN:'>
<iref item='NXDOMAIN'/>
"Name Error - Meaningful only for responses from an authoritative name server, this code signifies
that the domain name referenced in the query does not exist." (Quoted from <xref target="RFC1035"/>,
Section 4.1.1.) <xref target="RFC2308"/> established NXDOMAIN as a synonym for Name Error.</t>
<t hangText='NOTIMP:'>
<iref item='NOTIMP'/>
"Not Implemented - The name server does not support the requested kind of query." (Quoted from <xref
target="RFC1035"/>, Section 4.1.1.)</t>
<t hangText='REFUSED:'>
<iref item='REFUSED'/>
"Refused - The name server refuses to perform the specified operation for policy reasons. For
example, a name server may not wish to provide the information to the particular requester, or a
name server may not wish to perform a particular operation (e.g., zone transfer) for particular
data." (Quoted from <xref target="RFC1035"/>, Section 4.1.1.)</t>
<t hangText='NODATA:'>
<iref item='NODATA'/>
"A pseudo RCODE which indicates that the name is valid for
the given class, but there are no records of the given type. A NODATA
response has to be inferred from the answer." (Quoted from <xref target="RFC2308"/>, Section 1.)
"NODATA is indicated by an answer with the RCODE set to NOERROR and no
relevant answers in the answer section. The authority section will
contain an SOA record, or there will be no NS records there." (Quoted from <xref target="RFC2308"/>, Section 2.2.)
Note that referrals have a similar format to NODATA replies; <xref target="RFC2308"/>
explains how to distinguish them.</t>
<t>The term "NXRRSET" is sometimes used as a synonym for NODATA. However, this is a mistake, given
that NXRRSET is a specific error code defined in <xref target="RFC2136"/>.</t>
<t hangText='Negative response:'>
<iref item='Negative response'/>
A response that indicates that a particular RRset does not exist,
or whose RCODE indicates the nameserver cannot answer.
Sections 2 and 7 of <xref target="RFC2308"/> describe the types of negative responses in detail.</t>
</list></t>
</section>
<section anchor="dns-transactions" title="DNS Transactions">
<t>The header of a DNS message is its first 12 octets. Many of the fields and flags in
the header diagram in Sections 4.1.1 through 4.1.3 of <xref target="RFC1035"/> are referred to by their names
in that diagram. For example, the response codes are called "RCODEs",
the data for a record is called the "RDATA", and the
authoritative answer bit is often called "the AA flag" or "the AA bit".</t>
<t><list style="hanging">
<t hangText='QNAME:'>
<iref item='QNAME'/>
The most commonly-used rough definition is that the QNAME is a field in the Question section of a
query. "A standard query specifies a target domain name (QNAME), query type (QTYPE), and query
class (QCLASS) and asks for RRs which match." (Quoted from <xref target="RFC1034"/>, Section
3.7.1.). Strictly speaking, the definition comes from <xref target="RFC1035"/>, Section 4.1.2,
where the QNAME is defined in respect of the Question Section. This definition appears to be
applied consistently: the discussion of inverse queries in section 6.4 refers to the "owner name of
the query RR and its TTL", because inverse queries populate the Answer Section and leave the
Question Section empty. (Inverse queries are deprecated in <xref target="RFC3425"/>, and so
relevant definitions do not appear in this document.)
</t>
<t>
<xref target="RFC2308"/>, however, has an alternate definition that puts the QNAME in the answer (or
series of answers) instead of the query. It defines QNAME as: "...the name in the query section of
an answer, or where this resolves to a CNAME, or CNAME chain, the data field of the last CNAME. The
last CNAME in this sense is that which contains a value which does not resolve to another CNAME."
This definition has a certain internal logic, because of the way CNAME substitution works and the
definition of CNAME. If a name server does not find an RRset that matches a query, but it finds the
same name in the same class with a CNAME record, then the name server "includes the CNAME record in
the response and restarts the query at the domain name specified in the data field of the CNAME
record." (<xref target="RFC1034"/> Section 3.6.2). This is made explicit in the resolution
algorithm outlined in Section 4.3.2 of <xref target="RFC1034"/>, which says to "change QNAME to the
canonical name in the CNAME RR, and go back to step 1" in the case of a CNAME RR. Since a CNAME
record explicitly declares that the owner name is canonically named what is in the RDATA, then there
is a way to view the new name (i.e. the name that was in the RDATA of the CNAME RR) as also being
the QNAME.
</t>
<t>
This creates a kind of confusion, however, because the answer to a query that results in CNAME
processing contains in the echoed Question Section one QNAME (the name in the original query), and a
second QNAME that is in the data field of the last CNAME. The confusion comes from the
iterative/recursive mode of resolution, which finally returns an answer that need not actually have
the same owner name as the QNAME contained in the original query.
</t>
<t>
To address this potential confusion, it is helpful to distinguish between three meanings:
<list style="symbols">
<t>
QNAME (original): The name actually sent in the Question Section in the original query, which is
always echoed in the (final) reply in the Question Section when the QR bit is set to 1.
</t>
<t>
QNAME (effective): A name actually resolved, which is either the name originally queried,
or a name received in a CNAME chain response.
</t>
<t>
QNAME (final): The name actually resolved, which is either the name actually queried or else
the last name in a CNAME chain response.
</t>
</list></t>
<t>Note that, because the definition in <xref target="RFC2308"/> is actually for a different
concept than what was in <xref target="RFC1034"/>, it would have be better if
<xref target="RFC2308"/> had used a different name for that concept. In general use today,
QNAME almost always means what is defined above as "QNAME (original)".</t>
<t hangText='Referrals:'>
<iref item='Referrals'/>
A type of response in which a server, signaling that it is not
(completely) authoritative for an answer, provides the querying
resolver with an alternative place to send its query. Referrals can
be partial.</t>
<t>A referral arises when a server is not performing recursive service
while answering a query. It appears in step 3(b) of the algorithm in
<xref target="RFC1034" />, Section 4.3.2.</t>
<t>There are two types of referral response. The first is a downward
referral (sometimes described as "delegation response"), where the
server is authoritative for some portion of the QNAME. The authority
section RRset's RDATA contains the name servers specified at the
referred-to zone cut. In normal DNS operation, this kind of response
is required in order to find names beneath a delegation. The bare
use of "referral" means this kind of referral, and many people believe
that this is the only legitimate kind of referral in the DNS.</t>
<t>The second is an upward referral (sometimes described as "root
referral"), where the server is not authoritative for any portion of
the QNAME. When this happens, the referred-to zone in the authority
section is usually the root zone (.). In normal DNS operation, this
kind of response is not required for resolution or for correctly
answering any query. There is no requirement that any server send
upward referrals. Some people regard upward referrals as a sign of a
misconfiguration or error. Upward referrals always need some sort of
qualifier (such as "upward" or "root"), and are never identified by
the bare word "referral".</t>
<t>A response that has only a referral contains an empty answer
section. It contains the NS RRset for the referred-to zone in the
authority section. It may contain RRs that provide addresses in the
additional section. The AA bit is clear.</t>
<t>In the case where the query matches an alias, and the server is not
authoritative for the target of the alias but it is authoritative for
some name above the target of the alias, the resolution algorithm will
produce a response that contains both the authoritative answer for the
alias, and also a referral. Such a partial answer and referral
response has data in the answer section. It has the NS RRset for the
referred-to zone in the authority section. It may contain RRs that
provide addresses in the additional section. The AA bit is set,
because the first name in the answer section matches the QNAME and the
server is authoritative for that answer (see <xref target="RFC1035"/>,
Section 4.1.1).</t>
</list></t>
</section>
<section anchor="rrs" title="Resource Records">
<t><list style="hanging">
<t hangText='RR:'>
<iref item='RR'/>
An acronym for resource record. (<xref target="RFC1034"/>, Section 3.6.)</t>
<t hangText='RRset:'>
<iref item='RRset'/>
A set of resource records with the same label, class and type, but with different
data. (Definition from <xref target="RFC2181"/>) Also spelled RRSet in some documents. As a clarification,
"same label" in this definition means "same owner name".
In addition, <xref target="RFC2181"/> states that "the TTLs of all RRs in an RRSet must be the same".
</t>
<t>Note that RRSIG resource records do not match this definition.
<xref target="RFC4035"/> says:
"An RRset MAY have multiple RRSIG RRs associated with it. Note that
as RRSIG RRs are closely tied to the RRsets whose signatures they
contain, RRSIG RRs, unlike all other DNS RR types, do not form
RRsets. In particular, the TTL values among RRSIG RRs with a common
owner name do not follow the RRset rules described in <xref target="RFC2181"/>."
</t>
<t hangText='Master file:'>
<iref item='Master file'/>
"Master files are text files that contain RRs in text form. Since the contents of a zone
can be expressed in the form of a list of RRs a master file is most often used to define a
zone, though it can be used to list a cache's contents." (<xref target="RFC1035"/>,
Section 5.)
Master files are sometimes called "zone files".</t>
<t hangText='Presentation format:'>
<iref item='Presentation format'/>
The text format used in master files. This format is shown but not formally defined in
<xref target="RFC1034"/> and <xref target="RFC1035"/>. The term "presentation format"
first appears in <xref target="RFC4034"/>.</t>
<t hangText='EDNS:'>
<iref item='EDNS'/>
The extension mechanisms for DNS, defined in <xref
target="RFC6891"/>. Sometimes called "EDNS0" or "EDNS(0)"
to indicate the version number. EDNS allows DNS clients and servers to specify message
sizes larger than the original 512 octet limit, to expand the response code space, and
potentially to carry additional options that affect the handling of a DNS query.</t>
<t hangText='OPT:'>
<iref item='OPT'/>
A pseudo-RR (sometimes called a "meta-RR") that is used only to contain
control information pertaining to the question-and-answer sequence of a specific
transaction. (Definition from <xref target="RFC6891"/>, Section 6.1.1)
It is used by EDNS.</t>
<t hangText='Owner:'>
<iref item='Owner'/>
The domain name where a RR is found (<xref target="RFC1034"/>, Section 3.6).
Often appears in the term "owner name".</t>
<t hangText='SOA field names:'>
<iref item='SOA field names'/>
DNS documents, including the definitions here, often refer to the fields in the
RDATA of an SOA resource record by field name. Those fields are defined in Section 3.3.13 of <xref target="RFC1035"/>.
The names (in the order they appear in the SOA RDATA) are MNAME, RNAME, SERIAL, REFRESH, RETRY,
EXPIRE, and MINIMUM.
Note that the meaning of MINIMUM field is updated in Section 4 of <xref target="RFC2308"/>; the new definition
is that the MINIMUM field is only "the TTL to be used for negative responses".
This document tends to use field names instead of terms that describe the fields.</t>
<t hangText='TTL:'>
<iref item='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 of 2147483647. That is, a
maximum of 2^31 - 1. When transmitted, the TTL is encoded in the less
significant 31 bits of the 32 bit TTL field, with the most significant, or sign,
bit set to zero." (Quoted from <xref target="RFC2181"/>, Section 8) (Note that <xref target="RFC1035"/>
erroneously stated that this is a signed integer; that was fixed by <xref target="RFC2181"/>.)</t>
<t>The TTL "specifies the time interval that the resource record may be cached
before the source of the information should again be consulted". (Quoted from
<xref target="RFC1035"/>, Section 3.2.1) Also: "the time interval (in seconds) that the resource
record may be cached before it should be discarded". (Quoted from <xref target="RFC1035"/>,
Section 4.1.3). Despite being defined for a resource record, the TTL of every
resource record in an RRset is required to be the same (<xref target="RFC2181"/>, Section 5.2).</t>
<t>The reason that the TTL is the maximum time to live is that a cache operator
might decide to shorten the time to live for operational purposes, such as if
there is a policy to disallow TTL values over a certain number.
Some servers are known to ignore the TTL on some RRsets (such as when the authoritative data
has a very short TTL) even though this is against the advice in RFC 1035.
An RRset can be flushed from the cache before the end of the TTL interval,
at which point the value of the TTL becomes unknown because the RRset
with which it was associated no longer exists.</t>
<t>There is also the concept of a "default TTL" for a zone, which can be a configuration
parameter in the server software. This is often expressed by a default for the
entire server, and a default for a zone using the $TTL directive
in a zone file. The $TTL directive was added to the master file
format by <xref target="RFC2308"/>.</t>
<t hangText='Class independent:'>
<iref item='Class independent'/>
A resource record type whose syntax and semantics are the same for every DNS
class. A resource record type that is not class independent has different meanings depending on the
DNS class of the record, or the meaning is undefined for some class.
Most resorece record types are defined for class 1 (IN, the Internet),
but many are undefined for other classes.</t>
<t hangText='Address records:'>
<iref item='Address records'/>
Records whose type is A or AAAA.
<xref target="RFC2181"/> informally defines these as "(A, AAAA, etc)".
Note that new types of address records could be defined in the future.</t>
</list></t>
</section>
<section anchor="dns-servers-and-clients" title="DNS Servers and Clients">
<t>This section defines the terms used for the systems that act as DNS clients, DNS
servers, or both.
In the RFCs, DNS servers are sometimes called "name servers", "nameservers",
or just "servers". There is no formal definition of DNS server, but the RFCs
generally assume that it is an Internet server that listens for queries
and sends responses using the DNS protocol defined in <xref target="RFC1035"/>
and its successors.</t>
<t>It is important to note that the terms "DNS server" and "name server" require context in order to
understand the services being provided. Both authoritative servers and recursive resolvers are often
called "DNS servers" and "name servers" even though they serve different roles (and may be part of
the same software package).</t>
<t>For terminology specific to the public DNS root server system, see <xref target="RSSAC026"/>.
That document defines terms such as "root server", "root server operator", and terms
that are specific to the way that the root zone of the public DNS is served.</t>
<t><list style="hanging">
<t hangText='Resolver:'>
<iref item='Resolver'/>
A program "that extract[s] information from name
servers in response to client requests." (Quoted from <xref target="RFC1034"/>, Section 2.4)
"The resolver is located on the same machine as the program
that requests the resolver's services, but it may need to consult name servers on
other hosts."
(Quoted from <xref target="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.</t>
<t>A related term is "resolve", which is not formally defined in <xref target="RFC1034"/>
or <xref target="RFC1035"/>. An imputed definition might be "asking a question that
consists of a domain name, class, and type, and receiving some sort of answer".
Similarly, an imputed definition of "resolution" might be "the answer received
from resolving".</t>
<t hangText='Stub resolver:'>
<iref item='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 <xref target="RFC1034"/>.
They are fully defined in Section 6.1.3.1 of <xref target="RFC1123"/>.</t>
<t hangText='Iterative mode:'>
<iref item='Iterative mode'/>
A resolution mode of a server that receives DNS
queries and responds with a referral to another server. Section 2.3 of <xref target="RFC1034"/>
describes this as "The server refers the client to
another server and lets the client pursue the query".
A resolver that works in iterative mode is sometimes called an "iterative
resolver".
See also "iterative resolution" later in this section.</t>
<t hangText='Recursive mode:'>
<iref item='Recursive mode'/>
A resolution mode of a server that receives DNS
queries and either responds to those queries from a local cache or
sends queries to other servers in order to get the final answers to
the original queries. Section 2.3 of <xref target="RFC1034"/> describes this as "The
first server pursues the query for the client at another server".
Section 4.3.1 of of <xref target="RFC1034"/> says "in \[recursive\]
mode the name server acts in the role of a resolver and
returns either an error or the answer, but never referrals."
That same section also says "The recursive mode occurs when a query with RD set arrives at a server
which is willing to provide recursive service; the client can verify that recursive mode was used by
checking that both RA and RD are set in the reply."</t>
<t>A server operating in recursive mode may be thought of 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.</t>
<t hangText='Recursive resolver:'>
<iref item='Recursive resolver'/>
A resolver that acts in recursive mode.
In general, a recursive resolver is expected to cache the answers it receives
(which would make it a full-service resolver), but some recursive resolvers might not cache.</t>
<t><xref target="RFC4697"/> tried to differentiate between a
recursive resolver and an iterative resolver.</t>
<t hangText='Recursive query:'>
<iref item='Recursive query'/>
A query with the Recursion Desired (RD) bit set to 1 in the header. (See Section 4.1.1 of <xref
target="RFC1035"/>.) If recursive service is available and is requested by the RD bit in the query,
the server uses its resolver to answer the query. (See Section 4.3.2 of <xref target="RFC1035"/>.)</t>
<t hangText='Non-recursive query:'>
<iref item='Non-recursive query'/>
A query with the Recursion Desired (RD) bit set to 0 in the header. A server can answer
non-recursive queries using only local information: the response contains either an error, the
answer, or a referral to some other server "closer" to the answer.
(See Section 4.3.1 of <xref target="RFC1035"/>.)</t>
<t hangText='Iterative resolution:'>
<iref item='Iterative resolution'/>
A name server may be presented with a query that can only be answered by some other server. The two
general approaches to dealing with this problem are "recursive", in which the first server pursues
the query on behalf of the client at another server, and "iterative", in which the server refers the client
to another server and lets the client pursue the query there. (See Section 2.3 of <xref
target="RFC1034"/>.)</t>
<t>In iterative resolution, the client repeatedly makes non-recursive queries and follows referrals
and/or aliases. The iterative resolution algorithm is described in Section 5.3.3 of <xref
target="RFC1034"/>.</t>
<t hangText='Full resolver:'>
<iref item='Full resolver'/>
This term is used in <xref target="RFC1035"/>, but it is not defined there. RFC
1123 defines a "full-service resolver" that may or may not be what was intended
by "full resolver" in <xref target="RFC1035"/>.
This term is not properly defined in any RFC.</t>
<t hangText='Full-service resolver:'>
<iref item='Full-service resolver'/>
Section 6.1.3.1 of <xref target="RFC1123"/> defines this term
to mean a resolver that acts in recursive mode with a cache (and meets
other requirements).</t>
<t hangText='Priming:'>
<iref item='Priming'/>
"The act of finding the list of root servers from a
configuration that lists some or all of the purported IP addresses of
some or all of those root servers." (Quoted from <xref target="RFC8109"/>, Section 2.)
In order to operate in recursive mode, a resolver needs to know the address of at least one root server.
Priming is most often done from a configuration setting that contains a
list of authoritative servers for the root zone.</t>
<t hangText='Root hints:'>
<iref item='Root hints'/>
"Operators who manage a DNS recursive resolver typically need to configure
a 'root hints file'.
This file contains the names and IP addresses of the authoritative name servers
for the root zone, so the software can bootstrap the DNS resolution process.
For many pieces of software, this list comes built into the software."
(Quoted from <xref target="IANA_RootFiles"/>)
This file is often used in priming.</t>
<t hangText='Negative caching:'>
<iref item='Negative caching'/>
"The storage of knowledge that something does not exist, cannot
give an answer, or does not give an answer." (Quoted from <xref target="RFC2308"/>, Section 1)</t>
<t hangText='Authoritative server:'>
<iref item='Authoritative server'/>
"A server that knows the content of a DNS zone from local knowledge, and thus can answer
queries about that zone without needing to query other servers." (Quoted from <xref target="RFC2182"/>, Section 2.)
It is a system that responds to DNS queries with
information about zones for which it has been configured to answer
with the AA flag in the response header set to 1. It is a server that has authority over one or
more DNS zones. Note that it is possible for an authoritative server to respond
to a query without the parent zone delegating
authority to that server. 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.</t>
<t hangText='Authoritative-only server:'>
<iref item='Authoritative-only server'/>
A name server that only serves authoritative data and ignores requests for recursion.
It will "not normally generate any queries of its own. Instead, it answers non-recursive
queries from iterative resolvers looking for information in zones it serves."
(Quoted from <xref target="RFC4697"/>, Section 2.4)</t>
<t hangText='Zone transfer:'>
<iref item='Zone transfer'/>
The act of a client requesting a copy of a zone and an authoritative server
sending the needed information.
(See <xref target="zones"/> for a description of zones.)
There are two common standard ways to do zone transfers:
the AXFR ("Authoritative Transfer") mechanism to copy the full zone (described in <xref target="RFC5936"/>, and
the IXFR ("Incremental Transfer") mechanism to copy only parts of the zone that have changed (described in <xref target="RFC1995"/>).
Many systems use non-standard methods for zone transfer outside the DNS protocol.</t>
<t hangText='Secondary server:'>
<iref item='Secondary server'/>
"An authoritative server which uses zone transfer to retrieve the
zone" (Quoted from <xref target="RFC1996"/>, Section 2.1).
Secondary servers are also discussed in <xref target="RFC1034"/>.
<xref target="RFC2182"/> describes secondary servers in
more detail. Although early DNS RFCs such as <xref target="RFC1996"/> referred to this as a "slave", the
current common usage has shifted to calling it a "secondary".
</t>
<t hangText='Slave server:'>
<iref item='Slave server'/>
See secondary server.</t>
<t hangText='Primary server:'>
<iref item='Primary server'/>
"Any authoritative server configured to be the source of zone transfer
for one or more [secondary] servers" (Quoted from <xref target="RFC1996"/>, Section 2.1) or, more
specifically, "an authoritative server configured to be the source of AXFR or IXFR data
for one or more [secondary] servers" (Quoted from <xref target="RFC2136"/>).
Primary servers are also discussed in <xref target="RFC1034"/>.
Although early DNS RFCs such as <xref target="RFC1996"/> referred to this as a "master", the current
common usage has shifted to "primary".</t>
<t hangText='Master server:'>
<iref item='Master server'/>
See primary server.</t>
<t hangText='Primary master:'>
<iref item='Primary master'/>
"The primary master is named in the zone's SOA MNAME field and
optionally by an NS RR". (Quoted from <xref target="RFC1996"/>, Section 2.1).
<xref target="RFC2136"/> defines "primary master" as "Master server at the root of the AXFR/IXFR dependency graph.
The primary master is named in the zone's SOA MNAME field and optionally by an NS RR. There is by
definition only one primary master server per zone."
The idea of a primary master is only used by <xref target="RFC2136"/>, and is considered archaic in other
parts of the DNS.</t>
<t>The idea of a primary master is only used in <xref target="RFC1996"/> and <xref target="RFC2136"/>.
A modern interpretation of the term "primary master" is a server that is both authoritative for a zone
and that gets its updates to the zone from configuration (such as a master file) or from UPDATE transactions.</t>
<t hangText='Stealth server:'>
<iref item='Stealth server'/>
This is "like a slave server except not listed in an NS RR for
the zone." (Quoted from <xref target="RFC1996"/>, Section 2.1)</t>
<t hangText='Hidden master:'>
<iref item='Hidden master'/>
A stealth server that is a primary server for zone transfers. "In this arrangement, the
master name server that processes the updates is unavailable to general hosts on the
Internet; it is not listed in the NS RRset." (Quoted from
<xref target="RFC6781"/>, Section 3.4.3). An earlier RFC, <xref target="RFC4641"/>, said
that the hidden master's name "appears in the SOA RRs MNAME field", although in some
setups, the name does not appear at all in the public DNS. A hidden master can also be a
secondary server for the zone itself.</t>
<t hangText='Forwarding:'>
<iref item='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 is
a function of a DNS resolver; it is different than simply blindly
relaying queries.</t>
<t><xref target="RFC5625"/> does not give a specific definition for forwarding, but
describes in detail what features a system that forwards needs to
support. Systems that forward are sometimes called "DNS proxies", but
that term has not yet been defined (even in <xref target="RFC5625"/>).</t>
<t hangText='Forwarder:'>
<iref item='Forwarder'/>
Section 1 of <xref target="RFC2308"/> describes a forwarder as "a
nameserver used to resolve queries instead of directly using the
authoritative nameserver chain". <xref target="RFC2308"/> further says "The
forwarder typically either has better access to the internet, or
maintains a bigger cache which may be shared amongst many resolvers."
That definition appears to suggest that forwarders
normally only query authoritative servers. In current use, however,
forwarders often stand between stub resolvers and recursive servers.
<xref target="RFC2308"/> is silent on whether a forwarder is iterative-only or
can be a full-service resolver.</t>
<t hangText='Policy-implementing resolver:'>
<iref item='Policy-implementing resolver'/>
A resolver acting in recursive mode that changes some of the answers
that it returns based on policy criteria, such as to prevent access to
malware sites or objectionable content. In general, a stub resolver has no idea
whether upstream resolvers implement such policy or, if they do, the exact
policy about what changes will be made.
In some cases, the user of the stub resolver has selected the policy-implementing resolver
with the explicit intention of using it to implement the policies. In other cases,
policies are imposed without the user of the stub resolver being informed.</t>
<t hangText='Open resolver:'>
<iref item='Open resolver'/>
A full-service resolver that accepts and processes queries from any (or nearly any) stub
resolver. This is sometimes also called a "public resolver", although the term "public resolver"
is used more with open resolvers that are meant to be open, as compared to the vast majority of open
resolvers that are probably misconfigured to be open.
Open resolvers are discussed in <xref target="RFC5358"/></t>
<t hangText='Split DNS:'>
<iref item='Split DNS'/>
<iref item='Split-horizon DNS'/>
The terms "split DNS" and "split-horizon DNS" have long been used in the DNS community without
formal definition. In general, they refer to situations in which
DNS servers that are authoritative for a particular set of domains
provide partly or completely different answers in those domains depending
on the source of the query. The effect of this is that a domain name that
is notionally globally unique nevertheless has different meanings for
different network users. This can sometimes be the result of a "view"
configuration, described below.</t>
<t><xref target="RFC2775"/>, Section 3.8 gives a related definition that is too specific to be generally useful.</t>
<t hangText='View:'>
<iref item='View'/>
A configuration for a DNS server that allows it to provide
different answers depending on attributes of the query, such as for "split DNS". Typically, views differ
by the source IP address of a query, but can also be based on the destination IP address,
the type of query (such as AXFR), whether it is recursive, and so on.
Views are often used to
provide more names or different addresses to queries from "inside" a protected network
than to those "outside" that network. Views are not a standardized
part of the DNS, but they are widely implemented in server software.</t>
<t hangText='Passive DNS:'>
<iref item='Passive DNS'/>
A mechanism to collect DNS data by storing DNS responses from name servers. Some of these systems
also collect the DNS queries associated with the responses, although doing so raises some privacy
concerns. Passive DNS databases can be used to answer historical questions about DNS zones such as
which values were present at a given time in the past, or when a name was spotted first.
Passive DNS databases allow searching of the stored records on keys other than
just the name and type, such as "find all names which have A records of a