]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/bind9/doc/arm/Bv9ARM.ch01.html
This commit was generated by cvs2svn to compensate for changes in r147894,
[FreeBSD/FreeBSD.git] / contrib / bind9 / doc / arm / Bv9ARM.ch01.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >Introduction </TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
9 REL="HOME"
10 TITLE="BIND 9 Administrator Reference Manual"
11 HREF="Bv9ARM.html"><LINK
12 REL="PREVIOUS"
13 TITLE="BIND 9 Administrator Reference Manual"
14 HREF="Bv9ARM.html"><LINK
15 REL="NEXT"
16 TITLE="BIND Resource Requirements"
17 HREF="Bv9ARM.ch02.html"></HEAD
18 ><BODY
19 CLASS="chapter"
20 BGCOLOR="#FFFFFF"
21 TEXT="#000000"
22 LINK="#0000FF"
23 VLINK="#840084"
24 ALINK="#0000FF"
25 ><DIV
26 CLASS="NAVHEADER"
27 ><TABLE
28 SUMMARY="Header navigation table"
29 WIDTH="100%"
30 BORDER="0"
31 CELLPADDING="0"
32 CELLSPACING="0"
33 ><TR
34 ><TH
35 COLSPAN="3"
36 ALIGN="center"
37 >BIND 9 Administrator Reference Manual</TH
38 ></TR
39 ><TR
40 ><TD
41 WIDTH="10%"
42 ALIGN="left"
43 VALIGN="bottom"
44 ><A
45 HREF="Bv9ARM.html"
46 ACCESSKEY="P"
47 >Prev</A
48 ></TD
49 ><TD
50 WIDTH="80%"
51 ALIGN="center"
52 VALIGN="bottom"
53 ></TD
54 ><TD
55 WIDTH="10%"
56 ALIGN="right"
57 VALIGN="bottom"
58 ><A
59 HREF="Bv9ARM.ch02.html"
60 ACCESSKEY="N"
61 >Next</A
62 ></TD
63 ></TR
64 ></TABLE
65 ><HR
66 ALIGN="LEFT"
67 WIDTH="100%"></DIV
68 ><DIV
69 CLASS="chapter"
70 ><H1
71 ><A
72 NAME="ch01"
73 ></A
74 >Chapter 1. Introduction </H1
75 ><DIV
76 CLASS="TOC"
77 ><DL
78 ><DT
79 ><B
80 >Table of Contents</B
81 ></DT
82 ><DT
83 >1.1. <A
84 HREF="Bv9ARM.ch01.html#AEN15"
85 >Scope of Document</A
86 ></DT
87 ><DT
88 >1.2. <A
89 HREF="Bv9ARM.ch01.html#AEN22"
90 >Organization of This Document</A
91 ></DT
92 ><DT
93 >1.3. <A
94 HREF="Bv9ARM.ch01.html#AEN42"
95 >Conventions Used in This Document</A
96 ></DT
97 ><DT
98 >1.4. <A
99 HREF="Bv9ARM.ch01.html#AEN107"
100 >The Domain Name System (<ACRONYM
101 CLASS="acronym"
102 >DNS</ACRONYM
103 >)</A
104 ></DT
105 ></DL
106 ></DIV
107 ><P
108 >The Internet Domain Name System (<ACRONYM
109 CLASS="acronym"
110 >DNS</ACRONYM
111 >) consists of the syntax
112   to specify the names of entities in the Internet in a hierarchical
113   manner, the rules used for delegating authority over names, and the
114   system implementation that actually maps names to Internet
115   addresses.  <ACRONYM
116 CLASS="acronym"
117 >DNS</ACRONYM
118 > data is maintained in a group of distributed
119   hierarchical databases.</P
120 ><DIV
121 CLASS="sect1"
122 ><H1
123 CLASS="sect1"
124 ><A
125 NAME="AEN15"
126 >1.1. Scope of Document</A
127 ></H1
128 ><P
129 >The Berkeley Internet Name Domain (<ACRONYM
130 CLASS="acronym"
131 >BIND</ACRONYM
132 >) implements an
133     domain name server for a number of operating systems. This
134     document provides basic information about the installation and
135     care of the Internet Software Consortium (<ACRONYM
136 CLASS="acronym"
137 >ISC</ACRONYM
138 >)
139     <ACRONYM
140 CLASS="acronym"
141 >BIND</ACRONYM
142 > version 9 software package for system
143     administrators.</P
144 ><P
145 >This version of the manual corresponds to BIND version 9.3.</P
146 ></DIV
147 ><DIV
148 CLASS="sect1"
149 ><H1
150 CLASS="sect1"
151 ><A
152 NAME="AEN22"
153 >1.2. Organization of This Document</A
154 ></H1
155 ><P
156 >In this document, <SPAN
157 CLASS="emphasis"
158 ><I
159 CLASS="emphasis"
160 >Section 1</I
161 ></SPAN
162 > introduces
163     the basic <ACRONYM
164 CLASS="acronym"
165 >DNS</ACRONYM
166 > and <ACRONYM
167 CLASS="acronym"
168 >BIND</ACRONYM
169 > concepts. <SPAN
170 CLASS="emphasis"
171 ><I
172 CLASS="emphasis"
173 >Section 2</I
174 ></SPAN
175 >
176     describes resource requirements for running <ACRONYM
177 CLASS="acronym"
178 >BIND</ACRONYM
179 > in various
180     environments. Information in <SPAN
181 CLASS="emphasis"
182 ><I
183 CLASS="emphasis"
184 >Section 3</I
185 ></SPAN
186 > is
187     <SPAN
188 CLASS="emphasis"
189 ><I
190 CLASS="emphasis"
191 >task-oriented</I
192 ></SPAN
193 > in its presentation and is
194     organized functionally, to aid in the process of installing the
195     <ACRONYM
196 CLASS="acronym"
197 >BIND</ACRONYM
198 > 9 software. The task-oriented section is followed by
199     <SPAN
200 CLASS="emphasis"
201 ><I
202 CLASS="emphasis"
203 >Section 4</I
204 ></SPAN
205 >, which contains more advanced
206     concepts that the system administrator may need for implementing
207     certain options. <SPAN
208 CLASS="emphasis"
209 ><I
210 CLASS="emphasis"
211 >Section 5</I
212 ></SPAN
213 >
214     describes the <ACRONYM
215 CLASS="acronym"
216 >BIND</ACRONYM
217 > 9 lightweight
218     resolver.  The contents of <SPAN
219 CLASS="emphasis"
220 ><I
221 CLASS="emphasis"
222 >Section 6</I
223 ></SPAN
224 > are
225     organized as in a reference manual to aid in the ongoing
226     maintenance of the software. <SPAN
227 CLASS="emphasis"
228 ><I
229 CLASS="emphasis"
230 >Section 7
231     </I
232 ></SPAN
233 >addresses security considerations, and
234     <SPAN
235 CLASS="emphasis"
236 ><I
237 CLASS="emphasis"
238 >Section 8</I
239 ></SPAN
240 > contains troubleshooting help. The
241     main body of the document is followed by several
242     <SPAN
243 CLASS="emphasis"
244 ><I
245 CLASS="emphasis"
246 >Appendices</I
247 ></SPAN
248 > which contain useful reference
249     information, such as a <SPAN
250 CLASS="emphasis"
251 ><I
252 CLASS="emphasis"
253 >Bibliography</I
254 ></SPAN
255 > and
256     historic information related to <ACRONYM
257 CLASS="acronym"
258 >BIND</ACRONYM
259 > and the Domain Name
260     System.</P
261 ></DIV
262 ><DIV
263 CLASS="sect1"
264 ><H1
265 CLASS="sect1"
266 ><A
267 NAME="AEN42"
268 >1.3. Conventions Used in This Document</A
269 ></H1
270 ><P
271 >In this document, we use the following general typographic
272     conventions:</P
273 ><DIV
274 CLASS="informaltable"
275 ><P
276 ></P
277 ><A
278 NAME="AEN45"
279 ></A
280 ><TABLE
281 CELLPADDING="3"
282 BORDER="1"
283 CLASS="CALSTABLE"
284 ><TBODY
285 ><TR
286 ><TD
287 >&#13;<P
288 ><SPAN
289 CLASS="emphasis"
290 ><I
291 CLASS="emphasis"
292 >To
293 describe:</I
294 ></SPAN
295 ></P
296 ></TD
297 ><TD
298 >&#13;<P
299 ><SPAN
300 CLASS="emphasis"
301 ><I
302 CLASS="emphasis"
303 >We use the style:</I
304 ></SPAN
305 ></P
306 ></TD
307 ></TR
308 ><TR
309 ><TD
310 >&#13;<P
311 >a pathname, filename, URL, hostname,
312 mailing list name, or new term or concept</P
313 ></TD
314 ><TD
315 ><P
316 ><TT
317 CLASS="filename"
318 >Fixed width</TT
319 ></P
320 ></TD
321 ></TR
322 ><TR
323 ><TD
324 ><P
325 >literal user
326 input</P
327 ></TD
328 ><TD
329 ><P
330 ><KBD
331 CLASS="userinput"
332 >Fixed Width Bold</KBD
333 ></P
334 ></TD
335 ></TR
336 ><TR
337 ><TD
338 ><P
339 >program output</P
340 ></TD
341 ><TD
342 ><P
343 ><SAMP
344 CLASS="computeroutput"
345 >Fixed Width</SAMP
346 ></P
347 ></TD
348 ></TR
349 ></TBODY
350 ></TABLE
351 ><P
352 ></P
353 ></DIV
354 ><P
355 >The following conventions are used in descriptions of the
356 <ACRONYM
357 CLASS="acronym"
358 >BIND</ACRONYM
359 > configuration file:<DIV
360 CLASS="informaltable"
361 ><P
362 ></P
363 ><A
364 NAME="AEN77"
365 ></A
366 ><TABLE
367 CELLPADDING="3"
368 BORDER="1"
369 CLASS="CALSTABLE"
370 ><TBODY
371 ><TR
372 ><TD
373 ><P
374 ><SPAN
375 CLASS="emphasis"
376 ><I
377 CLASS="emphasis"
378 >To
379 describe:</I
380 ></SPAN
381 ></P
382 ></TD
383 ><TD
384 ><P
385 ><SPAN
386 CLASS="emphasis"
387 ><I
388 CLASS="emphasis"
389 >We use the style:</I
390 ></SPAN
391 ></P
392 ></TD
393 ></TR
394 ><TR
395 ><TD
396 ><P
397 >keywords</P
398 ></TD
399 ><TD
400 ><P
401 ><VAR
402 CLASS="literal"
403 >Fixed Width</VAR
404 ></P
405 ></TD
406 ></TR
407 ><TR
408 ><TD
409 ><P
410 >variables</P
411 ></TD
412 ><TD
413 ><P
414 ><VAR
415 CLASS="varname"
416 >Fixed Width</VAR
417 ></P
418 ></TD
419 ></TR
420 ><TR
421 ><TD
422 ><P
423 >Optional input</P
424 ></TD
425 ><TD
426 ><P
427 >[<SPAN
428 CLASS="optional"
429 >Text is enclosed in square brackets</SPAN
430 >]</P
431 ></TD
432 ></TR
433 ></TBODY
434 ></TABLE
435 ><P
436 ></P
437 ></DIV
438 ></P
439 ></DIV
440 ><DIV
441 CLASS="sect1"
442 ><H1
443 CLASS="sect1"
444 ><A
445 NAME="AEN107"
446 >1.4. The Domain Name System (<ACRONYM
447 CLASS="acronym"
448 >DNS</ACRONYM
449 >)</A
450 ></H1
451 ><P
452 >The purpose of this document is to explain the installation
453 and upkeep of the <ACRONYM
454 CLASS="acronym"
455 >BIND</ACRONYM
456 > software package, and we
457 begin by reviewing the fundamentals of the Domain Name System
458 (<ACRONYM
459 CLASS="acronym"
460 >DNS</ACRONYM
461 >) as they relate to <ACRONYM
462 CLASS="acronym"
463 >BIND</ACRONYM
464 >.
465 </P
466 ><DIV
467 CLASS="sect2"
468 ><H2
469 CLASS="sect2"
470 ><A
471 NAME="AEN114"
472 >1.4.1. DNS Fundamentals</A
473 ></H2
474 ><P
475 >The Domain Name System (DNS) is the hierarchical, distributed
476 database.  It stores information for mapping Internet host names to IP
477 addresses and vice versa, mail routing information, and other data
478 used by Internet applications.</P
479 ><P
480 >Clients look up information in the DNS by calling a
481 <SPAN
482 CLASS="emphasis"
483 ><I
484 CLASS="emphasis"
485 >resolver</I
486 ></SPAN
487 > library, which sends queries to one or
488 more <SPAN
489 CLASS="emphasis"
490 ><I
491 CLASS="emphasis"
492 >name servers</I
493 ></SPAN
494 > and interprets the responses.
495 The <ACRONYM
496 CLASS="acronym"
497 >BIND</ACRONYM
498 > 9 software distribution contains a
499 name server, <B
500 CLASS="command"
501 >named</B
502 >, and two resolver
503 libraries, <B
504 CLASS="command"
505 >liblwres</B
506 > and <B
507 CLASS="command"
508 >libbind</B
509 >.
510 </P
511 ></DIV
512 ><DIV
513 CLASS="sect2"
514 ><H2
515 CLASS="sect2"
516 ><A
517 NAME="AEN124"
518 >1.4.2. Domains and Domain Names</A
519 ></H2
520 ><P
521 >The data stored in the DNS is identified by <SPAN
522 CLASS="emphasis"
523 ><I
524 CLASS="emphasis"
525 >domain
526 names</I
527 ></SPAN
528 > that are organized as a tree according to
529 organizational or administrative boundaries. Each node of the tree,
530 called a <SPAN
531 CLASS="emphasis"
532 ><I
533 CLASS="emphasis"
534 >domain</I
535 ></SPAN
536 >, is given a label. The domain name of the
537 node is the concatenation of all the labels on the path from the
538 node to the <SPAN
539 CLASS="emphasis"
540 ><I
541 CLASS="emphasis"
542 >root</I
543 ></SPAN
544 > node.  This is represented
545 in written form as a string of labels listed from right to left and
546 separated by dots. A label need only be unique within its parent
547 domain.</P
548 ><P
549 >For example, a domain name for a host at the
550 company <SPAN
551 CLASS="emphasis"
552 ><I
553 CLASS="emphasis"
554 >Example, Inc.</I
555 ></SPAN
556 > could be
557 <VAR
558 CLASS="literal"
559 >mail.example.com</VAR
560 >,
561 where <VAR
562 CLASS="literal"
563 >com</VAR
564 > is the
565 top level domain to which
566 <VAR
567 CLASS="literal"
568 >ourhost.example.com</VAR
569 > belongs,
570 <VAR
571 CLASS="literal"
572 >example</VAR
573 > is
574 a subdomain of <VAR
575 CLASS="literal"
576 >com</VAR
577 >, and
578 <VAR
579 CLASS="literal"
580 >ourhost</VAR
581 > is the
582 name of the host.</P
583 ><P
584 >For administrative purposes, the name space is partitioned into
585 areas called <SPAN
586 CLASS="emphasis"
587 ><I
588 CLASS="emphasis"
589 >zones</I
590 ></SPAN
591 >, each starting at a node and
592 extending down to the leaf nodes or to nodes where other zones start.
593 The data for each zone is stored in a <SPAN
594 CLASS="emphasis"
595 ><I
596 CLASS="emphasis"
597 >name
598 server</I
599 ></SPAN
600 >, which answers queries about the zone using the
601 <SPAN
602 CLASS="emphasis"
603 ><I
604 CLASS="emphasis"
605 >DNS protocol</I
606 ></SPAN
607 >.
608 </P
609 ><P
610 >The data associated with each domain name is stored in the
611 form of <SPAN
612 CLASS="emphasis"
613 ><I
614 CLASS="emphasis"
615 >resource records</I
616 ></SPAN
617 > (<ACRONYM
618 CLASS="acronym"
619 >RR</ACRONYM
620 >s).
621 Some of the supported resource record types are described in
622 <A
623 HREF="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them"
624 >Section 6.3.1</A
625 >.</P
626 ><P
627 >For more detailed information about the design of the DNS and
628 the DNS protocol, please refer to the standards documents listed in
629 <A
630 HREF="Bv9ARM.ch09.html#rfcs"
631 >Section A.3.1</A
632 >.</P
633 ></DIV
634 ><DIV
635 CLASS="sect2"
636 ><H2
637 CLASS="sect2"
638 ><A
639 NAME="AEN148"
640 >1.4.3. Zones</A
641 ></H2
642 ><P
643 >To properly operate a name server, it is important to understand
644 the difference between a <SPAN
645 CLASS="emphasis"
646 ><I
647 CLASS="emphasis"
648 >zone</I
649 ></SPAN
650 >
651 and a <SPAN
652 CLASS="emphasis"
653 ><I
654 CLASS="emphasis"
655 >domain</I
656 ></SPAN
657 >.</P
658 ><P
659 >As we stated previously, a zone is a point of delegation in
660 the <ACRONYM
661 CLASS="acronym"
662 >DNS</ACRONYM
663 > tree. A zone consists of
664 those contiguous parts of the domain
665 tree for which a name server has complete information and over which
666 it has authority. It contains all domain names from a certain point
667 downward in the domain tree except those which are delegated to
668 other zones. A delegation point is marked by one or more
669 <SPAN
670 CLASS="emphasis"
671 ><I
672 CLASS="emphasis"
673 >NS records</I
674 ></SPAN
675 > in the
676 parent zone, which should be matched by equivalent NS records at
677 the root of the delegated zone.</P
678 ><P
679 >For instance, consider the <VAR
680 CLASS="literal"
681 >example.com</VAR
682 >
683 domain which includes names
684 such as <VAR
685 CLASS="literal"
686 >host.aaa.example.com</VAR
687 > and
688 <VAR
689 CLASS="literal"
690 >host.bbb.example.com</VAR
691 > even though
692 the <VAR
693 CLASS="literal"
694 >example.com</VAR
695 > zone includes
696 only delegations for the <VAR
697 CLASS="literal"
698 >aaa.example.com</VAR
699 > and
700 <VAR
701 CLASS="literal"
702 >bbb.example.com</VAR
703 > zones.  A zone can map
704 exactly to a single domain, but could also include only part of a
705 domain, the rest of which could be delegated to other
706 name servers. Every name in the <ACRONYM
707 CLASS="acronym"
708 >DNS</ACRONYM
709 > tree is a
710 <SPAN
711 CLASS="emphasis"
712 ><I
713 CLASS="emphasis"
714 >domain</I
715 ></SPAN
716 >, even if it is
717 <SPAN
718 CLASS="emphasis"
719 ><I
720 CLASS="emphasis"
721 >terminal</I
722 ></SPAN
723 >, that is, has no
724 <SPAN
725 CLASS="emphasis"
726 ><I
727 CLASS="emphasis"
728 >subdomains</I
729 ></SPAN
730 >.  Every subdomain is a domain and
731 every domain except the root is also a subdomain. The terminology is
732 not intuitive and we suggest that you read RFCs 1033, 1034 and 1035 to
733 gain a complete understanding of this difficult and subtle
734 topic.</P
735 ><P
736 >Though <ACRONYM
737 CLASS="acronym"
738 >BIND</ACRONYM
739 > is called a "domain name server",
740 it deals primarily in terms of zones. The master and slave
741 declarations in the <TT
742 CLASS="filename"
743 >named.conf</TT
744 > file specify
745 zones, not domains. When you ask some other site if it is willing to
746 be a slave server for your <SPAN
747 CLASS="emphasis"
748 ><I
749 CLASS="emphasis"
750 >domain</I
751 ></SPAN
752 >, you are
753 actually asking for slave service for some collection of zones.</P
754 ></DIV
755 ><DIV
756 CLASS="sect2"
757 ><H2
758 CLASS="sect2"
759 ><A
760 NAME="AEN171"
761 >1.4.4. Authoritative Name Servers</A
762 ></H2
763 ><P
764 >Each zone is served by at least
765 one <SPAN
766 CLASS="emphasis"
767 ><I
768 CLASS="emphasis"
769 >authoritative name server</I
770 ></SPAN
771 >,
772 which contains the complete data for the zone.
773 To make the DNS tolerant of server and network failures,
774 most zones have two or more authoritative servers.
775 </P
776 ><P
777 >Responses from authoritative servers have the "authoritative
778 answer" (AA) bit set in the response packets.  This makes them 
779 easy to identify when debugging DNS configurations using tools like
780 <B
781 CLASS="command"
782 >dig</B
783 > (<A
784 HREF="Bv9ARM.ch03.html#diagnostic_tools"
785 >Section 3.3.1.1</A
786 >).</P
787 ><DIV
788 CLASS="sect3"
789 ><H3
790 CLASS="sect3"
791 ><A
792 NAME="AEN178"
793 >1.4.4.1. The Primary Master</A
794 ></H3
795 ><P
796 >&#13;The authoritative server where the master copy of the zone data is maintained is
797 called the <SPAN
798 CLASS="emphasis"
799 ><I
800 CLASS="emphasis"
801 >primary master</I
802 ></SPAN
803 > server, or simply the
804 <SPAN
805 CLASS="emphasis"
806 ><I
807 CLASS="emphasis"
808 >primary</I
809 ></SPAN
810 >.  It loads the zone contents from some
811 local file edited by humans or perhaps generated mechanically from
812 some other local file which is edited by humans.  This file is called
813 the <SPAN
814 CLASS="emphasis"
815 ><I
816 CLASS="emphasis"
817 >zone file</I
818 ></SPAN
819 > or <SPAN
820 CLASS="emphasis"
821 ><I
822 CLASS="emphasis"
823 >master file</I
824 ></SPAN
825 >.</P
826 ></DIV
827 ><DIV
828 CLASS="sect3"
829 ><H3
830 CLASS="sect3"
831 ><A
832 NAME="AEN185"
833 >1.4.4.2. Slave Servers</A
834 ></H3
835 ><P
836 >The other authoritative servers, the <SPAN
837 CLASS="emphasis"
838 ><I
839 CLASS="emphasis"
840 >slave</I
841 ></SPAN
842 >
843 servers (also known as <SPAN
844 CLASS="emphasis"
845 ><I
846 CLASS="emphasis"
847 >secondary</I
848 ></SPAN
849 > servers) load
850 the zone contents from another server using a replication process
851 known as a <SPAN
852 CLASS="emphasis"
853 ><I
854 CLASS="emphasis"
855 >zone transfer</I
856 ></SPAN
857 >.  Typically the data are
858 transferred directly from the primary master, but it is also possible
859 to transfer it from another slave.  In other words, a slave server
860 may itself act as a master to a subordinate slave server.</P
861 ></DIV
862 ><DIV
863 CLASS="sect3"
864 ><H3
865 CLASS="sect3"
866 ><A
867 NAME="AEN191"
868 >1.4.4.3. Stealth Servers</A
869 ></H3
870 ><P
871 >Usually all of the zone's authoritative servers are listed in 
872 NS records in the parent zone.  These NS records constitute
873 a <SPAN
874 CLASS="emphasis"
875 ><I
876 CLASS="emphasis"
877 >delegation</I
878 ></SPAN
879 > of the zone from the parent.
880 The authoritative servers are also listed in the zone file itself,
881 at the <SPAN
882 CLASS="emphasis"
883 ><I
884 CLASS="emphasis"
885 >top level</I
886 ></SPAN
887 > or <SPAN
888 CLASS="emphasis"
889 ><I
890 CLASS="emphasis"
891 >apex</I
892 ></SPAN
893 >
894 of the zone.  You can list servers in the zone's top-level NS
895 records that are not in the parent's NS delegation, but you cannot
896 list servers in the parent's delegation that are not present at
897 the zone's top level.</P
898 ><P
899 >A <SPAN
900 CLASS="emphasis"
901 ><I
902 CLASS="emphasis"
903 >stealth server</I
904 ></SPAN
905 > is a server that is
906 authoritative for a zone but is not listed in that zone's NS
907 records.  Stealth servers can be used for keeping a local copy of a
908 zone to speed up access to the zone's records or to make sure that the
909 zone is available even if all the "official" servers for the zone are
910 inaccessible.</P
911 ><P
912 >A configuration where the primary master server itself is a
913 stealth server is often referred to as a "hidden primary"
914 configuration.  One use for this configuration is when the primary master
915 is behind a firewall and therefore unable to communicate directly
916 with the outside world.</P
917 ></DIV
918 ></DIV
919 ><DIV
920 CLASS="sect2"
921 ><H2
922 CLASS="sect2"
923 ><A
924 NAME="AEN200"
925 >1.4.5. Caching Name Servers</A
926 ></H2
927 ><P
928 >The resolver libraries provided by most operating systems are 
929 <SPAN
930 CLASS="emphasis"
931 ><I
932 CLASS="emphasis"
933 >stub resolvers</I
934 ></SPAN
935 >, meaning that they are not capable of
936 performing the full DNS resolution process by themselves by talking
937 directly to the authoritative servers.  Instead, they rely on a local
938 name server to perform the resolution on their behalf.  Such a server
939 is called a <SPAN
940 CLASS="emphasis"
941 ><I
942 CLASS="emphasis"
943 >recursive</I
944 ></SPAN
945 > name server; it performs
946 <SPAN
947 CLASS="emphasis"
948 ><I
949 CLASS="emphasis"
950 >recursive lookups</I
951 ></SPAN
952 > for local clients.</P
953 ><P
954 >To improve performance, recursive servers cache the results of
955 the lookups they perform.  Since the processes of recursion and
956 caching are intimately connected, the terms
957 <SPAN
958 CLASS="emphasis"
959 ><I
960 CLASS="emphasis"
961 >recursive server</I
962 ></SPAN
963 > and
964 <SPAN
965 CLASS="emphasis"
966 ><I
967 CLASS="emphasis"
968 >caching server</I
969 ></SPAN
970 > are often used synonymously.</P
971 ><P
972 >The length of time for which a record may be retained in
973 in the cache of a caching name server is controlled by the 
974 Time To Live (TTL) field associated with each resource record.
975 </P
976 ><DIV
977 CLASS="sect3"
978 ><H3
979 CLASS="sect3"
980 ><A
981 NAME="AEN210"
982 >1.4.5.1. Forwarding</A
983 ></H3
984 ><P
985 >Even a caching name server does not necessarily perform
986 the complete recursive lookup itself.  Instead, it can
987 <SPAN
988 CLASS="emphasis"
989 ><I
990 CLASS="emphasis"
991 >forward</I
992 ></SPAN
993 > some or all of the queries
994 that it cannot satisfy from its cache to another caching name server,
995 commonly referred to as a <SPAN
996 CLASS="emphasis"
997 ><I
998 CLASS="emphasis"
999 >forwarder</I
1000 ></SPAN
1001 >.
1002 </P
1003 ><P
1004 >There may be one or more forwarders,
1005 and they are queried in turn until the list is exhausted or an answer
1006 is found. Forwarders are typically used when you do not
1007 wish all the servers at a given site to interact directly with the rest of
1008 the Internet servers. A typical scenario would involve a number
1009 of internal <ACRONYM
1010 CLASS="acronym"
1011 >DNS</ACRONYM
1012 > servers and an Internet firewall. Servers unable
1013 to pass packets through the firewall would forward to the server
1014 that can do it, and that server would query the Internet <ACRONYM
1015 CLASS="acronym"
1016 >DNS</ACRONYM
1017 > servers
1018 on the internal server's behalf. An added benefit of using the forwarding
1019 feature is that the central machine develops a much more complete
1020 cache of information that all the clients can take advantage
1021 of.</P
1022 ></DIV
1023 ></DIV
1024 ><DIV
1025 CLASS="sect2"
1026 ><H2
1027 CLASS="sect2"
1028 ><A
1029 NAME="AEN218"
1030 >1.4.6. Name Servers in Multiple Roles</A
1031 ></H2
1032 ><P
1033 >The <ACRONYM
1034 CLASS="acronym"
1035 >BIND</ACRONYM
1036 > name server can simultaneously act as
1037 a master for some zones, a slave for other zones, and as a caching
1038 (recursive) server for a set of local clients.</P
1039 ><P
1040 >However, since the functions of authoritative name service
1041 and caching/recursive name service are logically separate, it is
1042 often advantageous to run them on separate server machines.
1043
1044 A server that only provides authoritative name service
1045 (an <SPAN
1046 CLASS="emphasis"
1047 ><I
1048 CLASS="emphasis"
1049 >authoritative-only</I
1050 ></SPAN
1051 > server) can run with
1052 recursion disabled, improving reliability and security.
1053
1054 A server that is not authoritative for any zones and only provides
1055 recursive service to local
1056 clients (a <SPAN
1057 CLASS="emphasis"
1058 ><I
1059 CLASS="emphasis"
1060 >caching-only</I
1061 ></SPAN
1062 > server)
1063 does not need to be reachable from the Internet at large and can
1064 be placed inside a firewall.</P
1065 ></DIV
1066 ></DIV
1067 ></DIV
1068 ><DIV
1069 CLASS="NAVFOOTER"
1070 ><HR
1071 ALIGN="LEFT"
1072 WIDTH="100%"><TABLE
1073 SUMMARY="Footer navigation table"
1074 WIDTH="100%"
1075 BORDER="0"
1076 CELLPADDING="0"
1077 CELLSPACING="0"
1078 ><TR
1079 ><TD
1080 WIDTH="33%"
1081 ALIGN="left"
1082 VALIGN="top"
1083 ><A
1084 HREF="Bv9ARM.html"
1085 ACCESSKEY="P"
1086 >Prev</A
1087 ></TD
1088 ><TD
1089 WIDTH="34%"
1090 ALIGN="center"
1091 VALIGN="top"
1092 ><A
1093 HREF="Bv9ARM.html"
1094 ACCESSKEY="H"
1095 >Home</A
1096 ></TD
1097 ><TD
1098 WIDTH="33%"
1099 ALIGN="right"
1100 VALIGN="top"
1101 ><A
1102 HREF="Bv9ARM.ch02.html"
1103 ACCESSKEY="N"
1104 >Next</A
1105 ></TD
1106 ></TR
1107 ><TR
1108 ><TD
1109 WIDTH="33%"
1110 ALIGN="left"
1111 VALIGN="top"
1112 >BIND 9 Administrator Reference Manual</TD
1113 ><TD
1114 WIDTH="34%"
1115 ALIGN="center"
1116 VALIGN="top"
1117 >&nbsp;</TD
1118 ><TD
1119 WIDTH="33%"
1120 ALIGN="right"
1121 VALIGN="top"
1122 ><ACRONYM
1123 CLASS="acronym"
1124 >BIND</ACRONYM
1125 > Resource Requirements</TD
1126 ></TR
1127 ></TABLE
1128 ></DIV
1129 ></BODY
1130 ></HTML
1131 >