ソスソスソスフ包ソスソスソスソスソスRFC1034ソスフ難ソスソス{ソスソスソスiソスaソスソスjソスナゑソスソスB ソスソスソスフ包ソスソスソスソスフ翻ソスソスソスソスeソスフ撰ソスソスmソスソスソスヘ保擾ソスナゑソスソスネゑソスソスソスソス゚、 ソスソスソスmソスネ知ソスソスソスソスソスソスソス゚ゑソスソスソスヘ鯉ソスソスソスソスソスソスQソスニゑソスソストゑソスソスソスソスソスソスソスソスB ソス|ソスソスメはゑソスソスフ包ソスソスソスソスノゑソスソスソスト読者ゑソスソスソス闢セソスソス@ソスソスソスネる損ソスQソスフ責任ソスソスソスソスソスソスソスソスソスワゑソスソスソスB ソスソスソスフ翻ソスソスソスソスeソスノ鯉ソス閧ェソスソスソスソス鼾ソスAソスソスソスソスソスナの鯉ソスソスJソスソスA ソスソスソスフ指ソスEソスヘ適ソスリでゑソスソスB ソスソスソスフ包ソスソスソスソスフ配ソスzソスヘ鯉ソスソスフRソスeソスbソスソスソスlソスノ厄ソスソスソスソスソスソスナゑソスソスB
1. STATUS OF THIS MEMO ソスソスソスフソスソスソスソスフ擾ソスソス 2. INTRODUCTION ソスヘゑソスソス゚ゑソス 2.1. The history of domain names ソスhソスソスソスCソスソスソスソスソスフ暦ソスソスj 2.2. DNS design goals ソスcソスmソスrソス\ソスzソスフ目標 2.3. Assumptions about usage ソスソスソスpソスノ関ゑソスソス驩シソスソス 2.4. Elements of the DNS ソスcソスmソスrソスフ要ソスf 3. DOMAIN NAME SPACE and RESOURCE RECORDS ソスhソスソスソスCソスソスソスソスヤと趣ソスソスソスソスソスソスRソス[ソスh 3.1. Name space specifications and terminology ソスソスソスOソスソスヤ仕ソスlソスニ用ソスソス 3.2. Administrative guidelines on use ソスソスソスpソスソスフ管暦ソスソスKソスCソスhソスソスソスCソスソス 3.3. Technical guidelines on use ソスソスソスpソスソスフ技ソスpソスIソスKソスCソスhソスソスソスCソスソス 3.4. Example name space ソスソスソスOソスソスヤの暦ソス 3.5. Preferred name syntax ソス]ソスワゑソスソスソスソスソスソスOソスソスソス@ 3.6. Resource Records ソスソスソスソスソスソスソスRソス[ソスh 3.6.1. Textual expression of RRs ソスソスソスソスソスソスソスRソス[ソスhソスフテソスLソスXソスgソス\ソスソス 3.6.2. Aliases and canonical names ソスハ厄ソスソスニ標ソスソスソスソス 3.7. Queries ソス竝ソスソス 3.7.1. Standard queries ソスWソスソスソス竝ソスソス 3.7.2. Inverse queries (Optional) ソスtソス竝ソスソスソスiソスCソスモ) 3.8. Status queries (Experimental) ソスソスヤ問合ソスソスソスiソスソスソスソスソスIソスj 3.9. Completion queries (Obsolete) ソスソスソスソスソスフ趣ソスソスソスiソスソスソスソスxソスソスj 4. NAME SERVERS ソスlソス[ソスソスソスTソス[ソスrソスX 4.1. Introduction ソスヘゑソスソス゚ゑソス 4.2. How the database is divided into zones ソスfソス[ソス^ソスxソス[ソスXソスソスソス]ソス[ソスソスソスノ包ソスソスソスソスソスソスソス@ 4.2.1. Technical considerations ソスZソスpソスIソスネ考ソスソス 4.2.2. Administrative considerations ソスヌ暦ソスソスソスフ考ソスソス 4.3. Name server internals ソスlソス[ソスソスソスTソス[ソスoソスフ難ソスソスソス 4.3.1. Queries and responses ソス竝ソスソスソスニ会ソス 4.3.2. Algorithm ソスAソスソスソスSソスソスソスYソスソス 4.3.3. Wildcards ソスソスソスCソスソスソスhソスJソス[ソスh 4.3.4. Negative response caching (Optional) ソスロ定応ソスソスソスフキソスソスソスbソスVソスソスソスiソスCソスモ) 4.3.5. Zone maintenance and transfers ソス]ソス[ソスソスソスロ趣ソスソスニ転ソスソス 5. RESOLVERS ソスソスソス]ソスソスソスo 5.1. Introduction ソスヘゑソスソス゚ゑソス 5.2. Client-resolver interface ソスNソスソスソスCソスAソスソスソスgソス|ソスソスソス]ソスソスソスoソスCソスソスソス^ソス[ソスtソスFソス[ソスX 5.2.1. Typical functions ソスTソス^ソスIソスネ機ソス\ 5.2.2. Aliases ソスハ厄ソス 5.2.3. Temporary failures ソス齊橸ソスIソスソスQ 5.3. Resolver internals ソスソスソス]ソスソスソスoソスフ難ソスソスソス 5.3.1. Stub resolvers ソスソス@ソス\ソスソスソス]ソスソスソスo 5.3.2. Resources ソスソスソスソス 5.3.3. Algorithm ソスAソスソスソスSソスソスソスYソスソス 6. A SCENARIO ソスリ擾ソスソスソス 6.1. C.ISI.EDU name server C.ISI.EDUソスlソス[ソスソスソスTソス[ソスo 6.2. Example standard queries ソスWソスソスソス竝ソスソス 6.2.1. QNAME=SRI-NIC.ARPA, QTYPE=A ソスソスソス笆シ=SRI-NIC.ARPA, ソスソスソスソス^ソスCソスv=A 6.2.2. QNAME=SRI-NIC.ARPA, QTYPE=* ソスソスソス笆シ=SRI-NIC.ARPA, ソスソスソスソス^ソスCソスv=* 6.2.3. QNAME=SRI-NIC.ARPA, QTYPE=MX ソスソスソス笆シ=SRI-NIC.ARPA, ソスソスソスソス^ソスCソスv=MX 6.2.4. QNAME=SRI-NIC.ARPA, QTYPE=NS ソスソスソス笆シ=SRI-NIC.ARPA, ソスソスソスソス^ソスCソスv=NS 6.2.5. QNAME=SIR-NIC.ARPA, QTYPE=A ソスソスソス笆シ=SIR-NIC.ARPA, ソスソスソスソス^ソスCソスv=A 6.2.6. QNAME=BRL.MIL, QTYPE=A ソスソスソス笆シ=BRL.MIL, ソスソスソスソス^ソスCソスv=A 6.2.7. QNAME=USC-ISIC.ARPA, QTYPE=A ソスソスソス笆シ=USC-ISIC.ARPA, ソスソスソスソス^ソスCソスv=A 6.2.8. QNAME=USC-ISIC.ARPA, QTYPE=CNAME ソスソスソス笆シ=USC-ISIC.ARPA, ソスソスソスソス^ソスCソスv=CNAME 6.3. Example resolution ソスソスソスソスソスソス 6.3.1. Resolve MX for ISI.EDU. ISI.EDUソスソスMXソスフ会ソスソスソス 6.3.2. Get the host name for address 26.6.0.65 ソスAソスhソスソスソスX26.6.0.65ソスフホソスXソスgソスソスソス得ゑソス 6.3.3. Get the host address of poneria.ISI.EDU poneria.ISI.EDUソスフホソスXソスgソスAソスhソスソスソスXソス得ゑソス 7. REFERENCES and BIBLIOGRAPHY ソスQソスlソスソスソスソスソスニ包ソスソスソスソスレ録 Index ソスソスソスソス
Network Working Group P. Mockapetris Request for Comments: 1034 ISI Obsoletes: RFCs 882, 883, 973 November 1987 DOMAIN NAMES - CONCEPTS AND FACILITIES ソスhソスソスソスCソスソスソスソス ソス| ソスTソスOソスニ機ソス\ 1. STATUS OF THIS MEMO 1. ソスソスソスフソスソスソスソスフ擾ソスソス This RFC is an introduction to the Domain Name System (DNS), and omits many details which can be found in a companion RFC, "Domain Names - Implementation and Specification" [RFC-1035]. That RFC assumes that the reader is familiar with the concepts discussed in this memo. ソスソスソスソスRFCソスヘドソスソスソスCソスソスソスlソス[ソスソスソスVソスXソスeソスソス(DNS)ソスフ紹会ソスナゑソスソスソスAソスヨ連ソスソスソスソスRFCソスuソスhソスソスソスCソスソス ソスソスソス|ソスソスソスソスソスニ仕ソスlソスソスソスv[RFC-1035]ソスノ記ソスレゑソスソストゑソスラ包ソスソスヘ擾ソスソスソスソストゑソスソスワゑソスソスソスBRFC1035ソスソス ソスヌ者ゑソスソスソスソスフソスソスソスソスナ論ソスソスソスソスソスTソスOソスノ撰ソスソスハゑソスソストゑソスソスソスニ想ソス閧オソスワゑソスソスB A subset of DNS functions and data types constitute an official protocol. The official protocol includes standard queries and their responses and most of the Internet class data formats (e.g., host addresses). ソスcソスmソスrソス@ソス\ソスニデソス[ソス^ソス^ソスCソスvソスフ一部ソスソスソスソスソスソスソスvソスソスソスgソスRソスソスソスナゑソスソスBソスソスソスソスソスvソスソスソスgソスRソスソスソスヘ標ソスソス ソス竝ソスソスソスニゑソスソスフ回答とほとゑソスヌのイソスソスソス^ソス[ソスlソスbソスgソスNソスソスソスXソスfソス[ソス^ソスtソスHソス[ソス}ソスbソスgソスソスソスワゑソス ソスワゑソスソスiソス痰ヲソスホ、ソスzソスXソスgソスAソスhソスソスソスXソスjソスB However, the domain system is intentionally extensible. Researchers are continuously proposing, implementing and experimenting with new data types, query types, classes, functions, etc. Thus while the components of the official protocol are expected to stay essentially unchanged and operate as a production service, experimental behavior should always be expected in extensions beyond the official protocol. Experimental or obsolete features are clearly marked in these RFCs, and such information should be used with caution. ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスヘ意図ソスIソスノ拡ソスソスツ能ソスナゑソスソスBソスソスソスソスソスメゑソスソスソスノ新ソスソスソスソスソスfソス[ソス^ソス^ソスCソスvソスソス ソス竝ソスソスソスソスハゑソスNソスソスソスXソスソス@ソス\ソスネどゑソスソストゑソスソスソスソスソスソスソスソスソスソスソスソスソスソストゑソスソスワゑソスソスBソスソスソスフゑソスソス゚鯉ソスソスソスソスv ソスソスソスgソスRソスソスソスフ難ソスソスeソスソスソス{ソスソスソスIソスノ変会ソスソスソスソストゑソスソスネゑソスソスソスソスpソスTソス[ソスrソスXソスニゑソスソスト機ソス\ソスソスソス驍アソスニゑソスソスソス ソスメゑソスソスソストゑソスソストゑソスソスAソスソスソスソスソスIソスネ行ソスソスソスソスソスソスノ鯉ソスソスソスソスvソスソスソスgソスRソスソスソスソスソスgソスソスソスソスソスト行ソスネゑソスソスソスニ思 ソスソスソスラゑソスソスナゑソスソスBソスソスソスソスソスIソスソスソスソスソスソスxソスソスフ機ソス\ソスヘゑソスソスソスRFCソスナ厄ソスソスソスソスソスソスワゑソスソスAソスソスソスフようソスネ擾ソスソス ソスノは抵ソスソスモゑソスソスラゑソスソスナゑソスソスB The reader is especially cautioned not to depend on the values which appear in examples to be current or complete, since their purpose is primarily pedagogical. Distribution of this memo is unlimited. ソスソス{ソスノ趣ソスソスソスソスlソスヘ具ソスソスソスIソスネ目的ソスナ記ソスレゑソスソストゑソスフで、ソスヌ者はゑソスソス黷ェソスソスソスンの値ソスナゑソスソスソスソス ソスソスソスソスソスソスソスソスソスlソスナゑソスソスソスニゑソスソスvソスソスネゑソスソス謔、ソスノ抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスBソスソスソスフソスソスソスソスフ配ソスzソスヘ厄ソスソスソス ソスソスソスナゑソスソスB 2. INTRODUCTION 2. ソスヘゑソスソス゚ゑソス This RFC introduces domain style names, their use for Internet mail and host address support, and the protocols and servers used to implement domain name facilities. ソスソスソスフRソスeソスbソスヘドソスソスソスCソスソスソスXソス^ソスCソスソスソスソスソス導難ソスソスソスソスAソスソスソスソスヘイソスソスソス^ソス[ソスlソスbソスgソスソスソス[ソスソスソスソスzソスX ソスgソスAソスhソスソスソスXソスソスソスソスソスソスhソスソスソスCソスソスソスソスソス@ソス\ソスソスソスgソスソスソスvソスソスソスgソスRソスソスソスソスTソス[ソスrソスXソスナ使ソスソスソスワゑソスソスB 2.1. The history of domain names 2.1. ソスhソスソスソスCソスソスソスソスソスフ暦ソスソスj The impetus for the development of the domain system was growth in the Internet: ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスフ開ソスソスソスフゑソスソスソスソスソスソスソスソスヘイソスソスソス^ソス[ソスlソスbソスgソスフ托ソスソスソスソスナゑソスソスソスソスF - Host name to address mappings were maintained by the Network Information Center (NIC) in a single file (HOSTS.TXT) which was FTPed by all hosts [RFC-952, RFC-953]. The total network bandwidth consumed in distributing a new version by this scheme is proportional to the square of the number of hosts in the network, and even when multiple levels of FTP are used, the outgoing FTP load on the NIC host is considerable. Explosive growth in the number of hosts didn't bode well for the future. - ソスzソスXソスgソスソスソスニアソスhソスソスソスXソスフ対会ソスソスヘネソスbソスgソスソスソス[ソスNソスソスソスZソスソスソス^ソス[(NIC)ソスナ維趣ソスソスソスソスソスA ソスソスソスソスヘ1ソスツのフソス@ソスCソスソス(HOSTS.TXT)ソスソスSソストのホソスXソスgソスソスFTPソスナ托ソスソス驍アソスニで行ソスソス ソストゑソスソスワゑソスソスソス[RFC-952,RFC-953]ソスBソスソスソスフ包ソスソス@ソスナ新ソスナゑソスzソス驍スソス゚に擾ソスソスさソス黷スソスS ソスフのネソスbソスgソスソスソス[ソスNソスoソスソスソスhソスソスソスヘネソスbソスgソスソスソス[ソスNソスzソスXソスgソスソスソスフ2ソスソスノ費ソス痰オソスワゑソスソスA ソスソスソスソスソスト托ソスソスiソスソスソスxソスソスソスフFソスsソスoソスソスソスgソストゑソスソストゑソスソスANICソスzソスXソスgソスフ外ソスヨゑソスFTPソスソスソスラはゑソス ソスネゑソスナゑソスソスBソスzソスXソスgソスソスソスフ費ソスソスソスソスIソスソスソスソスソスヘ擾ソスソスソスソスフ良ゑソスソスOソスソスソスナはゑソスソスソスワゑソスソスソスナゑソスソスソスソスB - The network population was also changing in character. The timeshared hosts that made up the original ARPANET were being replaced with local networks of workstations. Local organizations were administering their own names and addresses, but had to wait for the NIC to change HOSTS.TXT to make changes visible to the Internet at large. Organizations also wanted some local structure on the name space. - ソスlソスbソスgソスソスソス[ソスNソスソスソスpソスメの撰ソスソスiソスソスソスソスソスソスソスソスソスマ会ソスソスソスソストゑソスソスワゑソスソスソスソスBソスフゑソスARPANETソスソスソス\ソスソス ソスソスソスソスソス^ソスCソスソスソスVソスFソスAソスソスソスソスソスOソスzソスXソスgソスヘソスソス[ソスNソスXソスeソス[ソスVソスソスソスソスソスソスソスgソスソスソスソスソスソスソス[ソスJソスソスソスlソスb ソスgソスソスソス[ソスNソスナ置ソスソスソスソスソスソスソスソスソストゑソスソスワゑソスソスソスソスBソスソスソス[ソスJソスソスソスgソスDソスソスソスソスソスソスソスソスソスgソスフ厄ソスソスOソスニア ソスhソスソスソスXソスソスソスヌ暦ソスソスソスソストゑソスソスワゑソスソスソスソスAソスソスソスソスソスソスソスCソスソスソス^ソス[ソスlソスbソスgソスソスソス迪ゥソスソスソスソス謔、ソスノゑソスソスソス ソスノゑソスNICソスソスHOSTS.TXTソスソスソスマゑソスソスワで待ゑソスソスネゑソスソスソスホなゑソスワゑソスソスソスナゑソスソスソスソスBソスgソスDソスソス ソスソスソスOソスソスヤになゑソス轤ゥソスフソスソス[ソスJソスソスソスネ具ソスヤゑソス~ソスソスソストゑソスソスワゑソスソスソスソスB - The applications on the Internet were getting more sophisticated and creating a need for general purpose name service. - ソスCソスソスソス^ソス[ソスlソスbソスgソスソスフアソスvソスソスソスPソス[ソスVソスソスソスソスソスヘゑソスソステゑソスソスソスソスソスソスフになゑソスAソスト用ソスフネソス[ ソスソスソスTソス[ソスrソスXソスフ要ソスソスソスソスソスソスソスワゑソスワゑソスソスソスソスB The result was several ideas about name spaces and their management [IEN-116, RFC-799, RFC-819, RFC-830]. The proposals varied, but a common thread was the idea of a hierarchical name space, with the hierarchy roughly corresponding to organizational structure, and names using "." as the character to mark the boundary between hierarchy levels. A design using a distributed database and generalized resources was described in [RFC-882, RFC-883]. Based on experience with several implementations, the system evolved into the scheme described in this memo. ソスソスソスOソスソスヤとゑソスソスフ管暦ソスソスノ関ゑソスソス髏費ソスXソスフアソスCソスfソスAソスソスソスoソスワゑソスソスソス[IEN-116, RFC-799, RFC-819, RFC-830]ソスBソスソストはゑソスソスいソスソスマゑソスソスワゑソスソスソスソスソスソスAソスKソスwソスIソスネ厄ソスソスOソスソスヤゑソスソスgソスソス ソスソスソスニと、ソスKソスwソスソスソスgソスDソスノ対会ソスソスソスソスソスソス\ソスソスソスノゑソスソス骼厄ソスニ、ソスソスソスOソスソス"."ソスフ包ソスソスソスソスソスソスgソスソスソスKソスwソスソス ソスソスリゑソスニゑソスソス驍アソスニゑソスソスAソスソスソスハ認ソスソスソスニなゑソスワゑソスソスソスソスBソスソスソスUソスfソス[ソス^ソスxソス[ソスXソスニ茨ソスハ会ソスソスソスソス黷ス ソスソスソスソスソスソスソスgソスソスソスfソスUソスCソスソスソスソス[RFC-882, RFC-883]ソスナ記ソスqソスソスソスソスワゑソスソスソスソスBソスソスソスソスソスツゑソスソスフ趣ソスソスソスソスo ソスソスソスノ奇ソステゑソスソスト、ソスVソスXソスeソスソスソスヘゑソスソスフソスソスソスソスナ記ソスqソスソスソス黷スソス`ソスノ費ソスソスWソスソスソスワゑソスソスソスソスB The terms "domain" or "domain name" are used in many contexts beyond the DNS described here. Very often, the term domain name is used to refer to a name with structure indicated by dots, but no relation to the DNS. This is particularly true in mail addressing [Quarterman 86]. ソスpソスソスuソスhソスソスソスCソスソスソスvソスソスソス驍「ソスヘ「ソスhソスソスソスCソスソスソスソスソスvソスソスソスソスソスソスソスナ記ソスqソスソスソス黷スソスcソスmソスrソスネ外ソスナ托ソスソスソス ソスフ包ソスソスソスソスナ使ソスソスソスワゑソスソスBソスソスソスノよくソスAソスhソスソスソスCソスソスソスソスソスニゑソスソスソスソスpソスソスヘDソスmソスrソスフ関係ソスナはゑソス ソスソスソスAソス_ソスナ具ソスリゑソス黷スソス\ソスソスソスフ厄ソスソスOソスノ使ソスソスソスワゑソスソスBソスソスソスソスヘソスソス[ソスソスソスAソスhソスソスソスXソスナ難ソスソスノ本ソスソス ソスナゑソス[Quarterman 86]ソスB 2.2. DNS design goals 2.2. ソスcソスmソスrソス\ソスzソスフ目標 The design goals of the DNS influence its structure. They are: ソスcソスmソスrソス\ソスzソスフ目標ソスヘゑソスソスフ構ソスソスソスノ影ソスソスソスソス^ソスソスソスワゑソスソスBソスソスソスソスヘ: - The primary goal is a consistent name space which will be used for referring to resources. In order to avoid the problems caused by ad hoc encodings, names should not be required to contain network identifiers, addresses, routes, or similar information as part of the name. - ソスソスvソスネ目標ソスヘ趣ソスソスソスソスソスソスQソスニゑソスソスソスフに使ソスソスソスソスムゑソスソスソスソスソスソスOソスソスヤでゑソスソスBソスソスソスハなコソス[ ソスfソスBソスソスソスOソスノゑソスソスNソスソスソスソスソスソスソスソスソスソスソス驍スソス゚に、ソスソスソスOソスフ一部ソスノネソスbソスgソスソスソス[ソスNソスソス ソスハ子ソスAソスAソスhソスソスソスXソスAソスソスソス[ソスgソスAソスソスソス驍「ソスヘ類趣ソスソスフ擾ソスソスソスソスワむようソスノ要ソスソスソスソスソスソスソスソス ソスソスソスナはゑソスソスソスワゑソスソスソスB - The sheer size of the database and frequency of updates suggest that it must be maintained in a distributed manner, with local caching to improve performance. Approaches that attempt to collect a consistent copy of the entire database will become more and more expensive and difficult, and hence should be avoided. The same principle holds for the structure of the name space, and in particular mechanisms for creating and deleting names; these should also be distributed. - ソスfソス[ソス^ソスxソス[ソスXソスフ費ソスソスソスソス蛯ォソスソスソスニ更ソスVソスフ頻ソスxソスヘ、ソスfソス[ソス^ソスxソス[ソスXソスソスソスソスソスUソスIソスノ管暦ソス ソスソスソスソスネゑソスソスソスホなゑソスネゑソスソスソスソスニゑソスソスソスソスソスソスソスソスAソスソスソス[ソスJソスソスソスLソスソスソスbソスVソスソスソスソスソスソスソス\ソスソスソスソスソスPソスソス ソスワゑソスソスBソスSソスソスソスフデソス[ソス^ソスxソス[ソスXソスフ奇ソスソスSソスネコソスsソス[ソスソスソスWソス゚ゑソスソスソス@ソスヘ搾ソスソスソスソスツゑソスソスソスソスし ソスソスソスフで費ソスソスソスソスソスラゑソスソスナゑソスソスBソスソスソスソスソスソスソスヘ厄ソスソスOソスソスヤの構ソスソスソスナゑソスソス^ソスソスソスナ、ソスソスソスノ厄ソスソスOソスソス ソスソスソスフと削除ソスソスソスソスソスソス@ソスヘ、ソスソスソスソスソスソスソスソスUソスソスソスト行ソスソスソスソスラゑソスソスナゑソスソスB - Where there tradeoffs between the cost of acquiring data, the speed of updates, and the accuracy of caches, the source of the data should control the tradeoff. - ソスfソス[ソス^ソスlソスソスソスフコソスXソスgソスニ更ソスVソスフ托ソスソスソスソスニキソスソスソスbソスVソスソスソスフ撰ソスソスmソスソスソスフトソスソスソス[ソスhソスIソスtソスソス ソスソスソスソスAソスfソス[ソス^ソスソスソスソスソスソスソスソスソスgソスソスソス[ソスhソスIソスtソスソスソスRソスソスソスgソスソスソス[ソスソスソスソスソスソスラゑソスソスナゑソスソスB - The costs of implementing such a facility dictate that it be generally useful, and not restricted to a single application. We should be able to use names to retrieve host addresses, mailbox data, and other as yet undetermined information. All data associated with a name is tagged with a type, and queries can be limited to a single type. - ソスソスソスフようソスネ機ソス\ソスソスソスソスソスソスソスソスソスソスRソスXソスgソスヘ、ソスソスソス黷ェソスミとつのアソスvソスソスソスPソス[ソスVソスソスソスソスソスソス ソスソスソス閧ウソス黷クソスAソスソスハ的ソスノ有ソスpソスネゑソスソスニゑソスKソスvソスニゑソスソスワゑソスソスBソスソスソスOソスソスソスzソスXソスgソスAソスhソスソスソスX ソスニソスソス[ソスソスソス{ソスbソスNソスXソスfソス[ソス^ソスニ托ソスソスフまゑソスソスソスソスンゑソスソスネゑソスソスソスソスソスソスソスソスソスソスソスソス驍スソス゚の厄ソスソスO ソスノ暦ソスソスpソスツ能ソスナゑソスソスソスラゑソスソスナゑソスソスBソスソスソス髢シソスOソスニ関連ソスソスソスソスSソストのデソス[ソス^ソスソスソスソスハ札ソスソス ソスツゑソスソスソスソスAソス竝ソスソスソスソスソスPソスツの札ソスノ鯉ソスソスソスナゑソスソスワゑソスソスB - Because we want the name space to be useful in dissimilar networks and applications, we provide the ability to use the same name space with different protocol families or management. For example, host address formats differ between protocols, though all protocols have the notion of address. The DNS tags all data with a class as well as the type, so that we can allow parallel use of different formats for data of type address. - ソスソスXソスソスソスルなゑソスlソスbソスgソスソスソス[ソスNソスニアソスvソスソスソスPソス[ソスVソスソスソスソスソスナ暦ソスソスpソスナゑソスソス髢シソスOソスソスヤゑソス~ ソスソスソスソスフで、ソスソスXソスヘ異なゑソスvソスソスソスgソスRソスソスソスtソス@ソス~ソスソスソス[ソスソスヌ暦ソスソスナ難ソスソスソスソスソスソスOソスソスヤゑソスソスg ソスソスソス\ソスヘに提供ゑソスソスワゑソスソスBソス痰ヲソスホ、ソスzソスXソスgソスAソスhソスソスソスXソスtソスHソス[ソス}ソスbソスgソスヘプソスソスソスgソスRソスソス ソスソスソスノ異なゑソスワゑソスソスソスソスAソスソスソスラてのプソスソスソスgソスRソスソスソスソスソスAソスhソスソスソスXソスフ考ソスソスソスソスソスソスソスソスソスワゑソスソスBソスc ソスmソスrソスヘデソス[ソス^ソスノ趣ソスハ札ソスソスソスソスソスナなゑソスソスNソスソスソスXソスDソスソスソスツゑソスソスワゑソスソスAソスソスソスソスナ会ソスXソスヘ異なゑソス ソスソスソスtソスHソス[ソス}ソスbソスgソスフアソスhソスソスソスXソスソスハデソス[ソス^ソス平行ソスソスソスト茨ソスソスソスソスワゑソスソスB - We want name server transactions to be independent of the communications system that carries them. Some systems may wish to use datagrams for queries and responses, and only establish virtual circuits for transactions that need the reliability (e.g., database updates, long transactions); other systems will use virtual circuits exclusively. - ソスソスXソスヘネソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスソスソスソスソスソス^ソスヤ通信ソスVソスXソスeソスソスソスソスソスソスニ暦ソスソスソスソストゑソスソス驍アソスソス ソスソス]ソスンまゑソスソスBソスソスソスソスVソスXソスeソスソスソスソスソス竝ソスソスソスニ回答にデソス[ソス^ソスOソスソスソスソスソスソスソスgソスソスソスAソスソスソスソスソスソス ソスMソスソスソスソスソスソスソスKソスvソスネ擾ソスソスソスソスノゑソスソスソスソスソスソスzソスソスHソスソスレ托ソスソスソスソスソスフゑソス]ソズゑソスソスソスソスソスソスソスワゑソスソスソス ソスiソス痰ヲソスホ、ソスfソス[ソス^ソスxソス[ソスXソスXソスVソスAソスソスソスソスソスソスソスソスソスjソスGソスソスソスフシソスXソスeソスソスソスソスソスrソスソスソスIソスノ会ソスソスz ソスフ会ソスHソスソスソスgソスソスソスナゑソスソス蛯、ソスB - The system should be useful across a wide spectrum of host capabilities. Both personal computers and large timeshared hosts should be able to use the system, though perhaps in different ways. - ソスVソスXソスeソスソスソスヘ様ソスXソスネ能ソスヘのホソスXソスgソスナ使ソスソスソスソスラゑソスソスナゑソスソスBソスpソス[ソス\ソスiソスソスソスEソスRソスソスソスsソスソスソス[ ソス^ソスニ大きソスネタソスCソスソスソスVソスFソスAソスソスソスソスソスOソスzソスXソスgソスフ暦ソスソスソスソスソスソスAソスソスソスソスソスルなゑソスソスソスソスソスソス@ソスナゑソスソスソスソスA ソスVソスXソスeソスソスソスソスソスgソスソスソスソスラゑソスソスナゑソスソスB 2.3. Assumptions about usage 2.3. ソスソスソスpソスノ関ゑソスソス驩シソスソス The organization of the domain system derives from some assumptions about the needs and usage patterns of its user community and is designed to avoid many of the the complicated problems found in general purpose database systems. ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスフ組ソスDソスヘ、ソスソスソス[ソスUソスソスソスソスソスフの要ソスソスソスニ使ソスソスソスソスソスフパソス^ソス[ソスソスソスノゑソスソス驩シソスソス ソスソスソスソスソスAソスソスハ的ソスネ目的ソスフデソス[ソス^ソスxソス[ソスXソスVソスXソスeソスソスソスフ包ソスソスGソスネ厄ソスソスソスソスソスソスソストゑソスソスワゑソスソスB The assumptions are: ソスソスソスフ会ソスソスソスヘ: - The size of the total database will initially be proportional to the number of hosts using the system, but will eventually grow to be proportional to the number of users on those hosts as mailboxes and other information are added to the domain system. - ソスソスソスSソスネデソス[ソス^ソスxソス[ソスXソスフ大きソスソスソスヘ、ソスソスソスソスソスヘシソスXソスeソスソスソスソスソスgソスソスソスzソスXソスgソスソスソスノ費ソス痰キ ソスソスナゑソスソス蛯、ソスソスソスAソスナ終ソスIソスノはソスソス[ソスソスソス{ソスbソスNソスXソス竭シソスフ擾ソスがドソスソスソスCソスソスソスVソスXソスeソスソス ソスノ追会ソスソスソスソスソスソスフで、ソスzソスXソスgソスソスフソスソス[ソスUソス[ソスソスソスノ費ソス痰オソストゑソスソスソスソスナゑソスソス蛯、ソスB - Most of the data in the system will change very slowly (e.g., mailbox bindings, host addresses), but that the system should be able to deal with subsets that change more rapidly (on the order of seconds or minutes). - ソスVソスXソスeソスソスソスフデソス[ソス^ソスフ大部ソスソスソスソスソスソスソスノゑソスソスソスソスソスソスニ変会ソスソスソスソスソスナゑソスソス蛯、ソスiソス痰ヲソスホ、 ソスソスソス[ソスソスソス{ソスbソスNソスXソスソスソスソスソスト、ソスzソスXソスgソスAソスhソスソスソスXソスjソスソスソスAソスVソスXソスeソスソスソスフゑソスソス髟費ソスソスソスナは急 ソスソスソスノ変会ソスソスソスソスソスfソス[ソス^ソスソスソスソスソスソスソスソスラゑソスソスナゑソスソス蛯、ソスiソスbソスPソスハや分ソスPソスハの変会ソスソスjソスB - The administrative boundaries used to distribute responsibility for the database will usually correspond to organizations that have one or more hosts. Each organization that has responsibility for a particular set of domains will provide redundant name servers, either on the organization's own hosts or other hosts that the organization arranges to use. - ソスfソス[ソス^ソスxソス[ソスXソスフ包ソスソスUソスソスソスソスソスモ厄ソスソスフ管暦ソスソスソスソスEソスヘ通擾ソスPソスツ以擾ソスフホソスXソスgソスソスソスソスソスツ組 ソスDソスノ対会ソスソスソスソスソスナゑソスソス蛯、ソスBソスhソスソスソスCソスソスソスソスソス髟費ソスソスソスノ責任ソスソスソスソスソスツ組ソスDソスヘ、ソスソスソスソスソスソスソスg ソスナまゑソスソスヘゑソスソスフ組ソスDソスソスソスgソスソスソスソス謔、ソスノ撰ソスソスソスソスソス黷スソスzソスXソスgソスナ、ソスdソスソスソスソスソスソスソスlソス[ソスソスソスTソス[ ソスoソス[ソスソスソスソスソスソスソスソスソスソスナゑソスソス蛯、ソスB - Clients of the domain system should be able to identify trusted name servers they prefer to use before accepting referrals to name servers outside of this "trusted" set. - ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスフクソスソスソスCソスAソスソスソスgソスヘ、ソスMソスソスソスナゑソスソスソスlソス[ソスソスソスTソス[ソスoソスネ外ソスノ照会ソス ソスソスソスソスソスソスOソスノ、ソスMソスソスソスナゑソスソスソスlソス[ソスソスソスTソス[ソスoソスフ趣ソスソスハゑソスソスツ能ソスニゑソスソスソスラゑソスソスナゑソスソスB - Access to information is more critical than instantaneous updates or guarantees of consistency. Hence the update process allows updates to percolate out through the users of the domain system rather than guaranteeing that all copies are simultaneously updated. When updates are unavailable due to network or host failure, the usual course is to believe old information while continuing efforts to update it. The general model is that copies are distributed with timeouts for refreshing. The distributor sets the timeout value and the recipient of the distribution is responsible for performing the refresh. In special situations, very short intervals can be specified, or the owner can prohibit copies. - ソスソスソスヨのアソスNソスZソスXソスヘ瞬ソスヤ的ソスネ更ソスVソスAソスソスソスソスソスム撰ソスソスフ保証ゑソスソスdソスvソスナゑソスソスBソスソスソスソス ソスソスソス゚更ソスVソスvソスソスソスZソスXソスヘ、ソスソストに更ソスVソスソスソスsソスソスソスフではなゑソスソスAソスソスソスソスソステつドソスソスソスCソスソスソスV ソスXソスeソスソスソスソスソス[ソスUソスヨ更ソスVソスソスソスsソスソスソスソスソスニゑソスソスソスソスソスソスワゑソスソスBソスlソスbソスgソスソスソス[ソスNソスヘホソスXソスgソスフ擾ソスQ ソスナ更ソスVソスソスソスoソスソスソスネゑソスソスニゑソスソスヘ、ソスfソス[ソス^ソスXソスVソスフ努ソスヘゑソスソスソスソスソスヤ、ソステゑソスソスソスソスソスMソスソスソスソス ソスヘゑソスソスナゑソスソスBソスソスハ的ソスネソスソスfソスソスソスヘデソス[ソス^ソスフコソスsソス[ソスソスソスXソスVソスソスソス驍スソス゚のタソスCソスソスソスAソスE ソスgソスlソスニ一緒ソスノ配ソスzソスソスソスソス驍アソスニでゑソスソスBソスzソスzソスソスソスヘタソスCソスソスソスAソスEソスgソスlソスソスソスツゑソスソスAソスソス ソスソス闡、ソスヘ更ソスVソスソスソスsソスソスソスモ任ソスソスソスソスソスソスワゑソスソスBソスソスソスハ場合ソスAソスニてゑソスソスZソスソスソスヤ隔ソスソスソスwソス閧オ ソスソスソスソスAソスRソスsソス[ソスソスソスヨ止ソスソスソス驍アソスニゑソスソスナゑソスソスワゑソスソスB - In any system that has a distributed database, a particular 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 for the client at another server, and "iterative", in which the server refers the client to another server and lets the client pursue the query. Both approaches have advantages and disadvantages, but the iterative approach is preferred for the datagram style of access. The domain system requires implementation of the iterative approach, but allows the recursive approach as an option. - ソスソスソスUソスfソス[ソス^ソスxソス[ソスXソスソスソスソスソスツシソスXソスeソスソスソスノは、ソスソスソスフネソス[ソスソスソスTソス[ソスoソスナなゑソスソスニ難ソスソスソスソスソス ソスソスネゑソスソス竝ソスソスソスソスソスソスソス驍ゥソスソスソスソスソスソスワゑソスソスソスBソスソスソスフ厄ソスソスソスソスソスソスソスソスQソスツの茨ソスハ的ソスネ包ソスソス@ ソスヘ、ソスナ擾ソスソスフサソス[ソスoソス[ソスソスソスソスソスフサソス[ソスoソス[ソスヨクソスソスソスCソスAソスソスソスgソスフ問合ソスソスソス]ソスソスソスソスソスソスuソスソス ソスAソスvソスニ、ソスTソス[ソスoソスソスソスNソスソスソスCソスAソスソスソスgソスノ托ソスソスフサソス[ソスoソスソスソスソスソスソスソスト問合ソスソスソスソスソスソスソスネゑソスソスソスソスソス ソスソスuソスソスソスソスソスvソスナゑソスソスBソスソスソスソスソスフ包ソスソス@ソスニゑソスソスソスソス_ソスニ鯉ソスソス_ソスソスソスソスソスソスソスワゑソスソスソスソスAソスソスソスソスソスフ包ソスソス@ソスソス ソスfソス[ソス^ソスOソスソスソスソスソスナのアソスNソスZソスXソスノ鯉ソスソスソスソストゑソスソスワゑソスソスBソスhソスソスソスCソスソスソスVソスXソスeソスソスソスヘ費ソスソスソスソスフ包ソス ソス@ソスフ趣ソスソスソスソスソスKソスvソスニゑソスソスワゑソスソスソスソスAソスIソスvソスVソスソスソスソスソスナ再帰ソスソスソスソスソスソスソスワゑソスソスB The domain system assumes that all data originates in master files scattered through the hosts that use the domain system. These master files are updated by local system administrators. Master files are text files that are read by a local name server, and hence become available through the name servers to users of the domain system. The user programs access name servers through standard programs called resolvers. ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスヘゑソスソスラてのデソス[ソス^ソスソスソスソスソスソスソスソスソスソスソスノ散ソスソスホゑソスhソスソスソスCソスソスソスVソスXソスeソスソスソスソスソスg ソスソスソスzソスXソスgソスフマソスXソス^ソス[ソスtソス@ソスCソスソスソスソスソスソスnソスワゑソスニ想ソス閧オソスワゑソスソスBソスソスソスソスソスフマソスXソス^ソス[ソスtソス@ソスC ソスソスソスヘソスソス[ソスJソスソスソスVソスXソスeソスソスソスヌ暦ソスソスメにゑソスソスソスト更ソスVソスソスソスソスワゑソスソスBソス}ソスXソス^ソス[ソスtソス@ソスCソスソスソスヘソスソス[ソスJ ソスソスソスlソス[ソスソスソスTソス[ソスoソス[ソスノ読まゑソスソスeソスLソスXソスgソスtソス@ソスCソスソスソスナゑソスソスソスAソスlソス[ソスソスソスTソス[ソスoソスソスハゑソスソストド ソスソスソスCソスソスソスVソスXソスeソスソスソスフソスソス[ソスUソス[ソスノ難ソスソスソスツ能ソスノなゑソスワゑソスソスBソスソスソス[ソスUソス[ソスvソスソスソスOソスソスソスソスソスヘソスソス]ソスソス ソスoソスニ呼ばゑソスソスWソスソスソスvソスソスソスOソスソスソスソスソスソスハゑソスソストネソス[ソスソスソスTソス[ソスoソス[ソスノアソスNソスZソスXソスソスソスワゑソスソスB The standard format of master files allows them to be exchanged between hosts (via FTP, mail, or some other mechanism); this facility is useful when an organization wants a domain, but doesn't want to support a name server. The organization can maintain the master files locally using a text editor, transfer them to a foreign host which runs a name server, and then arrange with the system administrator of the name server to get the files loaded. ソス}ソスXソス^ソス[ソスtソス@ソスCソスソスソスフ標ソスソスソスtソスHソス[ソス}ソスbソスgソスヘ、ソス}ソスXソス^ソス[ソスtソス@ソスCソスソスソスソスソスzソスXソスgソスヤで鯉ソスソスソスソスソス ソス驍アソスニゑソスソスツ能ソスノゑソスソスワゑソスソスiFTPソス窿ソス[ソスソスソス竕スソスソスソスソスソスフ包ソスソス@ソスナ)ソスGソスソスソスフ包ソスソス@ソスヘ組ソスDソスソスソスh ソスソスソスCソスソスソスヘ欲ソスソスソスソスソスソスソスlソス[ソスソスソスTソス[ソスoソスフ運ソスpソスソスソスソスソスソスソスソスソスネゑソスソスニゑソスソスノ有ソスpソスナゑソスソスBソスgソスDソスヘテソスL ソスXソスgソスGソスfソスBソス^ソスソスソスgソスソスソストソスソス[ソスJソスソスソスノマソスXソス^ソス[ソスtソス@ソスCソスソスソスソスソスヌ暦ソスソスソスソスAソスソスソスソスソスソスlソス[ソスソスソスTソス[ ソスoソス動ゑソスソスソスソスソスソスフホソスXソスgソスノ移ゑソスソスAソスソスソスノネソス[ソスソスソスTソス[ソスoソスフシソスXソスeソスソスソスヌ暦ソスソスメゑソスソスtソス@ソスCソスソスソスソス ソスソスソス[ソスhソスナゑソスソスソス謔、ソスノゑソスソスワゑソスソスB Each host's name servers and resolvers are configured by a local system administrator [RFC-1033]. For a name server, this configuration data includes the identity of local master files and instructions on which non-local master files are to be loaded from foreign servers. The name server uses the master files or copies to load its zones. For resolvers, the configuration data identifies the name servers which should be the primary sources of information. ソスeソスzソスXソスgソスフネソス[ソスソスソスTソス[ソスoソスニソスソス]ソスソスソスoソスヘソスソス[ソスJソスソスソスVソスXソスeソスソスソスヌ暦ソスソスメゑソスソスン定しソスワゑソス [RFC-1033]ソスBソスlソス[ソスソスソスTソス[ソスoソスフ設抵ソスfソス[ソス^ソスノはソスソス[ソスJソスソスソス}ソスXソス^ソス[ソスtソス@ソスCソスソスソスフ趣ソスソスハと、 ソスソスソス[ソスJソスソスソスナなゑソスソス}ソスXソス^ソス[ソスtソス@ソスCソスソスソス他のサソス[ソスoソスソスソスソスヌ搾ソスソズ指ソス゚ゑソスソスワみまゑソスソスBソスlソス[ ソスソスソスTソス[ソスoソス[ソスヘゾソス[ソスソスソスソスヌ搾ソスソズのにマソスXソス^ソス[ソスtソス@ソスCソスソスソスソスソスソスソスフコソスsソス[ソスソスソスgソスソスソスワゑソスソスBソスソス ソス]ソスソスソスoソスフ設抵ソスfソス[ソス^ソスヘ擾ソスソスフ趣ソスネ擾ソス源でゑソスソスソスlソス[ソスソスソスTソス[ソスoソスソスソスソスソスハゑソスソスソスfソス[ソス^ソスソス ソスワみまゑソスソスB The domain system defines procedures for accessing the data and for referrals to other name servers. The domain system also defines procedures for caching retrieved data and for periodic refreshing of data defined by the system administrator. ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスヘデソス[ソス^ソスAソスNソスZソスXソスニ托ソスソスフネソス[ソスソスソスTソス[ソスoソスフ参ソスニの手順ソスソスソス`ソスソスソスソス ソスソスソスBソスhソスソスソスCソスソスソスVソスXソスeソスソスソスヘキソスソスソスbソスVソスソスソスニシソスXソスeソスソスソスヌ暦ソスソスメに指ソス閧ウソス黷スソスfソス[ソス^ソスソスソスソスソスX ソスVソスフ手順ソスソスソスソス`ソスソスソスワゑソスソスB The system administrators provide: ソスVソスXソスeソスソスソスヌ暦ソスソスメゑソスソスpソスモ: - The definition of zone boundaries. - ソス]ソス[ソスソスソスソスソスEソスフ抵ソス` - Master files of data. - ソスfソス[ソス^ソスフマソスXソス^ソス[ソスtソス@ソスCソスソス - Updates to master files. - ソス}ソスXソス^ソス[ソスtソス@ソスCソスソスソスフ更ソスV - Statements of the refresh policies desired. - ソスvソスソスソスソスソス驛奇ソスtソスソスソスbソスVソスソスソス|ソスソスソスVソス[ソスフ撰ソスソスソス The domain system provides: ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスフ提供: - Standard formats for resource data. - ソスソスソス\ソス[ソスXソスfソス[ソス^ソスフ標ソスソスソスtソスHソス[ソス}ソスbソスgソスB - Standard methods for querying the database. - ソスfソス[ソス^ソスxソス[ソスXソスノ問合ソスソスソスフ標ソスソスソスソスソス@ソスB - Standard methods for name servers to refresh local data from foreign name servers. - ソスlソス[ソスソスソスTソス[ソスoソス[ソスソスソスソスソスフネソス[ソスソスソスTソス[ソスoソスソスソス逑セソスソスソスソスソス[ソスJソスソスソスfソス[ソス^ソスソスソスXソスVソスソスソスソスW ソスソスソスソスソス@ソスB 2.4. Elements of the DNS 2.4. ソスcソスmソスrソスフ要ソスf The DNS has three major components: ソスcソスmソスrソスノは3ソスツの趣ソスvソスネ構ソスソスソスvソスfソスソスソスソスソスソスワゑソスソスF - The DOMAIN NAME SPACE and RESOURCE RECORDS, which are specifications for a tree structured name space and data associated with the names. Conceptually, each node and leaf of the domain name space tree names a set of information, and query operations are attempts to extract specific types of information from a particular set. A query names the domain name of interest and describes the type of resource information that is desired. For example, the Internet uses some of its domain names to identify hosts; queries for address resources return Internet host addresses. - ソスリ構ソスソスソスソスソスhソスソスソスCソスソスソスソスソスソスソスソスニ厄ソスソスOソスニ鯉ソスソスムつゑソスソスソスソスソスソスソスソスソスソスRソス[ソスhソスフ仕ソスlソスBソスTソスOソスI ソスノ、ソスhソスソスソスCソスソスソスリのノソス[ソスhソスニソスソス[ソスtソスソスソスソスソスフ厄ソスソスOソスナ、ソス竝ソスソスソスヘ難ソスソスソスフ擾ソスソスソス ソスハを抽出ソスソスソス骼趣ソスンでゑソスソスBソス竝ソスソスソスソスソスソスソスソスソスソスソスソスソスツドソスソスソスCソスソスソスソスソスソスソスwソス閧オソスAソスvソス]ソスソス ソス骼托ソスソスソスソスソスフ趣ソスハゑソスソスwソス閧オソスワゑソスソスBソス痰ヲソスホ、ソスCソスソスソス^ソス[ソスlソスbソスgソスヘホソスXソスgソスソスソスソスソスソス ソスソスソスソスhソスソスソスCソスソスソスソスソスソスソスgソスソスソスAソスAソスhソスソスソスXソスソスソスソスソスソス竝ソスソスソスAソスCソスソスソス^ソス[ソスlソスbソスgソスzソスXソスgソスA ソスhソスソスソスXソス得まゑソスソスB - NAME SERVERS are server programs which hold information about the domain tree's structure and set information. A name server may cache structure or set information about any part of the domain tree, but in general a particular name server has complete information about a subset of the domain space, and pointers to other name servers that can be used to lead to information from any part of the domain tree. Name servers know the parts of the domain tree for which they have complete information; a name server is said to be an AUTHORITY for these parts of the name space. Authoritative information is organized into units called ZONEs, and these zones can be automatically distributed to the name servers which provide redundant service for the data in a zone. - ソスlソス[ソスソスソスTソス[ソスoソスヘドソスソスソスCソスソスソスリ構ソスソスソスニ擾ソスソスソスソスソスソスツサソス[ソスoソス[ソスvソスソスソスOソスソスソスソスソスナゑソスソスBソスlソス[ ソスソスソスTソス[ソスoソス[ソスソスソスhソスソスソスCソスソスソスリのゑソスソス髟費ソスソスソスフ構ソスソスソスソスソスソスソスソスLソスソスソスbソスVソスソスソスナゑソスソスワゑソスソスA ソスソスソスソスソスソスソスソスハにゑソスソスソスlソス[ソスソスソスTソス[ソスoソスヘドソスソスソスCソスソスソスソスヤのゑソスソス髟費ソスソスソスリの奇ソスソスSソスネ擾ソスソス ソスニ、ソスソスソスフ包ソスソスソスソスノゑソスソスソスソスソス導ゑソスソス|ソスCソスソスソス^ソスソスソスソスソスソスソスワゑソスソスBソスlソス[ソスソスソスTソス[ソスoソス[ソスソスソスh ソスソスソスCソスソスソスリの一部ソスソスmソスソスソストゑソスソスト、ソスソスソスフ包ソスソスソスソスフ奇ソスソスSソスネ擾ソスソスソスソスソスソスソスソスワゑソスソスGソスlソス[ソスソス ソスTソス[ソスoソスソスソスソスソスOソスソスヤのゑソスソスフ包ソスソスソスソスソスソスソスソスミ(ソスソスソスソスソスjソスニ鯉ソスソスソスソスワゑソスソスBソスソスソスソスソスソスソス ソス]ソス[ソスソスソスニ鯉ソスソスソスソスソスPソスハで構ソスソスソスソスソスソスAソス]ソス[ソスソスソスヘ、ソス]ソス[ソスソスソスフデソス[ソス^ソスソスソスdソスソスソスソスソスソス ソスソスソスツネソス[ソスソスソスTソス[ソスoソス[ソスヨ趣ソスソスソスソスIソスノ配ソスzソスソスソスソスワゑソスソスB - RESOLVERS are programs that extract information from name servers in response to client requests. Resolvers must be able to access at least one name server and use that name server's information to answer a query directly, or pursue the query using referrals to other name servers. A resolver will typically be a system routine that is directly accessible to user programs; hence no protocol is necessary between the resolver and the user program. - ソスソスソス]ソスソスソスoソスヘクソスソスソスCソスAソスソスソスgソスフ問合ソスソスソスノ会ソスソスソスソストネソス[ソスソスソスTソス[ソスoソスソスソスソスソスソス抽出ソスソス ソスソスvソスソスソスOソスソスソスソスソスナゑソスソスBソスソスソス]ソスソスソスoソスヘ擾ソスソスネゑソスソスニゑソスソスPソスツのネソス[ソスソスソスTソス[ソスoソスノアソスNソスZソスX ソスソスソスト、ソスlソス[ソスソスソスTソス[ソスoソスフ擾ソスソス直接問合ソスソスソスノ難ソスソスソスソス驍ゥソスAソスソスソス驍「ソスヘ托ソスソスフネソス[ソスソス ソスTソス[ソスoソスソスソスミ介さソスソス竝ソスソスソスソスソスソスソス驍アソスニゑソスソスナゑソスソスネゑソスソスソスホなゑソスワゑソスソスソスBソスTソス^ソスIソスソス ソスソスソス]ソスソスソスoソスソスソスソスソスレソスソス[ソスUソス[ソスvソスソスソスOソスソスソスソスソスソスソスAソスNソスZソスXソスナゑソスソスソスVソスXソスeソスソスソスソスソス[ソス`ソスソスソスソス ソスソスソスGソスソスソスフゑソスソス゚ソスソス]ソスソスソスoソスニソスソス[ソスUソス[ソスvソスソスソスOソスソスソスソスソスヤのプソスソスソスgソスRソスソスソスヘ必ソスvソスナゑソスソスソス ソスワゑソスソスソスB These three components roughly correspond to the three layers or views of the domain system: ソスソスソスソスソスフ3ソスツの構ソスソスソスvソスfソスヘゑソスソスソスソスソスソスソスソスhソスソスソスCソスソスソスVソスXソスeソスソスソスフ3ソスツのソスソスCソスソスソスソスソス驍「ソスソス ソスマ点ソスノ対会ソスソスソスソスワゑソスソスF - From the user's point of view, the domain system is accessed through a simple procedure or OS call to a local resolver. The domain space consists of a single tree and the user can request information from any section of the tree. - ソスソスソス[ソスUソス[ソスフ観点ソスナ、ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスヘソスソス[ソスJソスソスソスソスソス]ソスソスソスoソスヨの単ソスソスソスネ擾ソスソスソス ソスソスOSソスト出ソスソスソスソスハゑソスソストアソスNソスZソスXソスソスソスソスワゑソスソスBソスhソスソスソスCソスソスソスソスヤは1ソスツの木ゑソスソスソスネゑソスA ソスソスソス[ソスUソス[ソスヘ木のどゑソスネ包ソスソスソスソスソスソスソスナゑソスソスソスソスソスソスソスソス゚るこソスニゑソスソスナゑソスソスワゑソスソスB - From the resolver's point of view, the domain system is composed of an unknown number of name servers. Each name server has one or more pieces of the whole domain tree's data, but the resolver views each of these databases as essentially static. - ソスソスソス]ソスソスソスoソスフ観点ソスナ、ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスヘ撰ソスソスソスソスリゑソスネゑソスソスlソス[ソスソスソスTソス[ソスoソスナ構ソスソス ソスソスソスソストゑソスソスワゑソスソスBソスeソスlソス[ソスソスソスTソス[ソスoソスソスソスSソスhソスソスソスCソスソスソスリデソス[ソス^ソスフ難ソスソスフゑソスソスソスソスツゑソスソスフ包ソス ソスソスソスソスソスソスソスソスソストゑソスソスワゑソスソスソスソスAソスソスソス]ソスソスソスoソスヘ各ソスfソス[ソス^ソスxソス[ソスXソスソスソス{ソスソスソスIソスノ静的ソスニ鯉ソスソスワゑソスソスB - From a name server's point of view, the domain system consists of separate sets of local information called zones. The name server has local copies of some of the zones. The name server must periodically refresh its zones from master copies in local files or foreign name servers. The name server must concurrently process queries that arrive from resolvers. - ソスlソス[ソスソスソスTソス[ソスoソスフ観点ソスナドソスソスソスCソスソスソスVソスXソスeソスソスソスヘ、ソス]ソス[ソスソスソスニ呼ばゑソス驛搾ソス[ソスJソスソスソスソス ソスから成ソス阯ァソスソスソスワゑソスソスBソスlソス[ソスソスソスTソス[ソスoソスヘゑソスソスソスソスツゑソスソスフゾソス[ソスソスソスフソスソス[ソスJソスソスソスRソスsソス[ ソスソスソスソスソスソスソスワゑソスソスBソスlソス[ソスソスソスTソス[ソスoソス[ソスヘソスソス[ソスJソスソスソスtソス@ソスCソスソスソス竭シソスフネソス[ソスソスソスTソス[ソスoソス[ソスソス ソスソスソス{ソスソスソスソスソスソスソスソスIソスノゑソスソスフゾソス[ソスソスソスソスソスソスソスXソスVソスソスソスネゑソスソストはなゑソスワゑソスソスソスBソスlソス[ソスソスソスTソス[ ソスoソス[ソスヘ難ソスソスソスソスノソスソス]ソスソスソスoソスソスソス逞茨ソスソス竝ソスソスソスソスソスソスソスソスソスソスソスネゑソスソストはなゑソスワゑソスソスソスB In the interests of performance, implementations may couple these functions. For example, a resolver on the same machine as a name server might share a database consisting of the the zones managed by the name server and the cache managed by the resolver. ソスソスソスソスソス\ソスヘの厄ソスソスナ趣ソスソスロの趣ソスソスソスソスヘ、ソスソスソスソスソスフ機ソス\ソスソスソスツなゑソスソスソスソストゑソスソス驍ゥソスソスソスソスソスソスワゑソスソスソスB ソス痰ヲソスホ、ソスソスソスソスソス}ソスVソスソスソスソスフソスソス]ソスソスソスoソスニネソス[ソスソスソスTソス[ソスoソス[ソスヘ、ソスlソス[ソスソスソスTソス[ソスoソスフ管暦ソスソスソス ソスソス]ソス[ソスソスソスニソスソス]ソスソスソスoソスフ管暦ソスソスソスソスソスLソスソスソスbソスVソスソスソスフ暦ソスソスfソス[ソス^ソスxソス[ソスXソスソスソスソスソスLソスソスソス驍ゥソスソスソスソス ソスソスワゑソスソスソスB 3. DOMAIN NAME SPACE and RESOURCE RECORDS 3. ソスhソスソスソスCソスソスソスソスヤと趣ソスソスソスソスソスソスRソス[ソスh 3.1. Name space specifications and terminology 3.1. ソスソスソスOソスソスヤ仕ソスlソスニ用ソスソス The domain name space is a tree structure. Each node and leaf on the tree corresponds to a resource set (which may be empty). The domain system makes no distinctions between the uses of the interior nodes and leaves, and this memo uses the term "node" to refer to both. ソスhソスソスソスCソスソスソスソスソスソスヤは木構ソスソスソスナゑソスソスBソスリの各ソスmソス[ソスhソスニソスソス[ソスtソスソスソスソスソスソスソスiソスかゑソスソスソスソスソスネゑソスソスj ソスノ対会ソスソスソスソスワゑソスソスBソスhソスソスソスCソスソスソスVソスXソスeソスソスソスヘ難ソスソスソスソスmソス[ソスhソスニソスソス[ソスtソスフ茨ソスソスソスソスノ具ソスハゑソスソスソスソスソスソスA ソスソスソスフ包ソスソスソスソスナは暦ソスソスメゑソスソスソスソスソスソスフに「ソスmソス[ソスhソスvソスニゑソスソスソスソスpソスソスソスソスgソスソスソスワゑソスソスB Each node has a label, which is zero to 63 octets in length. Brother nodes may not have the same label, although the same label can be used for nodes which are not brothers. One label is reserved, and that is the null (i.e., zero length) label used for the root. ソスソスソス黷シソスソスフノソス[ソスhソスソスソスソスソスxソスソスソスソスソスソスソスソスソスAソスソスソスフ抵ソスソスソスソスヘ0ソスソスソスソスUソスRソスIソスNソスeソスbソスgソスナゑソスソスBソスソスソスソス ソスKソスwソスフノソス[ソスhソスソスソスルなるラソスxソスソスソスソスソスgソスソスソスソスソスうソスソスソスAソスルなゑソスKソスwソスフノソス[ソスhソスソスソスソスソスソスソスソスソスxソスソス ソスソスソスgソスソスソスワゑソスソスBソスPソスツのソスソスxソスソスソスソスソス\ソスさゑソスAソスソスソスソスヘヌソスソスソスiソスツまり長ソスソスソスソスソス[ソスソスソスjソスソスソスxソスソス ソスナ木の搾ソスソスソスソスqソスノ使ソスソスソスワゑソスソスB The domain name of a node is the list of the labels on the path from the node to the root of the tree. By convention, the labels that compose a domain name are printed or read left to right, from the most specific (lowest, farthest from the root) to the least specific (highest, closest to the root). ソスmソス[ソスhソスフドソスソスソスCソスソスソスソスソスヘ、ソスmソス[ソスhソスソスソスソスリの搾ソスソスワでのパソスXソスソスフソスソスxソスソスソスフソスソスXソスgソスナゑソスソスB ソスソスソスワり事ソスニゑソスソスト、ソスhソスソスソスCソスソスソスソスソスソスソス\ソスソスソスソスソス驛会ソスxソスソスソスソスソスソスソスソスソスソスソスソスソスヌんだりすソスソスロは搾ソス ソスソスソスソスEソスフ擾ソスソスナ、ソスナゑソスソスラゑソスソスソスソスiソスソスソスハ、ソスソスソスソスソス迚難ソスソスソスソスソスjソスソスソスソスナゑソスソスeソスソスソスiソスソスハ、ソスソスソスノ具ソス ソスソスソスjソスノゑソスソスワゑソスソスB Internally, programs that manipulate domain names should represent them as sequences of labels, where each label is a length octet followed by an octet string. Because all domain names end at the root, which has a null string for a label, these internal representations can use a length byte of zero to terminate a domain name. ソスhソスソスソスCソスソスソスソスソス操ゑソスvソスソスソスOソスソスソスソスソスフ難ソスソスソスソスナは、ソスhソスソスソスCソスソスソスソスソスソスソスソスソスxソスソスソスフ連ソスソスソスニゑソスソスト表ソスソス ソスソスソスラゑソスソスナ、ソスeソスソスソスxソスソスソスヘ抵ソスソスソスソスIソスNソスeソスbソスgソスニオソスNソスeソスbソスgソスかゑソスネゑソスラゑソスソスナゑソスソスBソスソスソスラゑソス ソスフドソスソスソスCソスソスソスソスソスソスソスソスソス[ソスgソスナ終ソスソスソスAソスソスソス[ソスgソスソスソスkソスソスソスソスソスソスソスソスネので、ソスソスソスソスソス\ソスソスソスナはドソスソス ソスCソスソスソスソスソスフ終ソスソスソスニゑソスソストゼソスソスソスlソスフ抵ソスソスソスソスIソスNソスeソスbソスgソスソスソスgソスソスソスワゑソスソスB By convention, domain names can be stored with arbitrary case, but domain name comparisons for all present domain functions are done in a case-insensitive manner, assuming an ASCII character set, and a high order zero bit. This means that you are free to create a node with label "A" or a node with label "a", but not both as brothers; you could refer to either using "a" or "A". When you receive a domain name or label, you should preserve its case. The rationale for this choice is that we may someday need to add full binary domain names for new services; existing services would not be changed. ソスソスソスワり事ソスニゑソスソストドソスソスソスCソスソスソスソスソスノは大文ソスソスソスソスソスソスソスソスソスソスソスソスソスン抵ソスナゑソスソスワゑソスソスAソスソスソスソスソスソスソスhソスソスソスCソスソス ソス@ソス\ソスフゑソスソスソスソスソスソスソスソスナドソスソスソスCソスソスソスソスソスソスソスrソスソスソスソスロは大文ソスソスソスソスソスソスソスソスソス同ゑソスソスソスソスフとみなゑソスソスA ASCIIソスソスソスソスソスニ会ソスソス閧オソスAソスナ擾ソスハビソスbソスgソスソスソス[ソスソスソスニ会ソスソス閧オソスワゑソスソスBソスソスソスソスソス"A"ソスニゑソスソスソスソスソスソスxソスソス ソスフノソス[ソスhソスソス"a"ソスニゑソスソスソスソスソスソスxソスソスソスフノソス[ソスhソスソスソスソス驍アソスニは出ソスソスソス驍ッソスヌ、ソスソスソスソスソスヘ兄ソスソスソス ソスWソスノゑソスソスソスフではなゑソスソスAソスヌゑソスソスソスソスソスソス"A"ソスソス"a"ソスニゑソスソスト参ソスニゑソスソスソス骼厄ソスソスソスモ厄ソスソスソスソスワゑソスソスBソスh ソスソスソスCソスソスソスソスソス窿会ソスxソスソスソスソスソスけ趣ソス骼橸ソスノ、ソスソスソスフ大文ソスソスソスソスソスソスソスソスソスソスソスロ趣ソスソスソスソスソスラゑソスソスナゑソスソスBソスソスソスソス ソスソスソスRソスヘゑソスソスツゑソスソスVソスソスソスソスソスTソス[ソスrソスXソスフゑソスソス゚に奇ソスソスSソスネ2ソスiソス@ソスフドソスソスソスCソスソスソスソスソスソスソスソスソスソスソスソスKソスvソスソス ソスソスソス驍ゥソスソスソスソスソスソスネゑソスソスソスソスソスナゑソスソスGソスソスソスソスソスフサソス[ソスrソスXソスソスマゑソスソスソスソスノ済むでゑソスソス蛯、ソスB When a user needs to type a domain name, the length of each label is omitted and the labels are separated by dots ("."). Since a complete domain name ends with the root label, this leads to a printed form which ends in a dot. We use this property to distinguish between: ソスソスソス[ソスUソス[ソスソスソスhソスソスソスCソスソスソスソスソスソスソス^ソスCソスvソスソスソスソスKソスvソスソスソスソスソス骼橸ソスAソスeソスソスソスxソスソスソスフ抵ソスソスソスソスヘタソスCソスvソスソスソスソスソスA ソスソスソスxソスソスソスヘドソスbソスg(".")ソスナ包ソスソスソスソスソスソスソスワゑソスソスBソスソスソスSソスネドソスソスソスCソスソスソスソスソスヘソスソス[ソスgソスソスソスxソスソスソスナ終ソスソス ソスソスフで、ソスソスソスソスヘドソスbソスgソスナ終ソスソスソスソスソスソスソスソスソスソスノなゑソスワゑソスソスBソスソスソスフ具ソスハにゑソスソスフ難ソスソスソスソスソスソスgソスソス ソスワゑソスソスF - a character string which represents a complete domain name (often called "absolute"). For example, "poneria.ISI.EDU." - ソスソスソスSソスネドソスソスソスCソスソスソスソスソスソス\ソスソスソスソスソスソスソスソスiソスソスソスホゑソスソスホ「ソスソスホ」ソスニ呼ばゑソスソスjソスB ソス痰ヲソスホ、"poneria.ISI.EDU."ソスB - a character string that represents the starting labels of a domain name which is incomplete, and should be completed by local software using knowledge of the local domain (often called "relative"). For example, "poneria" used in the ISI.EDU domain. - ソスsソスソスソスSソスネドソスソスソスCソスソスソスソスソスフソスソスxソスソスソスソスソス\ソスソスソスソスソス髟カソスソスソスソスAソスソスソス[ソスJソスソスソス\ソスtソスgソスEソスFソスA ソスソスソスソスソス[ソスJソスソスソスhソスソスソスCソスソスソスフ知ソスソスソスソスソスgソスソスソスト奇ソスソスSソスネゑソスソスフにゑソスソスネゑソスソスソスホなゑソスネゑソスソスiソスソス ソスホゑソスソスホ「ソスソスソスホ的ソスvソスニ呼ばゑソスソスjソスBソス痰ヲソスホ、ISI.EDUソスhソスソスソスCソスソスソスソス"poneria"ソスソス ソスgソスpソスB Relative names are either taken relative to a well known origin, or to a list of domains used as a search list. Relative names appear mostly at the user interface, where their interpretation varies from implementation to implementation, and in master files, where they are relative to a single origin domain name. The most common interpretation uses the root "." as either the single origin or as one of the members of the search list, so a multi-label relative name is often one where the trailing dot has been omitted to save typing. ソスソスソスホ的ソスネ厄ソスソスOソスノ奇ソスソスmソスフ出ソスソスソス_ソスソスソスソスソスソスソスソスソスXソスgソスニ茨ソスソスソスソスソスhソスソスソスCソスソスソスフソスソスXソスgソスソスソスgソスソスソス ソスワゑソスソスBソスソスソスホ的ソスネ厄ソスソスOソスソスソスソスソスソスソストゑソスソスソスソス[ソスUソスEソスCソスソスソス^ソスtソスFソス[ソスXソスナ鯉ソスソスソスAソスソスソスフ会ソスソス゚は趣ソスソスソス ソスノゑソスソスルなゑソスAソス}ソスXソス^ソス[ソスtソス@ソスCソスソスソスナは1ソスツの出ソスソスソス_ソスhソスソスソスCソスソスソスソスソスノ関連ソスソスソスワゑソスソスBソスソス ソスソスソスソスハ的ソスネ会ソスソス゚はソスソス[ソスg"."ソスソスソスoソスソスソス_ソスノ使ソスソスソスソスソスソスソスソスソスソスソスXソスgソスフどれかソスソスソスgソスソスソスソスソスナ、 ソスソスソスホ的ソスネソスソスxソスソスソスソスソス^ソスCソスvソスフ趣ソスヤゑソスソスネゑソスソスワゑソスソスB To simplify implementations, the total number of octets that represent a domain name (i.e., the sum of all label octets and label lengths) is limited to 255. ソスソスソスソスソスソスPソスソスソスソスソスソスソス驍スソス゚に、ソスhソスソスソスCソスソスソスソスソスソス\ソスソスソスIソスNソスeソスbソスgソスフ搾ソスソスvソスフ撰ソスソスiソスソスソスラてのソス ソスxソスソスソスIソスNソスeソスbソスgソスニソスソスxソスソスソスソスソスフ搾ソスソスvソスjソスヘ2ソスTソスTソスノ撰ソスソスソスソスソスソスソスワゑソスソスB A domain is identified by a domain name, and consists of that part of the domain name space that is at or below the domain name which specifies the domain. A domain is a subdomain of another domain if it is contained within that domain. This relationship can be tested by seeing if the subdomain's name ends with the containing domain's name. For example, A.B.C.D is a subdomain of B.C.D, C.D, D, and " ". ソスhソスソスソスCソスソスソスソスソスhソスソスソスCソスソスソスソスソスナ趣ソスソスハゑソスソスソスAソスhソスソスソスCソスソスソスソスソスソスヤの一部ソスナ、ソスhソスソスソスCソスソスソスソスソスソスソスソスソスh ソスソスソスCソスソスソスソスソスノ、ソスソスソス驍「ソスヘ会ソスソスノゑソスソスソスワゑソスソスBソスhソスソスソスCソスソスソスヘ、ソスソスソスフドソスソスソスCソスソスソスノ含まゑソストゑソスソスソス ソスホ、ソスソスソスフドソスソスソスCソスソスソスフサソスuソスhソスソスソスCソスソスソスナゑソスソスBソスソスソスフ関係ソスヘサソスuソスhソスソスソスCソスソスソスフ厄ソスソスOソスフ終ソスソスソス ソスソスソスhソスソスソスCソスソスソスフ厄ソスソスOソスソスソスソスソスラるこソスニでわかソスソスワゑソスソスBソス痰ヲソスホ、A.B.C.DソスソスB.C.DソスソスC.DソスソスD ソスソス" "ソスフサソスuソスhソスソスソスCソスソスソスナゑソスソスB 3.2. Administrative guidelines on use 3.2. ソスソスソスpソスソスフ管暦ソスソスKソスCソスhソスソスソスCソスソス As a matter of policy, the DNS technical specifications do not mandate a particular tree structure or rules for selecting labels; its goal is to be as general as possible, so that it can be used to build arbitrary applications. In particular, the system was designed so that the name space did not have to be organized along the lines of network boundaries, name servers, etc. The rationale for this is not that the name space should have no implied semantics, but rather that the choice of implied semantics should be left open to be used for the problem at hand, and that different parts of the tree can have different implied semantics. For example, the IN-ADDR.ARPA domain is organized and distributed by network and host address because its role is to translate from network or host numbers to names; NetBIOS domains [RFC-1001, RFC- 1002] are flat because that is appropriate for that application. ソス|ソスソスソスVソス[ソスフ厄ソスソスニゑソスソスト、ソスcソスmソスrソスZソスpソスdソスlソスソスソスヘ難ソスソスソスフ木構ソスソスソスソスソスソスソスフソスソスxソスソスソスIソスソスソスK ソスソスソスソスvソスソスソスソスソスワゑソスソスソスGソスcソスmソスrソスフ目的ソスヘ可能ソスネ鯉ソスソスソスソスハ的ソスネ趣ソスソスナ、ソスソスソスソスノゑソスソスソスト任ソスソス ソスフアソスvソスソスソスPソス[ソスVソスソスソスソスソスソスソス\ソスzソスソスソスソスノ使ソスソスソスワゑソスソスBソスソスソスノ、ソスVソスXソスeソスソスソスヘ厄ソスソスOソスソスヤゑソスソスlソスbソスg ソスソスソス[ソスNソスソスソスEソスソスソスソスlソス[ソスソスソスTソス[ソスoソス[ソスネどに会ソスソスソスソスト組ソスDソスソスソスソスソスソスネゑソスソストゑソスソス謔「ソス謔、ソスノ、ソスソス ソスvソスソスソスソスワゑソスソスソスソスBソスソスソスフ搾ソスソスソスソスヘ厄ソスソスOソスソスヤに暗黙の意厄ソスソスソスソスソスソスソスソスソスソスソスフではなゑソスソスAソスソスソスOソスソス ソスgソス゚な厄ソスソスノ使ソスソスソスソス謔、ソスノゑソスソスソスラゑソスソスナ、ソスリの異なる部ソスソスソスソスソスソスソスOソスノ異なゑソスモ厄ソスソスソスソスソス ソストる事ソスナゑソスソスBソス痰ヲソスホ、IN-ADDR.ARPAソスhソスソスソスCソスソスソスヘ、ソスlソスbソスgソスソスソス[ソスNソスソスzソスXソスgソスヤ搾ソスソスソスソスソス ソスソスソスOソスヨ翻ソスすゑソスソスソスソスソスソスソスソスソスツので、ソスlソスbソスgソスソスソス[ソスNソスソスzソスXソスgソスAソスhソスソスソスXソスノゑソスソスソスソスソスソスソスソスト組 ソスDソスソスソスソスソスソスワゑソスソスGNetBIOSソスhソスソスソスCソスソス[RFC-1001, RFC- 1002]ソスヘ、ソスソスソスソスネのゑソスソスAソスvソスソスソスPソス[ ソスVソスソスソスソスソスノ適ソスリなので、ソスソスソスソスナゑソスソスB However, there are some guidelines that apply to the "normal" parts of the name space used for hosts, mailboxes, etc., that will make the name space more uniform, provide for growth, and minimize problems as software is converted from the older host table. The political decisions about the top levels of the tree originated in RFC-920. Current policy for the top levels is discussed in [RFC-1032]. MILNET conversion issues are covered in [RFC-1031]. ソスソスソスソスソスソスソスzソスXソスgソス窿ソス[ソスソスソス{ソスbソスNソスXソスソスソスノ使ソスソスソスソスソスハ的ソスネ包ソスソスソスソスフガソスCソスhソスソスソスCソスソスソスヘゑソスソスソス ソスワゑソスソスAソスソスソスえソスヘ厄ソスソスOソスソスヤゑソスソスソスlソスノゑソスソスAソスソスソスソスソスノ費ソスソスソスソスAソステゑソスソスzソスXソスgソスeソス[ソスuソスソスソスフソソスtソスg ソスEソスFソスAソスソスマ奇ソスソスソスソスソスロの厄ソスソスソスソスナ擾ソスソスノゑソスソスワゑソスソスBソスリの茨ソスヤ擾ソスフソスソスxソスソスソスフポソスソスソスVソス[ソスフ鯉ソス ソスソスソスRFC920ソスソスソスソスnソスワゑソスワゑソスソスソスソスBソスソスソスンの茨ソスヤ擾ソスフソスソスxソスソスソスフポソスソスソスVソス[ソスソス[RFC-1032]ソスソス ソス_ソスソスソスソスソスワゑソスソスBMILNETソスマ奇ソスソスソス閧ェ[RFC-1031]ソスナ趣ソスソスソスソスソスワゑソスソスB Lower domains which will eventually be broken into multiple zones should provide branching at the top of the domain so that the eventual decomposition can be done without renaming. Node labels which use special characters, leading digits, etc., are likely to break older software which depends on more restrictive choices. ソスソスソスソスソスソスヘ包ソスソスソスソスフドソスソスソスCソスソスソスノ包ソスソスソスソス黷サソスソスソスネ会ソスソスハのドソスソスソスCソスソスソスヘ擾ソスハドソスソスソスCソスソスソスナ包ソスソスソスソスソス ソスソスソスソスソスラゑソスソスナゑソスソスAソスソスソスソスノゑソス阨ェソスソスソスソスソスソスニゑソスソスノ厄ソスソスOソスソスマ更ソスソスソスネゑソスソスト済みまゑソスソスBソスソスソスハゑソス ソスソスソスソスソス笂ェソスノ撰ソスソスソスソスソスソスgソスソスソスネどのノソス[ソスhソスソスソスxソスソスソスヘ、ソスソス關ァソスソスソスフ鯉ソスソスソスソスソスソステゑソスソス\ソスtソスgソスEソスF ソスAソスソスソスす可能ソスソスソスソスソスソスソスソスソスナゑソスソスB 3.3. Technical guidelines on use 3.3. ソスソスソスpソスソスフ技ソスpソスIソスKソスCソスhソスソスソスCソスソス Before the DNS can be used to hold naming information for some kind of object, two needs must be met: ソスcソスmソスrソスソスソスソスソスソスソスフ趣ソズのオソスuソスWソスFソスNソスgソスフ擾ソスソスフ厄ソスソスOソスソスソスソスソスツのに使ソスソスソスOソスノ、ソスQソスツの必 ソスvソスソスソスソスソスソスソスソスソスソスネゑソスソストはなゑソスワゑソスソスソスF - A convention for mapping between object names and domain names. This describes how information about an object is accessed. - ソスIソスuソスWソスFソスNソスgソスソスソスニドソスソスソスCソスソスソスソスソスフ変奇ソスソスKソスソスソスBソスソスソスソスヘどのようソスノオソスuソスWソスFソスNソスg ソスフ擾ソスソスノアソスNソスZソスXソスソスソスソス驍ゥソスLソスqソスソスソスワゑソスソスB - RR types and data formats for describing the object. - ソスソスソスソスソスソスソスRソス[ソスhソス^ソスCソスvソスニオソスuソスWソスFソスNソスgソスソスソスLソスqソスソスソスソスfソス[ソス^ソスtソスHソス[ソス}ソスbソスgソスB These rules can be quite simple or fairly complex. Very often, the designer must take into account existing formats and plan for upward compatibility for existing usage. Multiple mappings or levels of mapping may be required. ソスソスソスソスソスフ規ソスソスソスヘ費ソスソスノ単ソスソスソスソスソスAソスソスソス驍「ソスヘゑソスソスネり複ソスGソスナゑソスソスBソスハ擾ソスAソスfソスUソスCソスiソス[ソスヘ奇ソス ソスソスソスフフソスHソス[ソス}ソスbソスgソスソスソスlソスソスソスソスソスト、ソスソスソスソスソスフ使ソスソスソスソスソスフ擾ソスハ互奇ソスソスソスソスソス\ソスソスソスソスソスト計ソスソス立ゑソス ソスネゑソスソストはなゑソスワゑソスソスソスBソスソスソスソスソスフ変奇ソスソスソスAソスソスソスiソスマ奇ソスソスソスソスKソスvソスソスソスソスソスソスソスソスワゑソスソスソスB For hosts, the mapping depends on the existing syntax for host names which is a subset of the usual text representation for domain names, together with RR formats for describing host addresses, etc. Because we need a reliable inverse mapping from address to host name, a special mapping for addresses into the IN-ADDR.ARPA domain is also defined. ソスzソスXソスgソスノ関ゑソスソスト、ソスマ奇ソスソスヘ奇ソスソスソスソスフホソスXソスgソスソスソスフ規ソスソスソスノ依托ソスソスソスソスAソスソスソスソスヘドソスソスソスCソスソスソスソスソスフ抵ソス ソスソスフテソスLソスXソスgソス\ソスソスソスフ包ソスソスソスソスWソスソスソスナ、ソスzソスXソスgソスAソスhソスソスソスXソスソス\ソスソスソスソスソス骼托ソスソスソスソスソスRソス[ソスhソスtソスHソス[ ソス}ソスbソスgソスソスソスソスソスlソスナゑソスソスAソスネど。ソスソスXソスソスソスAソスhソスソスソスXソスソスソスソスzソスXソスgソスソスソスヨの信ソスソスソスナゑソスソスソスtソスマ奇ソスソスソス ソスKソスvソスニゑソスソスソスフで、ソスAソスhソスソスソスXソスソスIN-ADDR.ARPAソスhソスソスソスCソスソスソスヨ変奇ソスソスソスソスソスソスソスハな規ソスソスソスソスソスソス` ソスソスソスソスワゑソスソスB For mailboxes, the mapping is slightly more complex. The usual mail address <local-part>@<mail-domain> is mapped into a domain name by converting <local-part> into a single label (regardles of dots it contains), converting <mail-domain> into a domain name using the usual text format for domain names (dots denote label breaks), and concatenating the two to form a single domain name. Thus the mailbox [email protected] is represented as a domain name by HOSTMASTER.SRI-NIC.ARPA. An appreciation for the reasons behind this design also must take into account the scheme for mail exchanges [RFC- 974]. ソス注:RFCソスソスAソスソスソスノゑソスソスニ擾ソスLソスソス"(regardles of dots it contains)"ソスソス "(regardless of dots it contains)"ソスソスソスソスソスソスソスソスソスソスソスソスソスナゑソスソスB ソスソスソス[ソスソスソス{ソスbソスNソスXソスフゑソスソス゚の変奇ソスソスヘ擾ソスソスソスソスソスソスGソスナゑソスソスBソスハ擾ソスソス<local-part>@<mail-domain> ソスヘ、<local-part>ソスソスソスPソスツのソスソスxソスソスソスノ変奇ソスソスソスソスiソスhソスbソスgソスソスソスソスソスソスソストゑソスソスソスソスワゑソスネゑソスソスjソスA <mail-domain>ソスソスハ擾ソスフテソスLソスXソスgソスtソスHソス[ソス}ソスbソスgソスhソスソスソスCソスソスソスソスソスiソスhソスbソスgソスソスソスソスソスxソスソスソスフ具ソス ソスリゑソスニゑソスソスソスjソスノ変奇ソスソスソスソスAソスソスソスフ2ソスツゑソスソスツなゑソスソスナ1ソスツのドソスソスソスCソスソスソスソスソス生撰ソスソスソスソスワゑソスソスBソスソス ソスソスナソスソス[ソスソスソス{ソスbソスNソス[email protected]ソスヘドソスソスソスCソスソスソスソス HOSTMASTER.SRI-NIC.ARPA.ソスノ変奇ソスソスソスソスソスワゑソスソスBソスソスソスフデソスUソスCソスソスソスヘソスソス[ソスソスソスソスソスソスソスソス [RFC-974]ソスソスソスlソスソスソスソスソスソスソスソスソスフでゑソスソスB The typical user is not concerned with defining these rules, but should understand that they usually are the result of numerous compromises between desires for upward compatibility with old usage, interactions between different object definitions, and the inevitable urge to add new features when defining the rules. The way the DNS is used to support some object is often more crucial than the restrictions inherent in the DNS. ソスソスハ的ソスネソスソス[ソスUソス[ソスヘゑソスソスソスソスフ規ソスソスソスソスソス`ソスノ関ゑソスソスソストゑソスソスワゑソスソスが、ソステゑソスソスgソスソスソスソスソスニゑソス ソスソスハ互奇ソスソスソスソスフ要ソス]ソスニ、ソスルなゑソスIソスuソスWソスFソスNソスgソスソス`ソスヤの奇ソスソスツと、ソスVソスソスソスソスソスKソスソスソスソスソス`ソスソス ソス骼橸ソスノ費ソスソスソスソスソスソスネゑソスソスVソスソスソスソスソス@ソス\ソスフ追会ソスソスフ妥具ソスソスフ鯉ソスソスハでゑソスソスソスニ暦ソスソスソスソスソスソスソスラゑソスソスナゑソスソスB ソスソスソスソスIソスuソスWソスFソスNソスgソスソスソスTソス|ソス[ソスgソスソスソスソスcソスmソスrソスフ使ソスソスソスソスソスヘ、ソスcソスmソスrソスナ有ソスフ撰ソスソスソスソスソス閧オソスソス ソスソスソスホ鯉ソスソスソスIソスノなゑソスワゑソスソスB 3.4. Example name space 3.4. ソスソスソスOソスソスヤの暦ソス The following figure shows a part of the current domain name space, and is used in many examples in this RFC. Note that the tree is a very small subset of the actual name space. ソスソスソスフ図ソスヘ鯉ソスソスンのドソスソスソスCソスソスソスソスソスソスヤの一部ソスソスソスソスソスソスソスト、ソスソスソスソスRFCソスフ托ソスソスソスソスフ暦ソスナ使ソスソスソスソス ソスソスソスBソスリゑソスソスソスソスロの厄ソスソスOソスソスヤの費ソスソスノ擾ソスソスソスソスソスソス齦費ソスソスソスナゑソスソス驍アソスニを注意ゑソスソストゑソスソスソスソスソスソスソスソスB | | +---------------------+------------------+ | | | MIL EDU ARPA | | | | | | +-----+-----+ | +------+-----+-----+ | | | | | | | BRL NOSC DARPA | IN-ADDR SRI-NIC ACC | +--------+------------------+---------------+--------+ | | | | | UCI MIT | UDEL YALE | ISI | | +---+---+ | | | | LCS ACHILLES +--+-----+-----+--------+ | | | | | | XX A C VAXA VENERA Mockapetris In this example, the root domain has three immediate subdomains: MIL, EDU, and ARPA. The LCS.MIT.EDU domain has one immediate subdomain named XX.LCS.MIT.EDU. All of the leaves are also domains. ソスソスソスフ暦ソスナ、ソスソスソス[ソスgソスhソスソスソスCソスソスソスヘ3ソスツの抵ソスソスレのサソスuソスhソスソスソスCソスソスソスソスソスソスソスソスソストゑソスソスワゑソスソスFMILソスソス EDUソスソスARPAソスBLCS.MIT.EDUソスhソスソスソスCソスソスソスソスXX.LCS.MIT.EDU ソスニゑソスソスソスソスソスソスOソスフ1ソスツの抵ソスソスレゑソス ソスTソスuソスhソスソスソスCソスソスソスソスソスソスソスソスソストゑソスソスワゑソスソスBソスSソストのソスソス[ソスtソスソスソスhソスソスソスCソスソスソスナゑソスソスB 3.5. Preferred name syntax 3.5. ソス]ソスワゑソスソスソスソスソスソスOソスソスソス@ The DNS specifications attempt to be as general as possible in the rules for constructing domain names. The idea is that the name of any existing object can be expressed as a domain name with minimal changes. However, when assigning a domain name for an object, the prudent user will select a name which satisfies both the rules of the domain system and any existing rules for the object, whether these rules are published or implied by existing programs. ソスcソスmソスrソスdソスlソスソスソスヘドソスソスソスCソスソスソスソスソスソスgソスン暦ソスソストゑソスKソスソスソスソスソスツ能ソスネ鯉ソスソスソスソスハ的ソスノゑソスソス謔、ソスニ趣ソスソスソス ソスワゑソスソスBソスソスソスフ考ソスソスソスソスソスヘ、ソスソスソスソスソスフオソスuソスWソスFソスNソスgソスソスソスソスソスナ擾ソスソスフ変更ソスナドソスソスソスCソスソスソスソスソスニゑソスソスト表 ソスソスソスソスニゑソスソスソスソスソスソスナゑソスソスBソスソスソスソスソスソスソスAソスIソスuソスWソスFソスNソスgソスノドソスソスソスCソスソスソスソスソスソスソスソスソス闢厄ソストる時ソスAソスTソスdソスソス ソスソスソス[ソスUソス[ソスヘ、ソスKソスソスソスソスソスソスソスソスソスソスソスソスソスソストゑソスソス驍ゥソスソスソスソスソスvソスソスソスOソスソスソスソスソスノ厄ソスソス゚搾ソスソスワゑソストゑソスソス驍ゥソスソス ソスソスソスソスソスソス轤クソスAソスソスソスソスソスフ規ソスソスソスニドソスソスソスCソスソスソスVソスXソスeソスソスソスフ規ソスソスソスニの暦ソスソスソスソス満ゑソスソスソスソス謔、ソスノ、ソスI ソスuソスWソスFソスNソスgソスフ厄ソスソスOソスソスIソスヤでゑソスソス蛯、ソスB For example, when naming a mail domain, the user should satisfy both the rules of this memo and those in RFC-822. When creating a new host name, the old rules for HOSTS.TXT should be followed. This avoids problems when old software is converted to use domain names. ソス痰ヲソスホ、ソスソスソス[ソスソスソスhソスソスソスCソスソスソス名付ソスソスソス骼橸ソスAソスソスソス[ソスUソス[ソスソスRFC822ソスニゑソスソスフ包ソスソスソスソスフ暦ソスソスソスソスフ規 ソスソスソス満ゑソスソスソスソスラゑソスソスナゑソスソスBソスVソスソスソスソスソスzソスXソスgソスソスソスソスソスソス骼橸ソスAHOST.TXTソスフ古ゑソスソスKソスソスソスノゑソスソス]ソスソスソスソス ソスソスソスナゑソスソスBソスソスソスソスヘ、ソステゑソスソス\ソスtソスgソスEソスFソスAソスソスソスhソスソスソスCソスソスソスソスソスソスソスgソス謔、ソスノ変奇ソスソスソスソス骼橸ソスAソスgソスソスソスu ソスソスソスソスソスソスソスソスワゑソスソスB The following syntax will result in fewer problems with many applications that use domain names (e.g., mail, TELNET). ソスソスソスフ包ソスソス@ソスヘドソスソスソスCソスソスソスソスソスソスソスgソスソスソスソスソスソスソスフアソスvソスソスソスPソス[ソスVソスソスソスソスソスiソス痰ヲソスホ、ソスソスソス[ソスソスソスATELNETソスj ソスナゑソスソスソス閧ェソスソスソスネゑソスソスナゑソスソス蛯、ソスB <domain> ::= <subdomain> | " " <subdomain> ::= <label> | <subdomain> "." <label> <label> ::= <letter> [ [ <ldh-str> ] <let-dig> ] <ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str> <let-dig-hyp> ::= <let-dig> | "-" <let-dig> ::= <letter> | <digit> <letter> ::= any one of the 52 alphabetic characters A through Z in upper case and a through z in lower case ソス蝠カソスソスソスソスAソスソスソスソスZソスニ擾ソスソスソスソスソスソスソスaソスソスソスソスzソスソス52ソスソスソスソスソスフどれか <digit> ::= any one of the ten digits 0 through 9 ソスソスソスソスソスソス0ソスソスソスソス9ソスフどれか Note that while upper and lower case letters are allowed in domain names, no significance is attached to the case. That is, two names with the same spelling but different case are to be treated as if identical. ソス蝠カソスソスソスニ擾ソスソスソスソスソスソスフ暦ソスソスソスソスソスソスhソスソスソスCソスソスソスソスソスナ具ソスソスソスソスソス驍ェソスAソスソスハゑソスソスネゑソスソスソスソス注意ゑソスソストゑソスソスソス ソスソスソスソスソスBソスソスソスソスソスツづゑソスナ大文ソスソスソスニ擾ソスソスソスソスソスソスソスソスルなゑソスQソスツの厄ソスソスOソスヘ難ソスソスソスソスニ茨ソスソスソスソスソスヘゑソスソスソス ソスソスソスB The labels must follow the rules for ARPANET host names. They must start with a letter, end with a letter or digit, and have as interior characters only letters, digits, and hyphen. There are also some restrictions on the length. Labels must be 63 characters or less. ソスソスソスxソスソスソスソスARPANETソスzソスXソスgソスソスソスフ規ソスソスソスノ従ソスソスネゑソスソスソスホなゑソスワゑソスソスソスBソスソスソスフゑソスソス゚包ソスソスソスソスナ始 ソスワゑソスAソスソスソスソスソスソスソスソスソスソスソスナ終ソスソスソスAソスrソスソスソスヘ包ソスソスソスソスソスソスソスソスソスソスソスソスnソスCソスtソスソスソスナなゑソスソスソスホなゑソスワゑソスソスソスB ソスソスソスソスソスノゑソスソスソスソスソスソスソスソスソスソスソスワゑソスソスBソスソスソスxソスソスソスヘ6ソスRソスフ包ソスソスソスソスネ会ソスソスノ違いソスソスソスソスワゑソスソスソスB For example, the following strings identify hosts in the Internet: ソス痰ヲソスホ、ソスソスソスフ包ソスソスソスソスソスヘイソスソスソス^ソス[ソスlソスbソスgソスフホソスXソスgソスソスソスソスソスハゑソスソスワゑソスソスF A.ISI.EDU XX.LCS.MIT.EDU SRI-NIC.ARPA 3.6. Resource Records 3.6. ソスソスソスソスソスソスソスRソス[ソスh A domain name identifies a node. Each node has a set of resource information, which may be empty. The set of resource information associated with a particular name is composed of separate resource records (RRs). The order of RRs in a set is not significant, and need not be preserved by name servers, resolvers, or other parts of the DNS. ソスhソスソスソスCソスソスソスソスソスソスソスmソス[ソスhソスソスソスソスソスハゑソスソスワゑソスソスBソスeソスmソス[ソスhソスソスソスソスソスソスソスソスソスソスソスソスソスソスソストゑソスソスワゑソスソスAソスかゑソス ソスソスソスソスワゑソスソスソスBソスソスソスソスフ厄ソスソスOソスフ包ソスソスソスソスフ趣ソスソスソスソスソスソスヘ趣ソスソスソスソスソスソスRソス[ソスhソスWソスソスソスソスソス\ソスソスソスソスソスワゑソスソスBソスソス ソスソスソスソスソスRソス[ソスhソスフ擾ソスソスソスソスヘ重ソスvソスナなゑソスソスAソスlソス[ソスソスソスTソス[ソスoソス[ソス窿奇ソス]ソスソスソスoソスソスcソスmソスrソスフ托ソスソスフ包ソスソスソス ソスナ維趣ソスソスソスソスソスソスKソスvソスソスソスソスソスソスワゑソスソスソスB When we talk about a specific RR, we assume it has the following: ソスソスXソスソスソスソスソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソスフ話ソスソスソスソスソス骼橸ソスAソスソスソスフゑソスソスニゑソスソスソスソス閧オソスワゑソスソスF owner which is the domain name where the RR is found. ソスソスソスLソスソス ソスソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスツゑソスソスソスhソスソスソスCソスソスソスソス type which is an encoded 16 bit value that specifies the type of the resource in this resource record. Types refer to abstract resources. ソス^ソスCソスv ソスPソスUソスrソスbソスgソスlソスナ趣ソスソスソスソスソスソスRソス[ソスhソスフ趣ソズゑソスソスソスソスソスソスワゑソスソスBソス^ソスCソスvソスソスソスソスソスソス ソスIソスネ趣ソスソスソスソスソスソスQソスニゑソスソスワゑソスソスB This memo uses the following types: ソスソスソスフ包ソスソスソスソスナは以会ソスソスフタソスCソスvソスソスソスgソスソスソスワゑソスソスF A a host address ソスzソスXソスgソスAソスhソスソスソスX CNAME identifies the canonical name of an alias ソスハ厄ソスソスノ対ゑソスソスト標ソスソスソスソスソスOソスソスソスソスソスハゑソスソスワゑソスソスB HINFO identifies the CPU and OS used by a host ソスzソスXソスgソスナ使ソスソスソスソスbソスoソスtソスニOソスrソスソスソスソスソスハゑソスソスワゑソスソスB MX identifies a mail exchange for the domain. See [RFC-974 for details. ソスhソスソスソスCソスソスソスフソスソス[ソスソスソスソスソスソスソスソスソスソスソスハゑソスソスワゑソスソスBソスレ細ゑソス [RFC-974]ソスソスソスQソスニ。 NS the authoritative name server for the domain ソスhソスソスソスCソスソスソスフ鯉ソスソスミ(ソスソスソスソスソスjソスlソス[ソスソスソスTソス[ソスo PTR a pointer to another part of the domain name space ソスhソスソスソスCソスソスソスソスヤの托ソスソスフ包ソスソスソスソスヨのポソスCソスソスソス^ SOA identifies the start of a zone of authority] ソスソスソスソスソス]ソス[ソスソスソスフ開ソスnソスフ趣ソスソスソス class which is an encoded 16 bit value which identifies a protocol family or instance of a protocol. ソスNソスソスソスX ソスPソスUソスrソスbソスgソスlソスナ、ソスvソスソスソスgソスRソスソスソスtソス@ソス~ソスソスソス[ソスソスソス驍「ソスヘプソスソスソスgソスRソスソスソスソス ソスソスソスソスソスソスハゑソスソスソスB This memo uses the following classes: ソスソスソスフ包ソスソスソスソスナは以会ソスソスフクソスソスソスXソスソスソスgソスソスソスソス IN the Internet system ソスCソスソスソス^ソス[ソスlソスbソスgソスVソスXソスeソスソス CH the Chaos system ソスJソスIソスXソスVソスXソスeソスソス TTL which is the time to live of the RR. This field is a 32 bit integer in units of seconds, an is primarily used by resolvers when they cache RRs. The TTL describes how long a RR can be cached before it should be discarded. ソスsソスsソスk ソスソスソスソスソスソスソスRソス[ソスhソスフ有ソスソスソスネ趣ソスソスヤ。ソスソスソスフフソスBソス[ソスソスソスhソスヘ秒ソスPソスハで3ソスQソスrソスb ソスgソスフ撰ソスソスソスソスナゑソスソスソスAソスソスノソスソス]ソスソスソスoソスソスソスソスソスソスソスソスソスRソス[ソスhソスソスソスLソスソスソスbソスVソスソスソスソス ソス骼橸ソスノ使ソスソスソスソスBソスsソスsソスkソスヘキソスソスソスbソスVソスソスソスソスソス除ソスソスソスソスOソスノ、ソスヌれだ ソスソスソスノ奇ソスソスヤ趣ソスソスソスソスソスソスRソス[ソスhソスソスソスLソスソスソスbソスVソスソスソスナゑソスソス驍ゥソスLソスqソスソスソスワゑソスソスB ソス注:RFC2181ソスナSソスnソス`ソスフTソスsソスkソスヘゼソスソスソスナなゑソスソスソスホなゑソスネゑソスソスニ規ソス閧オソストゑソスソスワゑソスソスB ソスワゑソスソスAソスsソスsソスkソスフ値ソスヘ0ソスネ擾ソスQソスPソスSソスVソスSソスWソスRソスUソスSソスVソスネ会ソスソスナ、ソスLソスソスソスソスソスソスソスRソスPソスrソスbソスg ソスニ規ソス閧オソストゑソスソスワゑソスソスB RDATA which is the type and sometimes class dependent data which describes the resource: ソスソスソスソスソスfソス[ソス^ ソス^ソスCソスvソス竡橸ソスノはクソスソスソスXソスノ依托ソスソスソスソス骼托ソスソスソスソスソスLソスqソスソスソスソスfソス[ソス^ソスF A For the IN class, a 32 bit IP address ソスhソスmソスNソスソスソスXソスナは3ソスQソスrソスbソスgソスフIソスoソスAソスhソスソスソスX For the CH class, a domain name followed by a 16 bit octal Chaos address. ソスbソスgソスNソスソスソスXソスナはドソスソスソスCソスソスソスソスソスニゑソスソスソスノ托ソスソスソスソスPソスU ソスrソスbソスgソスフ8ソスiソスソスソスJソスIソスXソスAソスhソスソスソスX CNAME a domain name. ソスhソスソスソスCソスソスソスソス MX a 16 bit preference value (lower is better) followed by a host name willing to act as a mail exchange for the owner domain. ソスPソスUソスrソスbソスgソスフ優ソスソスlソスiソスソスソスソスソスソスソスルど優ソスソスjソスニ、 ソスソスソスLソスメドソスソスソスCソスソスソスフソスソス[ソスソスソスソスソスソスソスフ厄ソスソス務めゑソスz ソスXソスgソスソス NS a host name. ソスzソスXソスgソスソス PTR a domain name. ソスhソスソスソスCソスソスソスソス SOA several fields. ソスソスソスいソスソスネフソスBソス[ソスソスソスh The owner name is often implicit, rather than forming an integral part of the RR. For example, many name servers internally form tree or hash structures for the name space, and chain RRs off nodes. The remaining RR parts are the fixed header (type, class, TTL) which is consistent for all RRs, and a variable part (RDATA) that fits the needs of the resource being described. ソスソスソスLソスメ厄ソスソスヘゑソスソスホゑソスソスホ趣ソスソスソスソスソスソスRソス[ソスhソスフ不ソスツ鯉ソスソスネ包ソスソスソスソスナはなゑソスソステ黙に趣ソスソスソスソスソスワゑソスソスBソスソス ソスソスソスホ、ソスソスソスソスソスフネソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスIソスノ厄ソスソスOソスソスヤゑソスリゑソスnソスbソスVソスソスソス\ソスソスソスナ表ソスソスソスソスソスAソスmソス[ ソスhソスソスソスソスリり離ソスソスソス黷スソスソスソスソスソスソスソスRソス[ソスhソスソスソスソスソス`ソスソスソスソスソスワゑソスソスBソスソスソスソスソスソスソスRソス[ソスhソスフ残ソスソスフ包ソスソスソスソスソス ソスナ抵ソスwソスbソス_ソスiソス^ソスCソスvソスAソスNソスソスソスXソスAソスsソスsソスkソスjソスナゑソスソスソスヘゑソスソスラての趣ソスソスソスソスソスソスRソス[ソスhソスナ難ソスソスソスソスソス ソスソスソスソスAソスツ変包ソスソスiソスソスソスソスソスfソス[ソス^ソスjソスヘソスソス\ソス[ソスXソスフ記ソスqソスノ適ソスソスソスソスソスソスソスソスソスナゑソスソスB The meaning of the TTL field is a time limit on how long an RR can be kept in a cache. This limit does not apply to authoritative data in zones; it is also timed out, but by the refreshing policies for the zone. The TTL is assigned by the administrator for the zone where the data originates. While short TTLs can be used to minimize caching, and a zero TTL prohibits caching, the realities of Internet performance suggest that these times should be on the order of days for the typical host. If a change can be anticipated, the TTL can be reduced prior to the change to minimize inconsistency during the change, and then increased back to its former value following the change. ソスsソスsソスkソスtソスBソス[ソスソスソスhソスフ意厄ソスソスヘ、ソスヌゑソスルどの奇ソスソスヤ趣ソスソスソスソスソスソスRソス[ソスhソスソスソスLソスソスソスbソスVソスソスソスナ保趣ソスソスソス ソスソスソス驍ゥソスソスソスソスソスソスソスワゑソスソスBソスソスソスフ奇ソスソスソスソスヘゾソス[ソスソスソスフ撰ソスソスソスソスfソス[ソス^ソスノ難ソスソストはまゑソスワゑソスソスソスGソスソスソスソスソスfソス[ ソス^ソスヘゾソス[ソスソスソスフポソスソスソスVソス[ソスノ従ソスソスソスト更ソスVソスソスソスソスワゑソスソスBソスsソスsソスkソスヘデソス[ソス^ソス生撰ソスソスソスソスソス]ソス[ソスソス ソスフ管暦ソスソスメにゑソスソスソスト奇ソスソス闢厄ソストゑソスソスワゑソスソスBソスZソスソスソスsソスsソスkソスヘキソスソスソスbソスVソスソスソスソスソスナ擾ソスソスノゑソスソスAソス[ソスソス ソスlソスフTソスsソスkソスソスソスLソスソスソスbソスVソスソスソスソスソスヨ止ソスソスソスAソスCソスソスソス^ソス[ソスlソスbソスgソスフ鯉ソスソスソスソスヘホソスXソスgソスフ場合ソスソスソスPソスソス ソスフ値ソスソスソスソスソスソスソスソスソスワゑソスソスBソスソスソスソスソスマ更ソスソスソス\ソス閧ウソスソストゑソスソスソスネゑソスAソスsソスsソスkソスヘ変更ソスフ際のデソス[ソス^ ソスフ食ソス痰「ソスソスソスソスソスソス驍スソス゚擾ソスソスネゑソスソスソスソス驍アソスニゑソスソスナゑソスソスAソスマ更ソスソスノ鯉ソスソスフ値ソスノ変更ソスナゑソスソスワゑソスソスB The data in the RDATA section of RRs is carried as a combination of binary strings and domain names. The domain names are frequently used as "pointers" to other data in the DNS. ソスソスソスソスソスソスソスRソス[ソスhソスフ趣ソスソスソスソスfソス[ソス^ソスソスソスフデソス[ソス^ソスヘバソスCソスiソスソスソスソスニドソスソスソスCソスソスソスソスソスフ組ソスン搾ソスソスせソスソス ソス^ソスホゑソスワゑソスソスBソスcソスmソスrソスナドソスソスソスCソスソスソスソスソスヘゑソスソスホゑソスソスホ托ソスソスフデソス[ソス^ソスヨの「ソス|ソスCソスソスソス^ソスvソスニゑソスソスソス ソスpソスソスソスソスソスワゑソスソスB 3.6.1. Textual expression of RRs 3.6.1. ソスソスソスソスソスソスソスRソス[ソスhソスフテソスLソスXソスgソス\ソスソス RRs are represented in binary form in the packets of the DNS protocol, and are usually represented in highly encoded form when stored in a name server or resolver. In this memo, we adopt a style similar to that used in master files in order to show the contents of RRs. In this format, most RRs are shown on a single line, although continuation lines are possible using parentheses. ソスソスソスソスソスソスソスRソス[ソスhソスヘDソスmソスrソスvソスソスソスgソスRソスソスソスフパソスPソスbソスgソスナバソスCソスiソスソスソス`ソスソスソスナ表ソスソスソスソスソスソスAソスlソス[ソスソス ソスTソス[ソスoソス[ソス窿奇ソス]ソスソスソスoソスノ登ソス^ソスソスソスソス骼橸ソスAソスハ擾ソスAソスソスソスxソスノコソス[ソスhソスソスソスソスソス黷スソス`ソスナ表ソスソスソスソスソスソス ソスワゑソスソスBソスソスソスフ包ソスソスソスソスナ、ソスソスXソスヘ趣ソスソスソスソスソスソスRソス[ソスhソスフ記ソスqソスノ、ソス}ソスXソス^ソス[ソスtソス@ソスCソスソスソスナ使ソスソスソスソス ソス`ソスソスソスノにゑソスソス\ソスソスソスソスソスソスソスワゑソスソスBソス}ソスXソス^ソス[ソスtソス@ソスCソスソスソスtソスHソス[ソス}ソスbソスgソスナ趣ソスソスソスソスソスソスRソス[ソスhソスヘ奇ソスソスソス ソスソスソスgソスソスソスソスソスニで包ソスソスソスソスsソスノでゑソスソスワゑソスソスソスソスAソスルとゑソスヌゑソスソスPソスsソスナ表ソスソスソスソスソスワゑソスソスB The start of the line gives the owner of the RR. If a line begins with a blank, then the owner is assumed to be the same as that of the previous RR. Blank lines are often included for readability. ソスsソスフ始ソス゚は趣ソスソスソスソスソスソスRソス[ソスhソスフ擾ソスソスLソスメでゑソスソスBソスソスソスソスソスsソスソスソス白ゑソスソスソスnソスワゑソスネゑソスAソスソスソスLソスメゑソス ソスOソスフ趣ソスソスソスソスソスソスRソス[ソスhソスニ難ソスソスソスソスナゑソスソスBソスヌみやすソスソスソスフゑソスソス゚に空白行ソスソスソスワまゑソスワゑソスソスB Following the owner, we list the TTL, type, and class of the RR. Class and type use the mnemonics defined above, and TTL is an integer before the type field. In order to avoid ambiguity in parsing, type and class mnemonics are disjoint, TTLs are integers, and the type mnemonic is always last. The IN class and TTL values are often omitted from examples in the interests of clarity. ソスソスソスLソスメの鯉ソスノ趣ソスソスソスソスソスソスRソス[ソスhソスフTソスsソスkソスニタソスCソスvソスニクソスソスソスXソスソスソスソスソスソスソスワゑソスソスBソスNソスソスソスXソスニタソスC ソスvソスヘ擾ソスノ抵ソス`ソスソスソス黷スソスソスソスフゑソスソスgソスソスソスAソスsソスsソスkソスヘタソスCソスvソスtソスBソス[ソスソスソスhソスフ前ソスノゑソスソス關ョソスソスソスナゑソスソスB ソスソスソスソスソスソスヘゑソスソスソスロのゑソスソスソスソスワゑソスソスソスソスソスソスソスソスソス驍スソス゚に、ソス^ソスCソスvソスニクソスソスソスXソスナ難ソスソスソスソスソスソスフゑソスソス` ソスソスソスワゑソスソスソスAソスsソスsソスkソスヘ撰ソスソスソスソスナ、ソス^ソスCソスvソスソスソスヘ擾ソスノ最鯉ソスナゑソスソスBINソスNソスソスソスXソスソスTTLソスlソスヘ読ゑソス ソス竄キソスソスソスフゑソスソス゚に暦ソスナはゑソスソスホゑソスソスホ擾ソスソスソスソスソスワゑソスソスB The resource data or RDATA section of the RR are given using knowledge of the typical representation for the data. ソスソスソス\ソス[ソスXソスfソス[ソス^ソス竡托ソスソスソスソスソスRソス[ソスhソスフ趣ソスソスソスソスfソス[ソス^ソスソスソスフデソス[ソス^ソスヘデソス[ソス^ソスフ茨ソスハ的ソスネ表ソスソス ソスナ記ソスqソスソスソスワゑソスソスB For example, we might show the RRs carried in a message as: ソス痰ヲソスホ、ソスネ会ソスソスフようソスノソスソスbソスZソス[ソスWソスソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソスソス\ソスソスソスソスソス驍ゥソスソスソスソスソスソスワゑソスソスソスF ISI.EDU. MX 10 VENERA.ISI.EDU. MX 10 VAXA.ISI.EDU. VENERA.ISI.EDU. A 128.9.0.32 A 10.1.0.52 VAXA.ISI.EDU. A 10.2.0.27 A 128.9.0.33 The MX RRs have an RDATA section which consists of a 16 bit number followed by a domain name. The address RRs use a standard IP address format to contain a 32 bit internet address. MXソスソスソスソスソスソスソスRソス[ソスhソスヘドソスソスソスCソスソスソスソスソスニ1ソスUソスrソスbソスgソスフ撰ソスソスソスソス逅ャソス骼托ソスソスソスfソス[ソス^ソスソスソスソスソスソスソスソスソスワゑソスソスB ソスAソスhソスソスソスXソスソスソスソスソスソスソスRソス[ソスhソスヘ3ソスQソスrソスbソスgソスフイソスソスソス^ソス[ソスlソスbソスgソスAソスhソスソスソスXソスソスソスワむ標ソスソスソスIソスソス ソスhソスoソスAソスhソスソスソスXソスtソスHソス[ソス}ソスbソスgソスソスソスgソスソスソスワゑソスソスB This example shows six RRs, with two RRs at each of three domain names. ソスソスソスフ暦ソスヘ、ソスRソスツのドソスソスソスCソスソスソスソスソスフ2ソスツづゑソスソスAソスSソスソスソスナ6ソスツの趣ソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスソスソスワゑソスソスB Similarly we might see: ソスソスソスlソスノ: XX.LCS.MIT.EDU. IN A 10.0.0.44 CH A MIT.EDU. 2420 This example shows two addresses for XX.LCS.MIT.EDU, each of a different class. ソスソスソスフ暦ソスソスXX.LCS.MIT.EDUソスフ2ソスツのクソスソスソスXソスフ異なゑソスAソスhソスソスソスXソスナゑソスソスB 3.6.2. Aliases and canonical names 3.6.2. ソスハ厄ソスソスニ標ソスソスソスソス In existing systems, hosts and other resources often have several names that identify the same resource. For example, the names C.ISI.EDU and USC-ISIC.ARPA both identify the same host. Similarly, in the case of mailboxes, many organizations provide many names that actually go to the same mailbox; for example [email protected], [email protected], and [email protected] all go to the same mailbox (although the mechanism behind this is somewhat complicated). ソスソスソスソスソスフシソスXソスeソスソスソスナ、ソスzソスXソスgソス竭シソスフ趣ソスソスソスソスソスソスAソスソスソスホゑソスソスホ難ソスソスソスソスソスソスソスソスソスソスソスソスハゑソスソス驍「ソスソスソスツゑソス ソスフ厄ソスソスOソスソスソスソスソスソスソスワゑソスソスBソス痰ヲソスホ、ソスソスソスOC.ISI.EDUソスソスUSC-ISIC.ARPAソスヘ具ソスソスノ難ソスソスソスソスzソスXソスgソスソス ソスソスソスハゑソスソスワゑソスソスBソスソスソスlソスノ、ソスソスソス[ソスソスソス{ソスbソスNソスXソスフ場合ソスナ、ソスソスソスソスソスフ組ソスDソスソスソスソスソスロには難ソスソスソスソスソスソス[ ソスソスソス{ソスbソスNソスXソスノ転ソスソスソスソスソスソス髑スソスソスソスフ厄ソスソスOソスソスソスソスソスソスソスソスソスワゑソスソスGソス痰ヲソスソス[email protected] ソスソス[email protected]ソスソス[email protected]ソスソスソスiソスソスソスJソスjソスYソスソスソスソスソスソスソスソスソス轤ゥソスソスソスGソスナゑソスソスソスソスj ソスソスソスラて難ソスソスソスソスソスソス[ソスソスソス{ソスbソスNソスXソスノ行ソスソスソスワゑソスソスB Most of these systems have a notion that one of the equivalent set of names is the canonical or primary name and all others are aliases. ソスソスソスソスソスフ托ソスソスソスソスフシソスXソスeソスソスソスナ、ソスソスソスソスソスフ厄ソスソスOソスフ1ソスツゑソスソスWソスソスソスソスソスソスソスソスソスソスソスヘ奇ソス{ソスソスソスナ、ソスソス ソスフほゑソスソスソスソスハ厄ソスソスニゑソスソスソスソスlソスソスソスソスソスソスソストゑソスソスワゑソスソスB ソス注:ソスソスソスフ記ソスqソスヘホソスXソスgソスヘ1ソスツゑソスソスソスソスソスソスOソスソスソスソスソスソスソストなゑソスソスlソスノ奇ソスソスソスソスソスソスソスソスワゑソスソスソスソスA RFC2181ソスナ否定さソスソストゑソスソスワゑソスソスBソスzソスXソスgソスヘ包ソスソスソスソスフ厄ソスソスOソスソスソスソスソスツゑソスソスニゑソスソスoソスソスソスワゑソス ソスiソスソスソスソスソスフドソスソスソスCソスソスソスソスソスフAソスソスソスRソス[ソスhソスソスソスソスソスソスソスAソスhソスソスソスXソスソスソスソスソスソスソストゑソスソスト厄ソス閧ソスソスワゑソスソスソスj ソスワゑソスソスAソスPソスツのアソスhソスソスソスXソスtソスソスソスソスソスhソスソスソスCソスソスソスソスソスノ対ゑソスソスト包ソスソスソスソスソスPTRソスソスソスRソス[ソスhソスソスソスソスソスソスソスソスソス ソスソスソスワゑソスソスB The domain system provides such a feature using the canonical name (CNAME) RR. A CNAME RR identifies its owner name as an alias, and specifies the corresponding canonical name in the RDATA section of the RR. If a CNAME RR is present at a node, no other data should be present; this ensures that the data for a canonical name and its aliases cannot be different. This rule also insures that a cached CNAME can be used without checking with an authoritative server for other RR types. ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスヘゑソスソスフようソスネ機ソス\ソスソスWソスソスソスソス(CNAME)ソスソスソスソスソスソスソスRソス[ソスhソスソスソスgソスソスソスト具ソスソスソス ソスソスソスワゑソスソスBCNAMEソスソスソスソスソスソスソスRソス[ソスhソスソスソスハ厄ソスソスソスソスソスソスLソスメ厄ソスソスニゑソスソスAソスソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソスフ趣ソスソスソス ソスfソス[ソス^ソスソスソスナ対会ソスソスソスソスソスWソスソスソスソスソスソスソスwソス閧オソスワゑソスソスBソスソスソスソスCNAMEソスソスソスソスソスソスソスRソス[ソスhソスmソス[ソスhソスノゑソスソスソス ソスネゑソスホ、ソスソスソスフデソス[ソス^ソスヘ托ソスソスンゑソスソスソスラゑソスソスナはゑソスソスソスワゑソスソスソスGソスソスソスソスヘ標ソスソスソスソスソスニ別厄ソスソスソス ソスfソス[ソス^ソスソスソスルなゑソスネゑソスソスソスソスニゑソスロ証ゑソスソスワゑソスソスBソスソスソスフ規ソスソスソスヘ難ソスソスソスソスソスソスLソスソスソスbソスVソスソスソスソスソス黷ス CNAMEソスソスソスソスソスミ(ソスソスソスソスソスjソスTソス[ソスoソス[ソスノ問合ソスずソスノ托ソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソス^ソスCソスvソスノ使ソスソスソス驍ア ソスニゑソスロ証ゑソスソスワゑソスソスB CNAME RRs cause special action in DNS software. When a name server fails to find a desired RR in the resource set associated with the domain name, it checks to see if the resource set consists of a CNAME record with a matching class. If so, 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. The one exception to this rule is that queries which match the CNAME type are not restarted. CNAMEソスソスソスソスソスソスソスRソス[ソスhソスヘDソスmソスrソス\ソスtソスgソスEソスFソスAソスノ難ソスソスハな行ソスソスソスソスソスNソスソスソスソスソスワゑソスソスBソスlソス[ソスソス ソスTソス[ソスoソス[ソスソスソスhソスソスソスCソスソスソスソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソスフ抵ソスソスソスソスソスソス]ソスソスソス骼托ソスソスソスソスソスRソス[ソスhソスソスソスソスソスツゑソスソスソス ソスソスネゑソスソスソスソスソスソスソスソスAソスソスソスソスソスNソスソスソスXソスソスCNAMEソスソスソスRソス[ソスhソスソスソスネゑソスソスソスソスソスソスラまゑソスソスBソスソスソスソスソスソスソスソスホネソス[ ソスソスソスTソス[ソスoソス[ソスヘ回答ゑソスCNAMEソスソスソスRソス[ソスhソスソスソスワめて、CNAMEソスソスソスRソス[ソスhソスフデソス[ソス^ソスtソスBソス[ソスソスソスh ソスナ指ソス閧ウソス黷スソスhソスソスソスCソスソスソスソスソスナ問合ソスソスソスソスソスト開ソスソスソスワゑソスソスBソスソスソスフ規ソスソスソスフ1ソスツの暦ソスOソスソスCNAME ソス^ソスCソスvソスノ対ゑソスソスソス竝ソスソスソスヘ再開ソスソスソスソスネゑソスソスニゑソスソスソスソスソスソスニでゑソスソスB For example, suppose a name server was processing a query with for USC- ISIC.ARPA, asking for type A information, and had the following resource records: ソス痰ヲソスホ、ソスlソス[ソスソスソスTソス[ソスoソス[ソスソスUSC- ISIC.ARPAソスフAソス^ソスCソスvソスソスソスソスソスソスソス゚ゑソス竝ソスソスソスソスソスソスソスソス ソスソスソスAソスソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスソスニ考ソスソスソストゑソスソスソスソスソスソスソスソスF USC-ISIC.ARPA IN CNAME C.ISI.EDU C.ISI.EDU IN A 10.0.0.52 Both of these RRs would be returned in the response to the type A query, while a type CNAME or * query should return just the CNAME. ソスソスソスソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソスフ暦ソスソスソスソスソスソス`ソス^ソスCソスvソスフ問合ソスソスソスフ回答で返ゑソスソスソス驍セソスうソスソスソスA CNAMEソスソス*ソス竝ソスソスソスソスCNAMEソスソスソスソスソスソスヤゑソスソスラゑソスソスナゑソスソスB Domain names in RRs which point at another name should always point at the primary name and not the alias. This avoids extra indirections in accessing information. For example, the address to name RR for the above host should be: ソスソスソスフ厄ソスソスOソスソスソス|ソスCソスソスソスgソスソスソス骼托ソスソスソスソスソスRソス[ソスhソスフドソスソスソスCソスソスソスソスソスヘ擾ソスノ別厄ソスソスナはなゑソスソスAソスソス{ソスソス ソスソスソス|ソスCソスソスソスgソスソスソスソスラゑソスソスナゑソスソスBソスソスソスソスヘ会ソスソスソスソスフ擾ソスソスAソスNソスZソスXソスソスソスソスソスソスワゑソスソスBソス痰ヲソスホ、ソスソス ソスLソスフホソスXソスgソスフアソスhソスソスソスXソスフ趣ソスソスソスソスソスソスRソス[ソスhソスノゑソスソスソスソスラゑソスソスソスソスフは以会ソスソスナゑソスソスF 52.0.0.10.IN-ADDR.ARPA IN PTR C.ISI.EDU rather than pointing at USC-ISIC.ARPA. Of course, by the robustness principle, domain software should not fail when presented with CNAME chains or loops; CNAME chains should be followed and CNAME loops signalled as an error. USC-ISIC.ARPA.ソスソスソスソスソスソスソスラゑソスソスナゑソスソスソスワゑソスソスソスBソスソスソスソスソスソスソスAソスソスソス關ォソスフゑソスソス゚にドソスソスソスCソスソスソス\ ソスtソスgソスEソスFソスAソスソスCNAMEソスAソスソスソス窿具ソス[ソスvソスソス^ソスソスソスソス黷スソスソスソスAソスフ障すソスソスラゑソスソスナはゑソスソスソスワゑソスソスソスG CNAMEソスAソスソスソスソスソスソスソスソスソスト鯉ソスソスソスソスソスソスソスACNAMEソスソスソス[ソスvソスソスソスGソスソスソス[ソスニ報告ゑソスソスソスソスラゑソスソスナゑソスソスB 3.7. Queries 3.7. ソス竝ソスソス Queries are messages which may be sent to a name server to provoke a response. In the Internet, queries are carried in UDP datagrams or over TCP connections. The response by the name server either answers the question posed in the query, refers the requester to another set of name servers, or signals some error condition. ソス竝ソスソスソスヘ回答ゑソスソスソスソス驍セソスうソスlソス[ソスソスソスTソス[ソスoソス[ソスノ托ソスソスソスソス驛ソスbソスZソス[ソスWソスナゑソスソスBソスCソスソスソス^ソス[ ソスlソスbソスgソスナ、ソス竝ソスソスソスソスソスtソスcソスoソスfソス[ソス^ソスOソスソスソスソスソスソスソスsソスbソスoソスレ托ソスソスフ擾ソスノ載ゑソスソスソスソスワゑソスソスBソスlソス[ ソスソスソスTソス[ソスoソス[ソスフ回答は問合ソスソスソスソス黷スソスソスソスソスフ回答ゑソスソスAソスソスソスフネソス[ソスソスソスTソス[ソスoソスQソスフ参ソスニゑソスソスA ソスGソスソスソス[ソスフ表ソスソスソスナゑソスソスB In general, the user does not generate queries directly, but instead makes a request to a resolver which in turn sends one or more queries to name servers and deals with the error conditions and referrals that may result. Of course, the possible questions which can be asked in a query does shape the kind of service a resolver can provide. ソスソスハに、ソスソスソス[ソスUソス[ソスヘ抵ソスソスレ問合ソスソスソス生撰ソスソスソスソスワゑソスソスソスAソスソスソスフ托ソスソスソスノネソス[ソスソスソスTソス[ソスoソス[ソスソス ソスPソスツ以擾ソスフ問合ソスソスソストエソスソスソス[ソスソスQソスニゑソスソスソスソスソスソスソスソス]ソスソスソスoソスノ問いソスソスソスせソスワゑソスソスBソスソスソスソスソスソスソスA ソス竝ソスソスソスナ出ソスソスソス骼ソソス竄ェソスソスソス]ソスソスソスoソスフサソス[ソスrソスXソスフ趣ソズゑソスソスソスソス゚まゑソスソスB DNS queries and responses are carried in a standard message format. The message format has a header containing a number of fixed fields which are always present, and four sections which carry query parameters and RRs. ソスcソスmソスrソスフ問合ソスソスソスニ回答ゑソスソスWソスソスソスIソスネソスソスbソスZソス[ソスWソスtソスHソス[ソス}ソスbソスgソスナ托ソスソスソスソスワゑソスソスBソスソスソスbソスZソス[ ソスWソスtソスHソス[ソス}ソスbソスgソスヘ擾ソスノ托ソスソスンゑソスソストゑソスソス髑スソスソスソスフ固抵ソスtソスBソス[ソスソスソスhソスソスソスワむヘソスbソス_ソスニ問合ソスソス ソスpソスソスソスソスソス[ソス^ソスニ趣ソスソスソスソスソスソスRソス[ソスhソスソスソス^ソスヤ4ソスツのセソスNソスVソスソスソスソスソスソスソスソスソスソスソスワゑソスソスB The most important field in the header is a four bit field called an opcode which separates different queries. Of the possible 16 values, one (standard query) is part of the official protocol, two (inverse query and status query) are options, one (completion) is obsolete, and the rest are unassigned. ソスwソスbソス_ソス[ソスナの最ゑソスソスdソスvソスネフソスBソス[ソスソスソスhソスヘ異なゑソスソスソスソス竝ソスソスソス分暦ソスソスソスソスソスIソスyソスRソス[ソスhソスニ鯉ソス ソスホゑソスソスSソスrソスbソスgソスフフソスBソス[ソスソスソスhソスナゑソスソスBソスツ能ソスネ1ソスUソスlソスノつゑソスソスト、ソスPソスツ(ソスWソスソスソスIソスネ問合 ソスソスソスjソスヘ鯉ソスソスソスソスフプソスソスソスgソスRソスソスソスフ一部ソスナゑソスソスAソスQソスツ(ソスtソスフ問合ソスソスソスニ擾ソスヤの問合ソスソスソスjソスヘオソスv ソスVソスソスソスソスソスナゑソスソスAソスPソスツ(ソスソスソスソスソスjソスヘ趣ソスソスソスxソスソスナ、ソスソスソスソスソスト残ソスソスヘ奇ソスソス闢厄ソストゑソスソストゑソスソスワゑソスソスソスB The four sections are: ソスSソスツのセソスNソスVソスソスソスソスソスソス Question Carries the query name and other query parameters. ソスソスソスソス ソス竝ソスソスソスソスソスニ托ソスソスフ問合ソスソスソスpソスソスソスソスソス[ソス^ソスソスソス^ソスムまゑソスソスB Answer Carries RRs which directly answer the query. ソスソス ソス竝ソスソスソスフ抵ソスソスレの難ソスソスソスソスナゑソスソス骼托ソスソスソスソスソスRソス[ソスhソスソスソス^ソスムまゑソスソスB Authority Carries RRs which describe other authoritative servers. May optionally carry the SOA RR for the authoritative data in the answer section. ソスソスソスミ(ソスソスソスソスソスj ソスソスソスフ鯉ソスソスミ(ソスソスソスソスソスjソスTソス[ソスoソスソスソスLソスqソスソスソスソスソスソスソスソスソスRソス[ソスhソスBソスCソスモ指ソスソスナ撰ソス ソスソスソスfソス[ソス^ソスフSソスnソス`ソスソスソスソスソスソスソスRソス[ソスhソスソスソス答セソスNソスVソスソスソスソスソスナ運ソスムまゑソスソスB Additional Carries RRs which may be helpful in using the RRs in the other sections. ソスヌ会ソス ソスソスソスフセソスNソスVソスソスソスソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソスソス竢包ソスソスソス骼托ソスソスソスソスソスRソス[ソスhソスソスソス^ソスソス ソスワゑソスソスB Note that the content, but not the format, of these sections varies with header opcode. ソスソスソスソスソスフセソスNソスVソスソスソスソスソスフ難ソスソスeソスiソスtソスHソス[ソス}ソスbソスgソスナはなゑソスソスjソスソスソスwソスbソス_ソスフオソスyソスRソス[ソスhソスノゑソス ソスソスマゑソス驍アソスニに抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスB 3.7.1. Standard queries 3.7.1. ソスWソスソスソス竝ソスソス A standard query specifies a target domain name (QNAME), query type (QTYPE), and query class (QCLASS) and asks for RRs which match. This type of query makes up such a vast majority of DNS queries that we use the term "query" to mean standard query unless otherwise specified. The QTYPE and QCLASS fields are each 16 bits long, and are a superset of defined types and classes. ソスWソスソスソスIソスネ問合ソスソスソスヘ目標ソスhソスソスソスCソスソスソスソスソスiQNAMEソスjソスニ問合ソスソスソス^ソスCソスvソスiQTYPEソスjソスニ問合ソスソスソスN ソスソスソスXソスiQCLASSソスjソスソスソスwソス閧オソスAソスソスvソスソスソス骼托ソスソスソスソスソスRソス[ソスhソスソスソスソスソス゚まゑソスソスBソスソスソスフタソスCソスvソスフ問合 ソスソスソスソスソスcソスmソスrソス竝ソスソスソスフ大部ソスソスソスソスソス\ソスソスソスソスソスソスフで、ソスソスソスノ指ソス閧ケソスソスソスノ「ソス竝ソスソスソスvソスニ鯉ソスソスソスソスソス ソス鼾ソスAソスWソスソスソス竝ソスソスソスソスソスモ厄ソスソスソスソスワゑソスソスBQTYPEソスソスQCLASSソスtソスBソス[ソスソスソスhソスヘゑソスソス黷シソス齟キソスソスソスPソスU ソスrソスbソスgソスナ、ソスソス`ソスソスソス黷スソス^ソスCソスvソスニクソスソスソスXソスフ擾ソスハ集ソスソスソスナゑソスソスB The QTYPE field may contain: QTYPEソスtソスBソス[ソスソスソスhソスヘ以会ソスソスナゑソスソス蛯、ソスF <any type> matches just that type. (e.g., A, PTR). ソスソスソスフタソスCソスvソスノ茨ソスvソスソスソスワゑソスソスiAソスソスPTRソスネど) AXFR special zone transfer QTYPE. ソスソスソスハなゾソス[ソスソスソス]ソスソスソス竝ソスソスソス^ソスCソスv MAILB matches all mail box related RRs (e.g. MB and MG). ソスSソストのソスソス[ソスソスソス{ソスbソスNソスXソスヨ係ソスフ趣ソスソスソスソスソスソスRソス[ソスhソスiMBソスソスMGソスネど) * matches all RR types. ソスSソストの趣ソスソスソスソスソスソスRソス[ソスhソス^ソスCソスvソスノ茨ソスv The QCLASS field may contain: QCLASSソスtソスBソス[ソスソスソスhソスヘ以会ソスソスナゑソスソス蛯、ソスF <any class> matches just that class (e.g., IN, CH). ソスソスソスフクソスソスソスXソスノ茨ソスvソスソスソスワゑソスソスiINソスソスCHソスネど) * matches aLL RR classes. ソスSソストの趣ソスソスソスソスソスソスRソス[ソスhソスNソスソスソスXソスノ茨ソスv Using the query domain name, QTYPE, and QCLASS, the name server looks for matching RRs. In addition to relevant records, the name server may return RRs that point toward a name server that has the desired information or RRs that are expected to be useful in interpreting the relevant RRs. For example, a name server that doesn't have the requested information may know a name server that does; a name server that returns a domain name in a relevant RR may also return the RR that binds that domain name to an address. ソス竝ソスソスソスhソスソスソスCソスソスソスソスソスソスQTYPEソスソスQCLASSソスソスソスgソスソスソスAソスlソス[ソスソスソスTソス[ソスoソス[ソスヘ茨ソスvソスソスソス骼托ソスソスソスソスソスRソス[ ソスhソスソスTソスソスソスワゑソスソスBソスKソスリなソスソスRソス[ソスhソスフほゑソスソスノ、ソスlソス[ソスソスソスTソス[ソスoソス[ソスヘ望ソスワゑソスソスソスソスソスソスソスソスソスソスソス ソスlソス[ソスソスソスTソス[ソスoソスソスソス|ソスCソスソスソスgソスソスソス骼托ソスソスソスソスソスRソス[ソスhソスソスAソスKソスリな趣ソスソスソスソスソスソスRソス[ソスhソスソスソスソスソス゚ゑソスソスソスソス ソスノ有ソスpソスニ奇ソスソスメゑソスソスソス骼托ソスソスソスソスソスRソス[ソスhソスソスヤゑソスソスソスソスソスソスソスソスソスワゑソスソスソスBソス痰ヲソスホ、ソスソスソス゚ゑソス黷スソスソス ソスソスソスソスソスソスソスソスネゑソスソスlソス[ソスソスソスTソス[ソスoソス[ソスソスソスソスソスソスソストゑソスlソス[ソスソスソスTソス[ソスoソス[ソスソスmソスソスソストゑソスソス驍ゥソスソスソスソスソスソスソス ソスソスソスソスGソスKソスリな趣ソスソスソスソスソスソスRソス[ソスhソスナでドソスソスソスCソスソスソスソスソスソスヤゑソスソスlソス[ソスソスソスTソス[ソスoソス[ソスソスソスAソスソスソスフドソスソスソスC ソスソスソスノ関ゑソスソスソスAソスhソスソスソスXソスソスソスソスソスソスソスRソス[ソスhソスソスヤゑソスソストゑソスソス謔「ソスナゑソスソスB For example, a mailer tying to send mail to [email protected] might ask the resolver for mail information about ISI.EDU, resulting in a query for QNAME=ISI.EDU, QTYPE=MX, QCLASS=IN. The response's answer section would be: ソス痰ヲソスソス[email protected]ソスノソスソス[ソスソスソス送ろうソスニゑソスソストゑソスソス驛ソスCソスソスソス[ソスソスソスソスソス]ソスソスソスoソスソス ISI.EDUソスフソスソス[ソスソスソスソスソスソスソスソスソス゚、QNAME=ISI.EDU, QTYPE=MX, QCLASS=INソスフ問合ソスソスソスソス ソスソスソスソスソスソスソスソスソスニゑソスソスワゑソスソスBソス答の回答セソスNソスVソスソスソスソスソスヘ以会ソスソスナゑソスソス蛯、ソスF ISI.EDU. MX 10 VENERA.ISI.EDU. MX 10 VAXA.ISI.EDU. while the additional section might be: ソス答の追会ソスソスZソスNソスVソスソスソスソスソスヘ以会ソスソスナゑソスソス蛯、ソスF VAXA.ISI.EDU. A 10.2.0.27 A 128.9.0.33 VENERA.ISI.EDU. A 10.1.0.52 A 128.9.0.32 Because the server assumes that if the requester wants mail exchange information, it will probably want the addresses of the mail exchanges soon afterward. ソスTソス[ソスoソス[ソスヘ要ソスソスソスメゑソスソスソスソス[ソスソスソスソスソスソスソスソスソスソスKソスvソスニゑソスソスソスネゑソスAソスソスソスソスソスノソスソス[ソスソスソスソスソスソスソスフアソスh ソスソスソスXソスソスソスKソスvソスノなゑソスニ想ソス閧オソスワゑソスソスB Note that the QCLASS=* construct requires special interpretation regarding authority. Since a particular name server may not know all of the classes available in the domain system, it can never know if it is authoritative for all classes. Hence responses to QCLASS=* queries can never be authoritative. QCLASS=*ソスソスソスfソス[ソス^ソスソスソスソスソスソスソスソスソスヌゑソスソスソスソスノ関ゑソスソスト難ソスソスハな会ソスソス゚ゑソスソスソスソスソスノに抵ソスソスモゑソスソストゑソスソスソスソスソス ソスソスソスBソスソスソスソスフネソス[ソスソスソスTソス[ソスoソス[ソスソスソスhソスソスソスCソスソスソスVソスXソスeソスソスソスナ暦ソスソスpソスツ能ソスネクソスソスソスXソスフゑソスソスラてゑソスmソスソス ソストゑソスソスソスニは鯉ソスソスソスネゑソスソスフで、ソスソスソスラてのクソスソスソスXソスノ対ゑソスソスト撰ソスソスソスソスソスソスヌゑソスソスソスソスmソス驍アソスニゑソスソスナゑソス ソスワゑソスソスソスBソスソスソスフゑソスソスソスQCLASS=*ソスフ趣ソスソスソスノ対ゑソスソスソス答ゑソスソスソスソスソスソスト撰ソスソスソスソスノなりえソスワゑソスソスソスB 3.7.2. Inverse queries (Optional) 3.7.2. ソスtソス竝ソスソスソスiソスCソスモ) Name servers may also support inverse queries that map a particular resource to a domain name or domain names that have that resource. For example, while a standard query might map a domain name to a SOA RR, the corresponding inverse query might map the SOA RR back to the domain name. ソスlソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスフ趣ソスソスソスソスソスソスhソスソスソスCソスソスソスソスソスノ、ソスワゑソスソスヘゑソスソスフ趣ソスソスソスソスソスソスソスソスツドソスソスソスCソスソスソスソスソスソス ソスマ奇ソスソスソスソスソスtソスフ問合ソスソスソスソスソスTソス|ソス[ソスgソスソスソス驍ゥソスソスソスソスソスソスワゑソスソスソスBソス痰ヲソスホ標ソスソスソスIソスネ問合ソスソスソスソスソスh ソスソスソスCソスソスソスソスソスソスSOAソスソスソスソスソスソスソスRソス[ソスhソスノ変奇ソスソスソスソスソスフに対ゑソスソスト、ソスホ会ソスソスソスソスソスtソスフ問合ソスソスソスソスSOAソスソス ソスソスソスソスソスRソス[ソスhソスソスソスhソスソスソスCソスソスソスソスソスノ変奇ソスソスソスソスワゑソスソスB Implementation of this service is optional in a name server, but all name servers must at least be able to understand an inverse query message and return a not-implemented error response. ソスソスソスフサソス[ソスrソスXソスソスソスソスソスソスソスソスソス驍ゥソスヌゑソスソスソスソスヘネソス[ソスソスソスTソス[ソスoソスソスソスノ任ソスモでゑソスソスソスソスAソスソスソスラてのネソス[ ソスソスソスTソス[ソスoソス[ソスヘ擾ソスソスネゑソスソスニゑソスソスtソス竝ソスソスソスソスソスbソスZソス[ソスWソス理会ソスソスソスソスト、ソスuソスソスソスソスソスソスソストゑソスソスネゑソスソスvソスG ソスソスソス[ソス答ゑソスヤでなゑソスソスソスホなゑソスワゑソスソスソスB The domain system cannot guarantee the completeness or uniqueness of inverse queries because the domain system is organized by domain name rather than by host address or any other resource type. Inverse queries are primarily useful for debugging and database maintenance activities. ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスソスソスzソスXソスgソスAソスhソスソスソスXソス竡托ソスソスソス^ソスCソスvソスナはなゑソスソスhソスソスソスCソスソスソスソスソスナ組ソスDソスソスソスソス ソスソスソスフで、ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスヘ逆ソスフ問合ソスソスソスフ奇ソスソスSソスソスソスソスソス驍「ソスヘソスソスjソス[ソスNソスソスソスソスロ証ゑソス ソスソスソスワゑソスソスソスBソスtソスフ問合ソスソスソスヘ趣ソスノデソスoソスbソスOソスソスfソス[ソス^ソスxソス[ソスXソスヌ暦ソスソスノ有ソスpソスナゑソスソスB Inverse queries may not return the proper TTL, and do not indicate cases where the identified RR is one of a set (for example, one address for a host having multiple addresses). Therefore, the RRs returned in inverse queries should never be cached. ソスtソスソスソス竄ェソスKソスリなTソスsソスkソスソスヤゑソスソスネゑソスソスソスソスソスソスソスソスソスネゑソスソスAソスソスソスソスソスソスソスRソス[ソスhソスソスソスソスソス黷セソスソスソスソスソスヌゑソス ソスソスソスソスソスソスソスソスソスワゑソスソスソスiソス痰ヲソスホ、ソスzソスXソスgソスソスソスソスソスツアソスhソスソスソスXソスフゑソスソスソスソスPソスツゑソスソスソスソスソスソスソスソスネど)ソスBソスソス ソスフゑソスソス゚逆ソスフ趣ソスソスソスナ返ゑソスソス黷スソスソスソスソスソスソスソスRソス[ソスhソスヘ鯉ソスソスソスソストキソスソスソスbソスVソスソスソスソスソスソスソスラゑソスソスナはゑソスソスソス ソスワゑソスソスソスB Inverse queries are NOT an acceptable method for mapping host addresses to host names; use the IN-ADDR.ARPA domain instead. ソスtソスフ問合ソスソスソスヘホソスXソスgソスAソスhソスソスソスXソスソスソスzソスXソスgソスソスソスノ変奇ソスソスソスソス髢橸ソスソスソスネ包ソスソス@ソスナはゑソスソスソスワゑソスソスソスG ソスソスソスフ托ソスソスソスソスIN-ADDR.ARPAソスhソスソスソスCソスソスソスソスソスgソスソスソスラゑソスソスナゑソスソスB A detailed discussion of inverse queries is contained in [RFC-1035]. ソスtソスフ趣ソスソスソスフ詳細な論ソスcソスソス[RFC-1035]ソスノゑソスソスソスワゑソスソスB 3.8. Status queries (Experimental) 3.8. ソスソスヤ問合ソスソスソスiソスソスソスソスソスIソスj To be defined. ソスソス`ソスソスソス驍アソスニ。 3.9. Completion queries (Obsolete) 3.9. ソスソスソスソスソスフ趣ソスソスソスiソスソスソスソスxソスソスj The optional completion services described in RFCs 882 and 883 have been deleted. Redesigned services may become available in the future, or the opcodes may be reclaimed for other use. RFC882ソスソスRFC883ソスナ記ソスqソスソスソス黷スソスCソスモの奇ソスソスソスソスTソス[ソスrソスXソスヘ削除ソスソスソスソスワゑソスソスソスソスBソスfソスUソスCソスソスソスソス ソスマ更ソスソスソスソスソスTソス[ソスrソスXソスソスソスソスソスソスソスソスソスpソスツ能ソスノなるかソスソスソスソスソスソスワゑソスソスソスAソスソスソス驍「ソスヘオソスyソスRソス[ソスhソスソス ソスソスソスフ暦ソスソスpソスフゑソスソス゚に返還ゑソスvソスソスソスソスソスソス驍ゥソスソスソスソスソスソスワゑソスソスソスB 4. NAME SERVERS 4. ソスlソス[ソスソスソスTソス[ソスrソスX 4.1. Introduction 4.1. ソスヘゑソスソス゚ゑソス Name servers are the repositories of information that make up the domain database. The database is divided up into sections called zones, which are distributed among the name servers. While name servers can have several optional functions and sources of data, the essential task of a name server is to answer queries using data in its zones. By design, name servers can answer queries in a simple manner; the response can always be generated using only local data, and either contains the answer to the question or a referral to other name servers "closer" to the desired information. ソスlソス[ソスソスソスTソス[ソスoソスヘドソスソスソスCソスソスソスfソス[ソス^ソスxソス[ソスXソスソスソス\ソスソスソスソスソスソスソスソスフ倉ソスノでゑソスソスBソスfソス[ソス^ソスxソス[ソスX ソスヘゾソス[ソスソスソスニ呼ばゑソス髟費ソスソスソスノ包ソスソスソスソスソスソスソスAソスlソス[ソスソスソスTソス[ソスoソス[ソスノ包ソスソスzソスソスソスソスワゑソスソスBソスlソス[ソスソスソスTソス[ ソスoソスソスソスソスソスソスソスツゑソスソスフ任ソスモの機ソス\ソスニデソス[ソス^ソス\ソス[ソスXソスソスソスソスソストまゑソスソスソスソスAソスlソス[ソスソスソスTソス[ソスoソスフ奇ソス{ソスI ソスネ仕ソスソスソスヘゑソスソスフゾソス[ソスソスソスフデソス[ソス^ソスソスソスgソスソスソストゑソスソスソス竝ソスソスソスノ難ソスソスソスソス骼厄ソスナゑソスソスBソスモ図ソスIソスノ、ソスソス ソスOソスTソス[ソスoソス[ソスソスソスPソスソスソスネ包ソスソス@ソスナ問合ソスソスソスノ難ソスソスソスソス驍アソスニゑソスソスナゑソスソスワゑソスソスGソス答は擾ソスノソスソス[ソスJソスソス ソスネデソス[ソス^ソスソスソスソスソスソスソスgソスソスソスト撰ソスソスソスソスナゑソスソスワ、ソス答には趣ソスソスソスフ難ソスソスソスソスソスソス]ソスワゑソスソスソスソスソスソスノゑソスソス ソスuソス゚ゑソスソスvソスソスソスフネソス[ソスソスソスTソス[ソスoソスフ紹会ソスソスソスワゑソスナゑソスソスワゑソスソスB A given zone will be available from several name servers to insure its availability in spite of host or communication link failure. By administrative fiat, we require every zone to be available on at least two servers, and many zones have more redundancy than that. ソスソスソスソス]ソス[ソスソスソスヘホソスXソスgソスソスハ信ソスソスソスソスソスNソスフ擾ソスQソスノゑソスソスソスソスソス轤クソスソスソスpソスツ能ソスノゑソスソス驍スソス゚に、ソスソス ソスソスソスツゑソスソスフネソス[ソスソスソスTソス[ソスoソス[ソスナ暦ソスソスpソスツ能ソスナゑソスソス蛯、ソスBソスヌ暦ソスソスソスフ厄ソスソス゚で、ソスSソストのゾソス[ソスソスソスソス ソスヘ擾ソスソスネゑソスソスニゑソスソスQソスツのサソス[ソスoソス[ソスソスソスソスソスpソスツ能ソスナゑソスソスソスAソスソスソスソスソスフゾソス[ソスソスソスナはゑソス闡スソスソスソスフ擾ソス ソスソスソスソスソスソスソスソスソスソスソスツゑソスソスニゑソスソスvソスソスソスソスソスソスワゑソスソスB A given name server will typically support one or more zones, but this gives it authoritative information about only a small section of the domain tree. It may also have some cached non-authoritative data about other parts of the tree. The name server marks its responses to queries so that the requester can tell whether the response comes from authoritative data or not. ソスlソス[ソスソスソスTソス[ソスoソス[ソスソスソスハ擾ソスPソスツ以擾ソスフゾソス[ソスソスソスソスソスTソス|ソス[ソスgソスソスソスソスナゑソスソス蛯、ソスソスソスAソスソスソス黷シソスソスソス ソスhソスソスソスCソスソスソスcソスソスソス[ソスフ擾ソスソスソスソスソスソスソスソスソスソスノゑソスソスソスソスソスソスソスソスネ擾ソスソスソス^ソスソスソスワゑソスソスBソスlソス[ソスソスソスTソス[ソスoソスヘ木ゑソス ソスソスソスフ包ソスソスソスソスノつゑソスソストキソスソスソスbソスVソスソスソスソスソス黷スソスソスソスソスソスナなゑソスソスfソス[ソス^ソスソスソスソスソスソスソストゑソスソス驍ゥソスソスソスソスソスソスワゑソス ソスソスBソスlソス[ソスソスソスTソス[ソスoソス[ソスヘ問合ソスソスソスメゑソスソス答ゑソスソスソスソスソスソスネデソス[ソス^ソスソスソスソスソスソスソスソスソスヌゑソスソスソスソスソスソスソスソスソスlソスノ、 ソス竝ソスソスソスノの回答に茨ソスソスtソスソスソスワゑソスソスB 4.2. How the database is divided into zones 4.2. ソスfソス[ソス^ソスxソス[ソスXソスソスソス]ソス[ソスソスソスノ包ソスソスソスソスソスソスソス@ The domain database is partitioned in two ways: by class, and by "cuts" made in the name space between nodes. ソスhソスソスソスCソスソスソスfソス[ソス^ソスxソス[ソスXソスヘ2ソスツの包ソスソス@ソスナ包ソスソスソスソスソスソスソスワゑソスソスFソスNソスソスソスXソスニ、ソスmソス[ソスhソスナ厄ソスソスOソスソス ソスヤゑソスソスuソスリゑソスvソスソスソスニで。 The class partition is simple. The database for any class is organized, delegated, and maintained separately from all other classes. Since, by convention, the name spaces are the same for all classes, the separate classes can be thought of as an array of parallel namespace trees. Note that the data attached to nodes will be different for these different parallel classes. The most common reasons for creating a new class are the necessity for a new data format for existing types or a desire for a separately managed version of the existing name space. ソスNソスソスソスXソスソスソスソスソスヘ単ソスソスソスナゑソスソスBソスヌゑソスネクソスソスソスXソスフデソス[ソス^ソスxソス[ソスXソスソスソスAソスgソスDソスソスソスニ委任ソスニ保趣ソスソス ソスソスソスフクソスソスソスXソスニ独暦ソスソスノ行ソスソスソスワゑソスソスBソスソスソスワり事ソスニゑソスソスト、ソスソスソスOソスソスヤゑソスソスソスソスラてのクソスソスソスXソスナ難ソス ソスソスソスネので、ソスハのクソスソスソスXソスヘ包ソスソスsソスソスソスソスソスソスソスOソスソスヤ木の配ソスソスニみなゑソスソスソスソスニゑソスソスナゑソスソスワゑソスソスBソスmソス[ ソスhソスノ関連ソスソスソスソスfソス[ソス^ソスソスソスソスソスフクソスソスソスXソスフデソス[ソス^ソスニ異なるこソスニに抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスBソスV ソスソスソスソスソスNソスソスソスXソスソスソスソスソスナゑソスソスソスハ的ソスネ暦ソスソスRソスヘ、ソスソスソスソスソスフタソスCソスvソスフ新ソスソスソスソスソスfソス[ソス^ソスtソスHソス[ソス}ソスb ソスgソスソスソスKソスvソスネ場合ソスソスAソスソスソスソスソスフ厄ソスソスOソスソスヤに別に管暦ソスソスソスソス黷スソスoソス[ソスWソスソスソスソスソスソスソスソスソスソスソスソスソスソス鼾 ソスナゑソスソスB Within a class, "cuts" in the name space can be made between any two adjacent nodes. After all cuts are made, each group of connected name space is a separate zone. The zone is said to be authoritative for all names in the connected region. Note that the "cuts" in the name space may be in different places for different classes, the name servers may be different, etc. ソスNソスソスソスXソスフ抵ソスソスナ、ソスソスソスOソスソスヤの「ソスリ断ソスvソスソスソスヌゑソスネ2ソスツの隣接ゑソスソスソスソスmソス[ソスhソスフ間にでゑソスソスソス ソス驍アソスニゑソスソスナゑソスソスワゑソスソスBソスソスソスラての切断ソスソスソスsソスソス黷スソスソスAソスソスソス黷シソスソスフ接托ソスソスソスソス黷スソスソスソスOソスソスソス ソスOソスソスソス[ソスvソスソスソスハのゾソス[ソスソスソスナゑソスソスBソス]ソス[ソスソスソスヘ接托ソスソスソスソス黷スソスnソスソスナゑソスソスラての厄ソスソスOソスノ信ソスソスソスソスソスソス ソスソスソスナゑソスソスソスニ鯉ソスソスソスソスワゑソスソスBソスソスソスOソスソスヤの「ソスリ断ソスvソスソスソスルなゑソスNソスソスソスXソスナ異なゑソス齒奇ソスノゑソスソスソス ソスソスソスソスソスソスソスソスネゑソスソスソスソスト、ソスlソス[ソスソスソスTソス[ソスoソスソスソスルなるかソスソスソスソスソスソスネゑソスソスソスソスニなどに抵ソスソスモゑソスソストゑソスソスソス ソスソスソスソスソスB These rules mean that every zone has at least one node, and hence domain name, for which it is authoritative, and all of the nodes in a particular zone are connected. Given, the tree structure, every zone has a highest node which is closer to the root than any other node in the zone. The name of this node is often used to identify the zone. ソスソスソスソスソスフ規ソスソスソスヘゑソスソスラてのゾソス[ソスソスソスソスソスソスソスネゑソスソスニゑソスソスPソスツのノソス[ソスhソスソスソスソスソスツゑソスソスニゑソスソスモ厄ソスソスソスソスA ソスソスソスソス艪ヲソスソスソスソスソスネドソスソスソスCソスソスソスソスソスニゑソスソスフゾソス[ソスソスソスフ抵ソスソスフノソス[ソスhソスフゑソスソスラてゑソスソスレ托ソスソスソスソスソストゑソスソスソス ソスソスソスBソス^ソスソスソスソス黷スソスcソスソスソス[ソス\ソスソスソスナ、ソスソスソスラてのゾソス[ソスソスソスヘゾソス[ソスソスソスフ托ソスソスフどのノソス[ソスhソスソスソスソス ソスソスソス[ソスgソスノゑソスソス゚ゑソスソスナ擾ソスハノソス[ソスhソスソスソスソスソスソスソストゑソスソスワゑソスソスBソスソスソスフノソス[ソスhソスフ厄ソスソスOソスヘゾソス[ソスソスソスソスソスソス ソスハゑソスソス驍スソス゚にゑソスソスホゑソスソスホ使ソスソスソスワゑソスソスB It would be possible, though not particularly useful, to partition the name space so that each domain name was in a separate zone or so that all nodes were in a single zone. Instead, the database is partitioned at points where a particular organization wants to take over control of a subtree. Once an organization controls its own zone it can unilaterally change the data in the zone, grow new tree sections connected to the zone, delete existing nodes, or delegate new subzones under its zone. ソスソスソスノ有ソスpソスナなゑソスソスソスソスAソスソスソスOソスソスヤを分奇ソスソスソスソスAソスeソスhソスソスソスCソスソスソスソスソスソスSソスト別のゾソス[ソスソスソスノゑソスソス驍ア ソスニゑソスソスAソスSソストのノソス[ソスhソスソスソスPソスツのゾソス[ソスソスソスノゑソスソス驍アソスニゑソスソスAソスツ能ソスナゑソスソス蛯、ソスBソスソスソスロはデソス[ソス^ ソスxソス[ソスXソスソスソスソスソスフ組ソスDソスソスソスソスソスソスソスリの撰ソスソスソスソスソスソスソスソスソスpソスソスソスソスソスニゑソス]ソズポソスCソスソスソスgソスナ包ソスソスソスソスナゑソスソスソス ソスソスソスBソスgソスDソスソスソスソスソス齊ゥソスgソスフ地ソスソス制鯉ソスナゑソスソスソス謔、ソスノなゑソスニ、ソスソスソスフゾソス[ソスソスソスフデソス[ソス^ソスソスソスソス ソスソスソスIソスノ変ゑソスソスソスソスソスAソス]ソス[ソスソスソスノ接托ソスソスソスソスソスソスVソスソスソスソスソスリの包ソスソスソスソス増やしソスソスソスソスAソスソスソスソスソスフノソス[ソスh ソスソスソス除ソスソスソスソスソスソスAソスソスソスフゾソス[ソスソスソスフ会ソスソスノ新ソスソスソスソスソスTソスuソス]ソス[ソスソスソスソスソスマ任ソスソスソス驍アソスニゑソスソスナゑソスソスワゑソスソスB If the organization has substructure, it may want to make further internal partitions to achieve nested delegations of name space control. In some cases, such divisions are made purely to make database maintenance more convenient. ソスソスソスソスソスgソスDソスソスソスソスソスソスソス\ソスソスソスソスソスソスソスツなゑソスAソスソスソスソスソスノ厄ソスソスOソスソスヤ撰ソスソスソスソスソスdソスソスソスマ任ソスソスソス髟費ソスソスソスソス]ソスソス ソスソスソスソスソスソスソスソスワゑソスソスソスBソスソスソスソス鼾ソスノは、ソスソスソスフようソスネ包ソスソスソスソスヘデソス[ソス^ソスxソス[ソスXソスヌ暦ソスソスソスPソスソスソスソスソスソス ソスsソスソスソスソスソスヌゑソスソスB 4.2.1. Technical considerations 4.2.1. ソスZソスpソスIソスネ考ソスソス The data that describes a zone has four major parts: ソス]ソス[ソスソスソスソスソスLソスqソスソスソスソスfソス[ソス^ソスヘ4ソスツ包ソスソスソスソスソスソスソスソスソスソスワゑソスソスF - Authoritative data for all nodes within the zone. - ソス]ソス[ソスソスソスソスソスフゑソスソスラてのノソス[ソスhソスフ撰ソスソスソスソスネデソス[ソス^ソスB - Data that defines the top node of the zone (can be thought of as part of the authoritative data). - ソス]ソス[ソスソスソスフ最擾ソスハノソス[ソスhソスソスソス`ソスソスソスソスfソス[ソス^ソスiソスソスソスソスソスネデソス[ソス^ソスフ一部ソスナゑソスソスソスソス ソスlソスソスソスソスソスソスjソスB - Data that describes delegated subzones, i.e., cuts around the bottom of the zone. - ソスマ任ソスTソスuソス]ソス[ソスソスソスソスソスLソスqソスソスソスソスfソス[ソス^ソスAソスソスソスネわちソスAソス]ソス[ソスソスソスフ抵ソスナの切断ソスB - Data that allows access to name servers for subzones (sometimes called "glue" data). - ソスTソスuソス]ソス[ソスソスソスフネソス[ソスソスソスTソス[ソスoソス[ソスAソスNソスZソスXソスソスソスツ能ソスノゑソスソスソスfソス[ソス^ソスiソスソスソスホゑソスソスホ「ソスソス ソスソスソスワ」ソスニ呼ばゑソスソスjソスB All of this data is expressed in the form of RRs, so a zone can be completely described in terms of a set of RRs. Whole zones can be transferred between name servers by transferring the RRs, either carried in a series of messages or by FTPing a master file which is a textual representation. ソスソスソスフゑソスソスラてのデソス[ソス^ソスヘ趣ソスソスソスソスソスソスRソス[ソスhソスフゑソスソスソスソスソスソスナ表ソスソスソスソスソスソスワゑソスソスAソスソスソスフゑソスソス゚ゾソス[ソスソスソスソス ソスソスソスソスソスソスソスRソス[ソスhソスフ集ソスワゑソスナ奇ソスソスSソスノ記ソスqソスナゑソスソスワゑソスソスBソスlソス[ソスソスソスTソス[ソスoソス[ソスヤでのゾソス[ソスソスソスSソスソス ソスフ転ソスソスソスヘ趣ソスソスソスソスソスソスRソス[ソスhソスソスソスレゑソスソスソスソスニででゑソスソスAソスソスソスbソスZソス[ソスWソスソスソスソスソスソスソスツゑソスソスソスソス驍ゥソスAソスeソスLソスX ソスgソス\ソスソスソスフマソスXソス^ソス[ソスtソス@ソスCソスソスソスフFソスsソスoソス]ソスソスソスナ趣ソスソスソスソスナゑソスソスワゑソスソスB The authoritative data for a zone is simply all of the RRs attached to all of the nodes from the top node of the zone down to leaf nodes or nodes above cuts around the bottom edge of the zone. ソス]ソス[ソスソスソスフ撰ソスソスソスソスネデソス[ソス^ソスヘ、ソス]ソス[ソスソスソスフ最擾ソスハゑソスソス辜奇ソス[ソスtソスソスソスリ断ソスフ前ソスワでの全ソストのノソス[ ソスhソスノゑソスソスソスSソストの趣ソスソスソスソスfソス[ソス^ソスナゑソスソスB Though logically part of the authoritative data, the RRs that describe the top node of the zone are especially important to the zone's management. These RRs are of two types: name server RRs that list, one per RR, all of the servers for the zone, and a single SOA RR that describes zone management parameters. ソス_ソスソスソスIソスノは撰ソスソスソスソスネデソス[ソス^ソスフ包ソスソスソスソスソスソスソスソスAソス]ソス[ソスソスソスフ最擾ソスハのノソス[ソスhソスソスソスLソスqソスソスソス骼托ソスソスソスソス ソスRソス[ソスhソスヘ難ソスソスノゾソス[ソスソスソスフ管暦ソスソスノ重ソスvソスナゑソスソスBソスソスソスフようソスネ趣ソスソスソスソスソスソスRソス[ソスhソスヘ2ソスツのタソスCソスv ソスナゑソスソスFソス]ソス[ソスソスソスlソス[ソスソスソスTソス[ソスoソスソスソスノ1ソスツゑソスソスソスlソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスニ、ソス]ソス[ソスソスソスソス ソスソスソスpソスソスソスソスソス[ソス^ソスソスソスLソスqソスソスソスソスPソスツのSソスnソス`ソスソスソスソスソスソスソスRソス[ソスhソスB The RRs that describe cuts around the bottom of the zone are NS RRs that name the servers for the subzones. Since the cuts are between nodes, these RRs are NOT part of the authoritative data of the zone, and should be exactly the same as the corresponding RRs in the top node of the subzone. Since name servers are always associated with zone boundaries, NS RRs are only found at nodes which are the top node of some zone. In the data that makes up a zone, NS RRs are found at the top node of the zone (and are authoritative) and at cuts around the bottom of the zone (where they are not authoritative), but never in between. ソス]ソス[ソスソスソスフ抵ソスソスリる資ソスソスソスソスソスRソス[ソスhソスヘサソスuソス]ソス[ソスソスソスフネソス[ソスソスソスTソス[ソスoソスソスソスLソスqソスソスソスソスlソス[ソスソスソスTソス[ ソスoソスソスソスソスソスソスソスRソス[ソスhソスナゑソスソスBソスリ断ソスソスソスmソス[ソスhソスヤで行ソスソスソスソスフで、ソスソスソスソスソスフネソス[ソスソスソスTソス[ソスoソスソス ソスソスソスソスソスRソス[ソスhソスヘゾソス[ソスソスソスフ撰ソスソスソスソスネデソス[ソス^ソスフ一部ソスナはなゑソスソスAソスTソスuソス]ソス[ソスソスソスフ最擾ソスハの対会ソス ソスソスソス骼托ソスソスソスソスソスRソス[ソスhソスニ撰ソスソスmソスノ茨ソスvソスソスソストゑソスソスソスラゑソスソスナゑソスソスBソスlソス[ソスソスソスTソス[ソスoソスソスソスソスノゾソス[ソスソスソスソス ソスEソスソスソスニ鯉ソスソスム付ソスソスソストゑソスフで、ソスlソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスヘゑソスソスソスソス黷ゥソスフゾソス[ソスソスソスフ最擾ソス ソスハのノソス[ソスhソスノゑソスソスソスソスソスソスソスラゑソスソスナゑソスソスBソス]ソス[ソスソスソスソスソス\ソスソスソスソスソスソスfソス[ソス^ソスナ、ソスlソス[ソスソスソスTソス[ソスoソスソスソスソス ソスソスソスRソス[ソスhソスヘゾソス[ソスソスソスフ最擾ソスハノソス[ソスhソスiソスソスソスソスソスネゑソスソスフ)ソスニ、ソスソスソスソスソストゾソス[ソスソスソスフ抵ソスソスリる所 ソスiソスソスソスソスソスナはなゑソスソスjソスノゑソスソスソスAソスソスソスヤにはゑソスソスソスワゑソスソスソスB One of the goals of the zone structure is that any zone have all the data required to set up communications with the name servers for any subzones. That is, parent zones have all the information needed to access servers for their children zones. The NS RRs that name the servers for subzones are often not enough for this task since they name the servers, but do not give their addresses. In particular, if the name of the name server is itself in the subzone, we could be faced with the situation where the NS RRs tell us that in order to learn a name server's address, we should contact the server using the address we wish to learn. To fix this problem, a zone contains "glue" RRs which are not part of the authoritative data, and are address RRs for the servers. These RRs are only necessary if the name server's name is "below" the cut, and are only used as part of a referral response. ソス]ソス[ソスソスソス\ソスソスソスフ目標ソスフ1ソスツゑソスソスAソスTソスuソス]ソス[ソスソスソスニ通信ソスソスソスソスノに必ソスvソスネデソス[ソス^ソスソスSソスト趣ソスソスソス ソストゑソスソス骼厄ソスナゑソスソスBソスソスソスネわちソスAソスeソス]ソス[ソスソスソスヘゑソスソスフ子ソスソスソスフゾソス[ソスソスソスフサソス[ソスoソスノアソスNソスZソスXソスソスソスソス ソスフに必ソスvソスネ全ソストの擾ソスソスソスソスソスソスソスソスワゑソスソスBソスTソスuソス]ソス[ソスソスソスフサソス[ソスoソス[ソスソスソスwソス閧キソスソスlソス[ソスソスソスTソス[ ソスoソス[ソスソスソスソスソスソスソスRソス[ソスhソスヘ、ソスソスソス黷ェソスTソス[ソスoソス[ソスソスソスソス^ソスソスソス驍ェソスAソスAソスhソスソスソスXソスソス^ソスソスソスネゑソスソスフで、 ソス\ソスソスソスネ擾ソスソスナはゑソスソスソスワゑソスソスソスBソスソスソスノ、ソスソスソスソスソスlソス[ソスソスソスTソス[ソスoソスフ厄ソスソスOソスソスソスTソスuソス]ソス[ソスソスソスソスソスフ厄ソス ソスOソスナゑソスソスソスネゑソスAソスlソス[ソスソスソスTソス[ソスoソス[ソスフアソスhソスソスソスXソスソスmソス驍スソス゚にゑソスソスフネソス[ソスソスソスTソス[ソスoソスノアソスN ソスZソスXソスソスソスネゑソスソスソスホアソスhソスソスソスXソスソスソスかソスソスネゑソスソス況に抵ソスソスハゑソスソスワゑソスソスBソスソスソスフ厄ソスソス直ゑソスソスソスソス゚に、 ソス]ソス[ソスソスソスノは撰ソスソスソスソスネデソス[ソス^ソスフ一部ソスナなゑソスソスソスソスTソス[ソスoソス[ソスフアソスhソスソスソスXソスソスソスソスソスソスソスRソス[ソスhソスナゑソスソスソス ソスuソスレ抵ソスソスワ」ソスソスソスソスソスソスソスRソス[ソスhソスソスソスワゑソスナゑソスソスワゑソスソスBソスソスソスソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソスヘ、ソスソスソスソスソスlソス[ソスソス ソスTソス[ソスoソスフ厄ソスソスOソスソスソスリゑソスソスソスソスuソスソスソスvソスノゑソスソス骼橸ソスノゑソスソスソスソスKソスvソスナゑソスソスソスAソスニ会ソス答の一部ソスナ用ソスソス ソスソスソス驍セソスソスソスナゑソスソスB 4.2.2. Administrative considerations 4.2.2. ソスヌ暦ソスソスソスフ考ソスソス When some organization wants to control its own domain, the first step is to identify the proper parent zone, and get the parent zone's owners to agree to the delegation of control. While there are no particular technical constraints dealing with where in the tree this can be done, there are some administrative groupings discussed in [RFC-1032] which deal with top level organization, and middle level zones are free to create their own rules. For example, one university might choose to use a single zone, while another might choose to organize by subzones dedicated to individual departments or schools. [RFC-1033] catalogs available DNS software an discusses administration procedures. ソスソスソスソスgソスDソスソスソスソスソスソスソスソスソスgソスフドソスソスソスCソスソスソスフ管暦ソスソスソス]ソズ趣ソスソスAソスナ擾ソスソスフ手順ソスヘ適ソスリな親ソス]ソス[ソスソスソスソス ソスFソスソスソスソスソスAソスeソス]ソス[ソスソスソスフ擾ソスソスLソスメに撰ソスソスソスフ委任ソスフ難ソスソスモゑソスソスニるこソスニでゑソスソスBソスリのどゑソスソスナ委任 ソスソスソス驍ゥソスノつゑソスソスト難ソスソスハな技ソスpソスIソスソス閧ェソスネゑソスソスソスソスAソスナ擾ソスハ組ソスDソスフ管暦ソスソスソスフ区分ソスソスソスノつゑソス ソスソス[RFC-1032]ソスナ論ソスソスソスソスソスAソスソスソスヤゾソス[ソスソスソスヘゑソスソス黷シソスソスフ趣ソスソスRソスネ規ソスソスソスソスソスソスソスワゑソスソスBソス痰ヲ ソスホ、ソスソスソスソスソスwソスソスソスミとつのゾソス[ソスソスソスソスソスgソスソスソスニ鯉ソスソス゚るかソスソスソスソスソスソスネゑソスソスソスソスAソスハの托ソスwソスヘ個包ソス ソスフ課ゑソスwソスZソスノサソスuソス]ソス[ソスソスソスソスソスマ任ソスソスソスソスニ鯉ソスソス゚るかソスソスソスソスソスソスワゑソスソスソスB[RFC-1033]ソスソスソスソスソスp ソスツ能ソスネDソスmソスrソス\ソスtソスgソスニ管暦ソスソス闖ソスフ一覧ソスソス_ソスソスソスワゑソスソスB Once the proper name for the new subzone is selected, the new owners should be required to demonstrate redundant name server support. Note that there is no requirement that the servers for a zone reside in a host which has a name in that domain. In many cases, a zone will be more accessible to the internet at large if its servers are widely distributed rather than being within the physical facilities controlled by the same organization that manages the zone. For example, in the current DNS, one of the name servers for the United Kingdom, or UK domain, is found in the US. This allows US hosts to get UK data without using limited transatlantic bandwidth. ソスVソスソスソスソスソスTソスuソス]ソス[ソスソスソスフ厄ソスソスOソスソスソスIソスホゑソスソスニ、ソスVソスソスソスソスソスソスソスLソスメは包ソスソスソスソスフネソス[ソスソスソスTソス[ソスoソスフ用 ソスモゑソスvソスソスソスソスソスソスソスラゑソスソスナゑソスソスBソスソスソスフゾソス[ソスソスソスフサソス[ソスoソスソスソスソスソスフドソスソスソスCソスソスソスフ厄ソスソスOソスソスソスソスソスツ必ソスv ソスソスソスネゑソスソスニゑソスソスソスソスKソスvソスソスソスソスソスノ抵ソスソスモゑソスソスト会ソスソスソスソスソスソスBソスソスソスソスソスフ場合ソスAソス]ソス[ソスソスソスソスソスヌ暦ソスソスソスソスソスgソスDソスソス ソスヌ暦ソスソスソスソス黷スソスソスソスソスソスIソスネ擾ソスソスノ全ソストのサソス[ソスoソスソスソスソスソスソスソスソスAソスCソスソスソス^ソス[ソスlソスbソスgソスSソスフに散ソスソスホゑソス ソストゑソスソスソスソスルゑソスソスソスソス]ソス[ソスソスソスフアソスNソスZソスXソスソスソスヘよいソスナゑソスソス蛯、ソスBソス痰ヲソスホ、ソスソスソスンのDソスmソスrソスナ、ソスC ソスMソスソスソスXソスソスソス驍「ソスヘUソスjソスhソスソスソスCソスソスソスフゑソスソス゚のネソス[ソスソスソスTソス[ソスoソスフ1ソスツゑソスソスAソスソスソスソスソスJソスソスソスOソスソスソスノゑソス ソスソスワゑソスソスBソスソスソスソスヘアソスソスソスソスソスJソスソスソスOソスソスソスフホソスXソスgソスソスソスム茨ソスソスソスソスソス閧ウソス黷スソスソスソスソスソスmソスソスソスfソスソスソスソスソスソスg ソスずソスノUソスjソスフデソス[ソス^ソス得る事ソスソスソスソスソスソスソスワゑソスソスB As the last installation step, the delegation NS RRs and glue RRs necessary to make the delegation effective should be added to the parent zone. The administrators of both zones should insure that the NS and glue RRs which mark both sides of the cut are consistent and remain so. ソスナ鯉ソスフ設置ソス闖ソスニゑソスソスト、ソスマ任ソスフ鯉ソスソスハゑソスソスソスソスソスソス轤キソスソスソス゚に必ソスvソスネ委任ソスlソス[ソスソスソスTソス[ソスoソスソス ソスソスソスソスソスRソス[ソスhソスニ接抵ソスソスワ趣ソスソスソスソスソスソスRソス[ソスhソスソスソスeソス]ソス[ソスソスソスノ会ソスソスソスソスソスソスソスラゑソスソスナゑソスソスBソスソスソスソスソスフゾソス[ ソスソスソスフ管暦ソスソスメは切断ソスフ暦ソスソスソスソスソスソスソスソスソステゑソスソスソスlソス[ソスソスソスTソス[ソスoソスニ接抵ソスソスワ趣ソスソスソスソスソスソスRソス[ソスhソスソスソスソスv ソスソスソスソスソスソスソス驍アソスニゑソスロ証ゑソスソスソスラゑソスソスナゑソスソスB 4.3. Name server internals 4.3. ソスlソス[ソスソスソスTソス[ソスoソスフ難ソスソスソス 4.3.1. Queries and responses 4.3.1. ソス竝ソスソスソスニ会ソス The principal activity of name servers is to answer standard queries. Both the query and its response are carried in a standard message format which is described in [RFC-1035]. The query contains a QTYPE, QCLASS, and QNAME, which describe the types and classes of desired information and the name of interest. ソスlソス[ソスソスソスTソス[ソスoソスフ趣ソスネ難ソスソスソスヘ標ソスソスソス竝ソスソスソスノ難ソスソスソスソス骼厄ソスナゑソスソスBソス竝ソスソスソスニゑソスソスフ回答の暦ソスソスソス ソスソス[RFC-1035]ソスノ記ソスqソスソスソスソスソスWソスソスソスソスソスbソスZソス[ソスWソスtソスHソス[ソス}ソスbソスgソスノのゑソスワゑソスソスBソスソスソスソスソスQTYPE ソスソスQCLASSソスソスQNAMEソスソスソスワみ、ソスソスソスソスヘ具ソスソス゚ゑソスソスソスフタソスCソスvソスニクソスソスソスXソスニ厄ソスソスOソスソスソスLソスqソスソスソスワゑソスソスB The way that the name server answers the query depends upon whether it is operating in recursive mode or not: ソスソスソスOソスTソス[ソスoソス[ソスソスソス竝ソスソスソスノ難ソスソスソスソスソスソスソス@ソスヘ、ソスト帰ソスソスソス[ソスhソスナ難ソスソスしソストるかソスヌゑソスソスソスソスノゑソスソス ソスワゑソスソスF - The simplest mode for the server is non-recursive, since it can answer queries using only local information: the response contains an error, the answer, or a referral to some other server "closer" to the answer. All name servers must implement non-recursive queries. - ソスTソス[ソスoソス[ソスフ最ゑソスソスPソスソスソスネソスソス[ソスhソスヘ費ソスト帰ソスソスソス[ソスhソスナ、ソスソスソス[ソスJソスソスソスネ擾ソスだゑソスソスソス ソスgソスソスソスト問合ソスソスソスノ難ソスソスソスソスワゑソスソスFソス答は、ソスGソスソスソス[ソスソスソスAソスソスソスソスソスソスソスAソスソスソスソスソスソスソスフ「ソスソスソス ソス゚ゑソスソスvソスTソス[ソスoソス[ソスフ紹会ソスソスソスワゑソスナゑソスソスワゑソスソスBソスソスソスラてのネソス[ソスソスソスTソス[ソスoソス[ソスヘ費ソスソス ソスAソス竝ソスソスソスソスソスソスソスsソスナゑソスソスネゑソスソスソスホなゑソスワゑソスソスソスB - The simplest mode for the client is recursive, since in this mode the name server acts in the role of a resolver and returns either an error or the answer, but never referrals. This service is optional in a name server, and the name server may also choose to restrict the clients which can use recursive mode. - ソスNソスソスソスCソスAソスソスソスgソスフ最ゑソスソスPソスソスソスネソスソス[ソスhソスヘ再帰ソスナ、ソスト帰ソスソスソス[ソスhソスナネソス[ソスソスソスTソス[ソスoソス[ ソスヘソスソス]ソスソスソスoソスフ厄ソスソスソスソスナ行ソスソスソスソスソスAソスGソスソスソス[ソスソスソスソスソスソスソスソスヤゑソスソスAソスミ会ソスソスヤゑソスソスワゑソスソスソスB ソスソスソスフサソス[ソスrソスXソスフ趣ソスソスsソスヘネソス[ソスソスソスTソス[ソスoソスフ任ソスモで、ソスlソス[ソスソスソスTソス[ソスoソス[ソスヘ再帰ソスソスソス[ ソスhソスソスソスgソスソスソスソスNソスソスソスCソスAソスソスソスgソスソスソスソスソス閧オソストゑソスソス謔「ソスナゑソスソスB Recursive service is helpful in several situations: ソスト帰ソスTソス[ソスrソスXソスヘゑソスソスソスソスツゑソスソスフ擾ソスヤで役立ゑソスソスワゑソスソスF - a relatively simple requester that lacks the ability to use anything other than a direct answer to the question. - ソスソスソスソスヨの抵ソスソスレの難ソスソスソスソスネ外ソスソスソスソスソスソスソス\ソスヘに鯉ソスソスソスソスソスソスrソスIソスPソスソスソスネ要ソスソスソスソス - a request that needs to cross protocol or other boundaries and can be sent to a server which can act as intermediary. - ソス竝ソスソスソスソスソスvソスソスソスgソスRソスソスソス站ォソスEソス超ゑソスソスソスKソスvソスソスソスソスソスソスAソスソスソス黷ェソスoソスソスソスソスTソス[ソスoソス[ ソスヨ問合ソスソスソス送ゑソス鼾ソスB - a network where we want to concentrate the cache rather than having a separate cache for each client. - ソスNソスソスソスCソスAソスソスソスgソスソスソスノキソスソスソスbソスVソスソスソスソスソスソスソスツのではなゑソスソスAソスLソスソスソスbソスVソスソスソスフ集ソスソスソスソス ソス]ソズネソスbソスgソスソスソス[ソスNソスB Non-recursive service is appropriate if the requester is capable of pursuing referrals and interested in information which will aid future requests. ソスソスソスソスソスvソスソスソスメゑソスソスミ会ソスソスソスソスソスソスソスト擾ソスソスソスソスフ問合ソスソスソスフ参ソスlソスノなゑソスソスソス得ゑソスソスソスソスネゑソスAソスソスト帰 ソスTソス[ソスrソスXソスソスソスKソスリでゑソスソスB The use of recursive mode is limited to cases where both the client and the name server agree to its use. The agreement is negotiated through the use of two bits in query and response messages: ソスト帰ソスソスソス[ソスhソスフ使ソスpソスヘクソスソスソスCソスAソスソスソスgソスニネソス[ソスソスソスTソス[ソスoソス[ソスフ暦ソスソスソスソスソスソスソスソスフ使ソスpソスノ難ソスソスモゑソスソスソス ソス鼾ソスノ鯉ソスソス閧ウソスソスワゑソスソスBソスソスソスモは問合ソスソスソスニ回答ソスソスbソスZソス[ソスWソスフ2ソスrソスbソスgソスフ使ソスpソスソスハゑソスソスソス ソスソスソスツゑソスソスソスワゑソスソスF - The recursion available, or RA bit, is set or cleared by a name server in all responses. The bit is true if the name server is willing to provide recursive service for the client, regardless of whether the client requested recursive service. That is, RA signals availability rather than use. - ソスト帰ソスツ能ソスiソスqソス`ソスrソスbソスgソスjソスヘネソス[ソスソスソスTソス[ソスoソスソスソスSソストの回答で設定かソスNソスソスソスAソスソス ソスワゑソスソスBソスソスソスフビソスbソスgソスヘクソスソスソスCソスAソスソスソスgソスソスソスソスソス゚ゑソスソスソスソスヌゑソスソスソスソスノ関ゑソス轤クソスAソスlソス[ソスソス ソスTソス[ソスoソス[ソスソスソスト帰ソスTソス[ソスrソスXソスソス供でゑソスソスソスネゑソスPソスナゑソスソスBソスツまゑソスRAソスヘ使ソスソスソスソスソスソス ソスソスソスソスソスソスソスgソスソスソス驍アソスニゑソスソスソスソスソスソスワゑソスソスB - Queries contain a bit called recursion desired or RD. This bit specifies specifies whether the requester wants recursive service for this query. Clients may request recursive service from any name server, though they should depend upon receiving it only from servers which have previously sent an RA, or servers which have agreed to provide service through private agreement or some other means outside of the DNS protocol. - ソス竝ソスソスソスヘ再帰ソスvソス]ソスソスソス驍「ソスヘRソスcソスニ呼ばゑソスソスPソスrソスbソスgソスソスソスワみまゑソスソスBソスソスソスフビソスb ソスgソスヘ問合ソスソスソスメゑソスソスト帰ソスTソス[ソスrソスXソスソス]ソスソスナゑソスソス驍ゥソス明趣ソスソスソスソスワゑソスソスBソスNソスソスソスCソスAソスソスソスg ソスヘ過具ソスソスノRソス`ソスソスン定さソス黷スソス答ゑソスソスソスソスソスソスソスソスソスTソス[ソスoソスソスソスvソスソスソスCソスxソス[ソスgソスネ搾ソスソスモゑソス ソスcソスmソスrソスvソスソスソスgソスRソスソスソスネ外ソスフ会ソスソスソスソスナ趣ソスソスソスソス黷スソスTソス[ソスoソスノゑソスソスソスソスト帰ソスTソス[ソスrソスXソスソスvソスソス ソスソスソスラゑソスソスソスソスソスソスAソスNソスソスソスCソスAソスソスソスgソスヘ全ソストのサソス[ソスoソスノ再帰ソスIソスTソス[ソスrソスXソスソスソスソスソス゚てゑソスソスソス ソスソスソスナゑソスソスB 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. Note that the name server should never perform recursive service unless asked via RD, since this interferes with trouble shooting of name servers and their databases. ソスソスAソスIソスネソスソス[ソスhソスヘ、ソスqソスcソスソスソスン定さソス黷スソス竝ソスソスソスソスソスTソス[ソスoソスノ届ゑソスソスAソスTソス[ソスoソス[ソスソスソスト帰ソスTソス[ ソスrソスXソスソス供ゑソスソストゑソスソスソス鼾ソスノゑソスソスソスソスワゑソスソスGソスNソスソスソスCソスAソスソスソスgソスソスRAソスソスRDソスフ暦ソスソスソスソスrソスbソスgソスソスソスソスソスソス ソスン定さソスソストゑソスソス驍アソスニで再帰ソスソスソスsソスソス黷スソスソスソスニゑソスソスmソスFソスナゑソスソスワゑソスソスBソスlソス[ソスソスソスTソス[ソスoソスソスfソス[ ソス^ソスxソス[ソスXソスフトソスソスソスuソスソスソスVソスソスソス[ソスeソスBソスソスソスOソスフイソスソスソス^ソス[ソスtソスFソス[ソスXソスヘRソスcソスソスン定しソスネゑソスソスフで、 ソスlソス[ソスソスソスTソス[ソスoソス[ソスヘ再帰ソスTソス[ソスrソスXソスソスソスsソスソスソスラゑソスソスナなゑソスソスソスソスニに抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスB If recursive service is requested and available, the recursive response to a query will be one of the following: ソスソスソスソスソスト帰ソスTソス[ソスrソスXソスソスソスソスソス゚ゑソスソスト可能ソスネゑソスト帰ソスフ回答は以会ソスソスフどれかソスナゑソスソス蛯、ソスF - The answer to the query, possibly preface by one or more CNAME RRs that specify aliases encountered on the way to an answer. - ソス竝ソスソスソスフ難ソスソスソスソスAソスソスソスソスソスソスソスソスソスソスソスソス竝ソスソスソスフ途ソスソスソスナ托ソスソスソスソスソスソスソスCNAMEソスソスソスソスソスソスソスRソス[ ソスhソスナ始ソスワるかソスソスソスソスソスソスワゑソスソスソスB - A name error indicating that the name does not exist. This may include CNAME RRs that indicate that the original query name was an alias for a name which does not exist. - ソスソスソスOソスソスソスソスソスンゑソスソスネゑソスソスソスソスニゑソスソスソスソスソスソスソスソスOソスGソスソスソス[ソスBソスソスソスソスヘ鯉ソスソスフ問合ソスソスソスソスソスソスソスンゑソス ソスネゑソスソスハ厄ソスソスソスソスソスソスソスソスソスソスニゑソスソスソスソスソスCNAMEソスソスソスソスソスソスソスRソス[ソスhソスソスソスワむゑソスソスソスソスソスソスソスワゑソスソスソスB - A temporary error indication. - ソス齊橸ソスIソスネエソスソスソス[ソス\ソスソスソスB If recursive service is not requested or is not available, the non- recursive response will be one of the following: ソスソスソスソスソスト帰ソスTソス[ソスrソスXソスソスソスソスソス゚ゑソスソスネゑソスソスソスソスソスソスpソスツ能ソスナはなゑソスソスネゑソスAソスソスト帰ソスソスソスソスソスヘ趣ソスソスフゑソス ソス黷ゥソスナゑソスソス蛯、ソスF - An authoritative name error indicating that the name does not exist. - ソスソスソスOソスソスソスソスソスンゑソスソスネゑソスソスソスソスニゑソスソスソスソスソスソスソスソスソスソスネ厄ソスソスOソスGソスソスソス[ソスB - A temporary error indication. - ソス齊橸ソスIソスネエソスソスソス[ソス\ソスソスソスB - Some combination of: - ソスソスソスソスソス黷ゥソスフ組ソスン搾ソスソスせソスFソスB RRs that answer the question, together with an indication whether the data comes from a zone or is cached. ソス答の趣ソスソスソスソスfソス[ソス^ソスソスソスRソス[ソスhソスニ、ソスfソス[ソス^ソスソスソス]ソス[ソスソスソスフゑソスソスLソスソスソスbソスVソスソスソスフゑソスソスフ表ソスソスソスB A referral to name servers which have zones which are closer ancestors to the name than the server sending the reply. ソスソスソスソスソス送ゑソスソスソスソスTソス[ソスoソス[ソスソスソス゚ゑソスソスソスcソスフゾソス[ソスソスソスソスソスソスソスツネソス[ソスソスソスTソス[ソスoソス[ソスフ紹会ソスB - RRs that the name server thinks will prove useful to the requester. - ソスlソス[ソスソスソスTソス[ソスoソス[ソスソスソス竝ソスソスソスメに有ソスpソスニ考ソスソスソスソスソスソスソスソスソスソスソスRソス[ソスhソスB 4.3.2. Algorithm 4.3.2. ソスAソスソスソスSソスソスソスYソスソス The actual algorithm used by the name server will depend on the local OS and data structures used to store RRs. The following algorithm assumes that the RRs are organized in several tree structures, one for each zone, and another for the cache: ソスlソス[ソスソスソスTソス[ソスoソスフ趣ソスソスロに使ソスソスソスAソスソスソスSソスソスソスYソスソスソスヘソスソス[ソスJソスソスOSソスニ趣ソスソスソスソスソスソスRソス[ソスhソスソスソスLソスソスソスソスソスソス ソス\ソスソスソスノ依托ソスソスソスソスソスナゑソスソス蛯、ソスBソスソスソスフアソスソスソスSソスソスソスYソスソスソスヘ趣ソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスソスソスツゑソスソスフツソスソスソス[ ソス\ソスソスソスナ組ソスDソスソスソスソスソスソスAソスPソスツは各ソス]ソス[ソスソスソスナ、ソスソスソスソスソスPソスツはキソスソスソスbソスVソスソスソスニ想ソス閧オソスワゑソスソスF 1. Set or clear the value of recursion available in the response depending on whether the name server is willing to provide recursive service. If recursive service is available and requested via the RD bit in the query, go to step 5, otherwise step 2. 1. ソスlソス[ソスソスソスTソス[ソスrソスXソスソスソスト帰ソスTソス[ソスrソスXソスソス供ゑソスソスソスモ思ソスソスソスソスソス驍ゥソスヌゑソスソスソスソスノ従ソスソスソスソス ソスフ再帰ソスツ能ソスlソスソスン定しソスワゑソスソスBソスソスソスソスソスト帰ソスTソス[ソスrソスXソスソスソスソスソスpソスツ能ソスナ、ソス竝ソスソスソスフR ソスcソスナ具ソスソス゚ゑソスソストゑソスソスソスホスソスeソスbソスvソスTソスノ遷ソスレゑソスソスワゑソスソスBソスソスソスソスソスナなゑソスソスソスホスソスeソスbソスv ソスQソスノ進ソスンまゑソスソスB 2. Search the available zones for the zone which is the nearest ancestor to QNAME. If such a zone is found, go to step 3, otherwise step 4. 2. QNAMEソスノ最ゑソスソス゚ゑソスソスソスソスpソスツ能ソスネ撰ソスcソスフゾソス[ソスソスソスソスTソスソスソストゑソスソスソスソスソスソスソスソスBソスソスソスソスソスソスソスフゑソス ソスソスソスネゾソス[ソスソスソスソスソスソスソスソスホスソスeソスbソスvソスRソスヨ、ソスネゑソスソスソスホスソスeソスbソスvソスSソスヨ遷ソスレゑソスソスワゑソスソスB 3. Start matching down, label by label, in the zone. The matching process can terminate several ways: 3. ソス]ソス[ソスソスソスフソスソスxソスソスソスソス1ソスソス1ソスツ費ソスrソスソスソストゑソスソスソスソスソスソスソスソスBソスソスrソスソスニはゑソスソスソスソスツゑソスソスフ包ソスソス@ソスソス ソスIソスソスソス驍アソスニゑソスソスナゑソスソスワゑソスソスFソスB a. If the whole of QNAME is matched, we have found the node. a. ソスソスソスソスQNAMEソスSソスフゑソスソスソスvソスソスソスソスネゑソスmソス[ソスhソスソスソスソスソスソスソスソスソス黷スソスニゑソスソスソスソスソスソスナゑソスソスB If the data at the node is a CNAME, and QTYPE doesn't match CNAME, copy the CNAME RR into the answer section of the response, change QNAME to the canonical name in the CNAME RR, and go back to step 1. ソスソスソスソスソスmソス[ソスhソスフデソス[ソス^ソスソスCNAMEソスナゑソスソスソスAQTYPEソスソスCNAMEソスソスソスソスvソスソスソスネゑソスソスネゑソスA CNAMEソスソスソスソスソスソスソスRソス[ソスhソスソスソス答の解答セソスNソスVソスソスソスソスソスノコソスsソス[ソスソスソスAQNAMEソスソス CNAMEソスソスソスソスソスソスソスRソス[ソスhソスフ標ソスソスソスソスソスナ置ソスソスソスソスソスソスソストスソスeソスbソスvソスPソスノ遷ソスレゑソスソスワゑソスソスB Otherwise, copy all RRs which match QTYPE into the answer section and go to step 6. CNAMEソスナなゑソスソスソスソスQTYPEソスニ茨ソスvソスソスソス驍キソスラての趣ソスソスソスソスソスソスRソス[ソスhソスソスソス答セソスN ソスVソスソスソスソスソスノコソスsソス[ソスソスソスAソスXソスeソスbソスvソスUソスノ遷ソスレゑソスソスワゑソスソスB b. If a match would take us out of the authoritative data, we have a referral. This happens when we encounter a node with NS RRs marking cuts along the bottom of a zone. b. ソスソスソスソスソスソスvソスソスソスソスソスフゑソスソスソスソスソスソスネデソス[ソス^ソスナなゑソスソスソスホ、ソスソスソスソスヘ紹会ソスナゑソスソスBソスソスソスソス ソスヘゾソス[ソスソスソスフ抵ソスソスリ断ソスソスソスソスソスフゑソスソスソスソスソスソスlソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスノ托ソスソスソス ソスソスソスソスソスソスソスソスソスソスソスワゑソスソスB Copy the NS RRs for the subzone into the authority section of the reply. Put whatever addresses are available into the additional section, using glue RRs if the addresses are not available from authoritative data or the cache. Go to step 4. ソスソスソスソスソスフ鯉ソスソスミセソスNソスVソスソスソスソスソスフ抵ソスソスノサソスuソス]ソス[ソスソスソスフネソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ ソスhソスソスソスRソスsソス[ソスソスソストゑソスソスソスソスソスソスソスソスBソスヌ会ソスソスZソスNソスVソスソスソスソスソスノ暦ソスソスpソスツ能ソスネ全ソストの(ソスT ソスuソス]ソス[ソスソスソスフネソス[ソスソスソスTソス[ソスoソスフ)ソスAソスhソスソスソスXソスソスソスソスソスワゑソスソスAソスソスソスソスソスソスソスソスソスネデソス[ ソス^ソスソスLソスソスソスbソスVソスソスソスノアソスhソスソスソスXソスソスソスネゑソスソスソスホ、ソスレ抵ソスソスワ趣ソスソスソスソスソスソスRソス[ソスhソスソスソスgソスソス ソスワゑソスソスBソスXソスeソスbソスvソスSソスノ遷ソスレゑソスソスワゑソスソスB c. If at some label, a match is impossible (i.e., the corresponding label does not exist), look to see if a the "*" label exists. c. ソスソスソスソスソスソスソス驛会ソスxソスソスソスフ費ソスrソスノ趣ソスソスsソスソスソスソスネゑソスiソスツまゑソスホ会ソスソスソスソス驛会ソスxソスソスソスソスソスソス ソスソスソスソスホ)ソスA"*"ソスソスソスxソスソスソスソスソスソスソス驍ゥソスTソスソスソスワゑソスソスB If the "*" label does not exist, check whether the name we are looking for is the original QNAME in the query or a name we have followed due to a CNAME. If the name is original, set an authoritative name error in the response and exit. Otherwise just exit. ソスソスソスソス"*"ソスソスソスxソスソスソスソスソスソスソスンゑソスソスネゑソスソスネゑソスAソスソスソスワ探ソスソスソストゑソスソスソスフゑソスソスソスソスXソスフ問合 ソスソスソスソスQNAMEソスソスCNAMEソスフ標ソスソスソスソスソスソスソス調べてゑソスソスソスソスソスソスソスソスBソスソスソスソスソスソスソスOソスソスソスソスソスXソスソス ソスソスソスOソスナゑソスソスソスホ、ソスソスソスソスソスネ厄ソスソスOソスGソスソスソス[ソスソスソス答に設定しソスAソスAソスソスソスSソスソスソスYソスソスソスソス ソスIソスソスソスソスソスワゑソスソスBソスソスソスXソスフ厄ソスソスOソスナなゑソスソスソスホ単ソスノアソスソスソスSソスソスソスYソスソスソスソスソスIソスソスソスソスソスワゑソスソスB If the "*" label does exist, match RRs at that node against QTYPE. If any match, copy them into the answer section, but set the owner of the RR to be QNAME, and not the node with the "*" label. Go to step 6. ソスソスソスソス"*"ソスソスソスxソスソスソスソスソスソスソスンゑソスソスソスネゑソスAソスソスソスフノソス[ソスhソスフ趣ソスソスソスソスソスソスRソス[ソスhソスソスQTYPE ソスニ費ソスrソスソスソスワゑソスソスBソスソスソスソスソスヌれかソスソスソスソスvソスソスソスソスネゑソスホ、ソスソスソスソスソスソス答セソスNソスVソスソス ソスソスソスノコソスsソス[ソスソスソストゑソスソスソスソスソスソスソスソスAソスソスソスソスソスソスソスRソス[ソスhソスフ擾ソスソスLソスメゑソス"*"ソスソスソスソスソスツソスソスx ソスソスソスナはなゑソスQNAMEソスノゑソスソストゑソスソスソスソスソスソスソスソスBソスXソスeソスbソスvソスUソスノ遷ソスレゑソスソスワゑソスソスB 4. Start matching down in the cache. If QNAME is found in the cache, copy all RRs attached to it that match QTYPE into the answer section. If there was no delegation from authoritative data, look for the best one from the cache, and put it in the authority section. Go to step 6. 4. ソスLソスソスソスbソスVソスソスソスソスソスフ費ソスrソスソスソスnソス゚てゑソスソスソスソスソスソスソスソスBソスソスソスソスQNAMEソスソスソスLソスソスソスbソスVソスソスソスナ費ソスソスソスソスソス ソスソスソスネゑソスAQTYPEソスニ茨ソスvソスソスソス骼托ソスソスソスソスソスRソス[ソスhソスSソストゑソスソス答セソスNソスVソスソスソスソスソスノコソスsソス[ ソスソスソストゑソスソスソスソスソスソスソスソスBソスソスソスソスソスソスソスソスソスfソス[ソス^ソスソスソスソスフ委任ソスソスソスネゑソスソスフで、ソスLソスソスソスbソスVソスソスソスソスソスソスソス ソスソスソスKソスソスソスネゑソスソスフゑソスTソスソスソスoソスソスソスAソスソスソスミセソスNソスVソスソスソスソスソスノ難ソスソスソストゑソスソスソスソスソスソスソスソスBソスXソスeソスbソスvソスU ソスノ遷ソスレゑソスソスワゑソスソスB 5. Using the local resolver or a copy of its algorithm (see resolver section of this memo) to answer the query. Store the results, including any intermediate CNAMEs, in the answer section of the response. 5. ソスソスソス[ソスJソスソスソスソスソス]ソスソスソスoソスソスソスgソスソスソスソスソスAソスソスソス]ソスソスソスoソスフアソスソスソスSソスソスソスYソスソスソスiソスソスソスフ包ソスソスソスソスフソスソス]ソスソス ソスoソスフ章ゑソスソスソスソストゑソスソスソスソスソスソスソスソスjソス流用ソスソスソスト問合ソスソスソスノ難ソスソスソスソスワゑソスソスBソスrソスソスソスソスCNAMEソスソスソスソス ソス゚て、ソスソスソスハゑソスソス答の解答セソスNソスVソスソスソスソスソスノ置ソスソスソスワゑソスソスB 6. Using local data only, attempt to add other RRs which may be useful to the additional section of the query. Exit. 6. ソスソスソス[ソスJソスソスソスネデソス[ソス^ソスフみゑソスソスgソスソスソスAソスソスソスソスフ追会ソスソスフ包ソスソスソスソスノ有ソスpソスナゑソスソスソスソスソスソスソスネゑソスソスソス ソスフ趣ソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスソスソス謔、ソスニ趣ソスソスンてゑソスソスソスソスソスソスソスソスBソスAソスソスソスSソスソスソスYソスソスソスソスソスIソスソスソスソスソスワゑソスソスB 4.3.3. Wildcards 4.3.3. ソスソスソスCソスソスソスhソスJソス[ソスh In the previous algorithm, special treatment was given to RRs with owner names starting with the label "*". Such RRs are called wildcards. Wildcard RRs can be thought of as instructions for synthesizing RRs. When the appropriate conditions are met, the name server creates RRs with an owner name equal to the query name and contents taken from the wildcard RRs. ソスOソスフアソスソスソスSソスソスソスYソスソスソスナ、"*"ソスソスソスxソスソスソスナ始ソスワる所ソスLソスメ厄ソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソスノ難ソスソスハな擾ソスソスu ソスソスソスソスソスソスワゑソスソスソスソスBソスソスソスフようソスネ趣ソスソスソスソスソスソスRソス[ソスhソスヘソスソスCソスソスソスhソスJソス[ソスhソスニ呼ばゑソスワゑソスソスBソスソスソスCソスソス ソスhソスJソス[ソスhソスソスソスソスソスソスソスRソス[ソスhソスヘ趣ソスソスソスソスソスソスRソス[ソスhソスフ搾ソスソスソスソスwソスソスソスニ考ソスソスソスソスソスワゑソスソスBソスKソスリな擾ソスソスソスソスソス ソスソスソスソスソスソスソスソス骼橸ソスAソスlソス[ソスソスソスTソス[ソスoソス[ソスヘ、ソスソスソスLソスメ厄ソスソスソスソス竝ソスソスソスフ厄ソスソスOソスニ茨ソスvソスソスソスAソスソスソスeソスヘソス ソスCソスソスソスhソスJソス[ソスhソスソスソスソスソスソスソスRソス[ソスhソスニ茨ソスvソスソスソス骼托ソスソスソスソスソスRソス[ソスhソスソスソスソスソスワゑソスソスB This facility is most often used to create a zone which will be used to forward mail from the Internet to some other mail system. The general idea is that any name in that zone which is presented to server in a query will be assumed to exist, with certain properties, unless explicit evidence exists to the contrary. Note that the use of the term zone here, instead of domain, is intentional; such defaults do not propagate across zone boundaries, although a subzone may choose to achieve that appearance by setting up similar defaults. ソスソスソスフ機ソス\ソスヘイソスソスソス^ソス[ソスlソスbソスgソスソスソス迚スソスソスソスソスソスフソスソス[ソスソスソスVソスXソスeソスソスソスヨソスソス[ソスソスソスソス]ソスソスソスソスソス骼橸ソスソス ソスgソスソスソス]ソス[ソスソスソスナ最ゑソスソスgソスソスソスワゑソスソスBソスソスハ的ソスネ考ソスソスソスヘ、ソスTソス[ソスoソス[ソスノゾソス[ソスソスソスソスソスフ厄ソスソスOソスフ厄ソス ソスソスソスソスソスソスソスソスソスソスソスソスAソスソスソスソスソスIソスノ否定さソスソスネゑソスソスソスソスソスAソスソスソスフ厄ソスソスOソスソスソスソスソスンゑソスソスAソスソスソスソスノはゑソスソスソスソス ソスソスソスソスソスン定さソスソスソスニゑソスソスソスソスソスソスニでゑソスソスBソスソスソスソスソスナのゾソス[ソスソスソスニゑソスソスソスソスソスソスtソスフ使ソスソスソスソスソスヘ、ソスhソスソスソスC ソスソスソスナはなゑソスソスAソスモ図ソスネのに抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスGソスソスソスフようソスネデソスtソスHソスソスソスgソスヘゾソス[ソスソスソスソスソスE ソスソスソスzソスソスソスト行ソスソスソス驍アソスニはゑソスソスソスワゑソスソスソスAソスTソスuソス]ソス[ソスソスソスソスソズ趣ソスソスフデソスtソスHソスソスソスgソスソスソスソス闢ッソスソス ソスソスソスソスソスソスソス驍ゥソスソスソスソスソスソスワゑソスソスソスB The contents of the wildcard RRs follows the usual rules and formats for RRs. The wildcards in the zone have an owner name that controls the query names they will match. The owner name of the wildcard RRs is of the form "*.<anydomain>", where <anydomain> is any domain name. <anydomain> should not contain other * labels, and should be in the authoritative data of the zone. The wildcards potentially apply to descendants of <anydomain>, but not to <anydomain> itself. Another way to look at this is that the "*" label always matches at least one whole label and sometimes more, but always whole labels. ソスソスソスCソスソスソスhソスJソス[ソスhソスソスソスソスソスソスソスRソス[ソスhソスフ抵ソスソスgソスヘ趣ソスソスソスソスソスソスRソス[ソスhソスハ擾ソスフ規ソスソスソスニフソスHソス[ソス}ソスbソスgソスソス ソス]ソスソスソスワゑソスソスBソス]ソス[ソスソスソスフソスソスCソスソスソスhソスJソス[ソスhソスヘ茨ソスvソスソスソスソス竝ソスソスソスソスソス操作すソス髀奇ソスLソスメ厄ソスソスソスソスソス ソスソスソストゑソスソスワゑソスソスBソスソスソスCソスソスソスhソスJソス[ソスhソスソスソスソスソスソスソスRソス[ソスhソスフ擾ソスソスLソスメ厄ソスソスソス"*.<anydomain>"ソス`ソスソスソスソス ソスA<anydomain>ソスヘ任ソスモのドソスソスソスCソスソスソスソスソスナゑソスソスB<anydomain>ソスノは托ソスソスソス*ソスソスソスxソスソスソスソスソスワむゑソス ソスソスソスナはなゑソスソスAソス]ソス[ソスソスソスフ撰ソスソスソスソスソスソスナゑソスソスソスラゑソスソスナゑソスソスBソスソスソスCソスソスソスhソスJソス[ソスhソスソス<anydomain>ソスソス ソスqソスソスソスノ茨ソスvソスソスソスソスツ能ソスソスソスソスソスソスソスソスワゑソスソスソス<anydomain>ソスソスソスgソスノは茨ソスvソスソスソスワゑソスソスソスBソスハの鯉ソス ソスソスソスソスソスソスソスソスニ、"*"ソスソスソスxソスソスソスヘ1ソスツ以擾ソスフソスソスxソスソスソスノ茨ソスvソスソスソス驍ェソスAソスSソスソスソスノ茨ソスvソスヘゑソスソスネゑソス ソスニゑソスソスソスソスソスソスニでゑソスソスB Wildcard RRs do not apply: ソスソスソスCソスソスソスhソスJソス[ソスhソスソスソスソスソスソスソスRソス[ソスhソスヘ趣ソスソスノ適ソスpソスソスソスワゑソスソスソスF - When the query is in another zone. That is, delegation cancels the wildcard defaults. - ソス竝ソスソスソスソスソスソスソスフゾソス[ソスソスソスノ対ゑソスソスソスソスソスフの場合ソスBソスツまゑソスマ任ソスヘソスソスCソスソスソスhソスJソス[ ソスhソスfソスtソスHソスソスソスgソス中止ソスソスソスワゑソスソスB - When the query name or a name between the wildcard domain and the query name is know to exist. For example, if a wildcard RR has an owner name of "*.X", and the zone also contains RRs attached to B.X, the wildcards would apply to queries for name Z.X (presuming there is no explicit information for Z.X), but not to B.X, A.B.X, or X. - ソスソスソスOソス窿擾ソス[ソスソスソスhソスJソス[ソスhソスフ間の厄ソスソスOソスソス竄「ソスソスソスせソスソス鼾ソスAソスhソスソスソスCソスソスソスニ厄ソス ソスソスソスソスソスソスソスソスソスソスソスンゑソスソス驍アソスニゑソスmソスソスソストゑソスソスソスソスソスソスソスソスBソス痰ヲソスホ、ソスソスソスソスソスソスソスCソスソスソスhソスJソス[ ソスhソスソスソスソスソスソスソスRソス[ソスhソスフ擾ソスソスLソスメ厄ソスソスソス"*.X"ソスナ、ソス]ソス[ソスソスソスソスソスソスB.Xソスフ趣ソスソスソスソスソスソスRソス[ソスh ソスソスソスソスソスソス鼾ソスAソスソスソスCソスソスソスhソスJソス[ソスhソスソスZ.Xソスノは適ソスpソスノなゑソスワゑソスソスソスソスiZ.Xソスフ厄ソスソスソス ソスソスソス黷スソスソスがなゑソスソスニゑソスソスワゑソスソスjソスAC.XソスソスA.B.XソスソスXソスノは適ソスpソスソスソスソスワゑソスソスソスB A * label appearing in a query name has no special effect, but can be used to test for wildcards in an authoritative zone; such a query is the only way to get a response containing RRs with an owner name with * in it. The result of such a query should not be cached. ソス竝ソスソスソスソスソスノ鯉ソスソスソスソスソス*ソスソスソスxソスソスソスヘ難ソスソスハな鯉ソスソスハゑソスソスソスソスソスソスワゑソスソスが、ソスソスソスソスソスネゾソス[ソスソスソスナソスソスC ソスソスソスhソスJソス[ソスhソスフテソスXソスgソスソスソスsソスソスソスソスソス゚に使ソスソスソスソスソスソスソスナゑソスソスワゑソスソスGソスソスソスフようソスネ問合ソスソスソスヘ擾ソスソスLソスソス ソスソスソスソス*ソスソスソスワむ趣ソスソスソスソスソスソスRソス[ソスhソスフ回答を得ゑソスBソスソスフ包ソスソス@ソスナゑソスソスBソスソスソスフようソスネ趣ソスソスソスフ鯉ソスソスソス ソスヘキソスソスソスbソスVソスソスソスソスソスソスソスラゑソスソスナはゑソスソスソスワゑソスソスソスB Note that the contents of the wildcard RRs are not modified when used to synthesize RRs. ソスソスソスCソスソスソスhソスJソス[ソスhソスソスソスソスソスソスソスRソス[ソスhソスフ抵ソスソスgソスソスソスAソスソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスソスソスソスソス驍スソス゚に使ソスソスソスソス ソスソスソスAソスCソスソスソスソスソスソスネゑソスソスソスソスニに抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスB To illustrate the use of wildcard RRs, suppose a large company with a large, non-IP/TCP, network wanted to create a mail gateway. If the company was called X.COM, and IP/TCP capable gateway machine was called A.X.COM, the following RRs might be entered into the COM zone: ソスソスソスCソスソスソスhソスJソス[ソスhソスソスソスソスソスソスソスRソス[ソスhソスフ使ソスpソスソスソスニゑソスソスト、ソス蛯ォソスネ費ソスIP/TCPソスヤゑソスソスソスソスツ大きソスソス ソスソスミゑソスソスソスソス[ソスソスソスQソス[ソスgソスEソスFソスCソスソスソスソス驍アソスニゑソス]ソスだと考ソスソスソストゑソスソスソスソスソスソスソスソスBソスソスソスソスソスソスミゑソス X.COMソスニ呼ばゑソスAA.X.COMソスニ呼ばゑソスソスTP/TCPソスソスソスソスソスツゲソス[ソスgソスEソスFソスCソスワゑソスソスソスソスソスソスソスネゑソスA ソスネ会ソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソスソスCOMソス]ソス[ソスソスソスノゑソスソス驍ゥソスソスソスソスソスソスワゑソスソスソスF X.COM MX 10 A.X.COM *.X.COM MX 10 A.X.COM A.X.COM A 1.2.3.4 A.X.COM MX 10 A.X.COM *.A.X.COM MX 10 A.X.COM This would cause any MX query for any domain name ending in X.COM to return an MX RR pointing at A.X.COM. Two wildcard RRs are required since the effect of the wildcard at *.X.COM is inhibited in the A.X.COM subtree by the explicit data for A.X.COM. Note also that the explicit MX data at X.COM and A.X.COM is required, and that none of the RRs above would match a query name of XX.COM. ソスソスソスソスソスX.COMソスナ終ソスソスソスSソストのドソスソスソスCソスソスソスソスソスノつゑソスソスソスMXソス竝ソスソスソスソスソスソスソスソスソスA.X.COMソスソスソスソスソスソス MXソスソスソスソスソスソスソスRソス[ソスhソスソスソスヤゑソスソストゑソスソスワゑソスソスBA.X.COMソスフ厄ソスソスソスソスIソスfソス[ソス^ソスノゑソスソス*.X.COMソスフ鯉ソスソスハゑソス A.X.COMソスソスA.C.COMソスネ会ソスソスヨの適ソスpソスソスソスソスネゑソスソスネゑソスフで、ソスQソスツのソスソスCソスソスソスhソスJソス[ソスhソスソスソスソスソスソス ソスRソス[ソスhソスソスソスKソスvソスナゑソスソスBソスソスソスソスソスソスX.COMソスソスA.X.COMソスノ対ゑソスソス髢セソスソスソスIソスソスMXソスfソス[ソス^ソスソスソスKソスvソスナ、 ソスソスLソスソスXX.COMソスフ趣ソスソスソスソスソスソスRソス[ソスhソスノは茨ソスvソスソスソスネゑソスソスソスソスニに抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスB 4.3.4. Negative response caching (Optional) 4.3.4. ソスロ定応ソスソスソスフキソスソスソスbソスVソスソスソスiソスCソスモ) The DNS provides an optional service which allows name servers to distribute, and resolvers to cache, negative results with TTLs. For example, a name server can distribute a TTL along with a name error indication, and a resolver receiving such information is allowed to assume that the name does not exist during the TTL period without consulting authoritative data. Similarly, a resolver can make a query with a QTYPE which matches multiple types, and cache the fact that some of the types are not present. ソスcソスmソスrソスヘ任ソスモ趣ソスソスソスソスフサソス[ソスrソスXソスソスソスソスソスソスソスワゑソスソスAソスlソス[ソスソスソスTソス[ソスoソスソスTTLソスtソスソスソスナ否抵ソス答ゑソス ソスソスソス驍アソスニゑソスソスoソスソスソスAソスソスソス]ソスソスソスoソスヘゑソスソスソスソスソスLソスソスソスbソスVソスソスソスナゑソスソスワゑソスソスBソス痰ヲソスホ、ソスlソス[ソスソスソスTソス[ ソスoソス[ソスソスソスソスソスOソスGソスソスソス[ソス\ソスソスソスニとゑソスソスソスTTLソス送るこソスニゑソスソスナゑソスソスワゑソスソスAソスソスソスフようソスネ擾ソスソスソスソスソス ソスソスソスソス驛奇ソス]ソスソスソスoソスソスソスAソスソスソスOソスフ撰ソスソスソスソスネデソス[ソス^ソス調べなゑソスソスソスTTLソスソスソスヤの間ゑソスソスフ厄ソスソスOソスソスソスソス ソスンゑソスソスネゑソスソスニ想ソス閧キソス驍アソスニゑソスソスソスソスソスソスソスワゑソスソスBソスソスソスlソスノ、ソスソスソス]ソスソスソスoソスソスソスソスソスソスソスフタソスCソスvソスニ茨ソスv ソスソスソスソスQTYPEソスナ趣ソスソスソスソスソスソスソストて、ソスソスソスソスソスツゑソスソスフタソスCソスvソスソスソスソスソスンゑソスソストゑソスソスネゑソスソスニゑソスソスソスソスソスソスソスソスソス ソスLソスソスソスbソスVソスソスソスソスソス驍アソスニゑソスソスナゑソスソスワゑソスソスB This feature can be particularly important in a system which implements naming shorthands that use search lists beacuse a popular shorthand, which happens to require a suffix toward the end of the search list, will generate multiple name errors whenever it is used. ソスソスハ的ソスネ短ソスkソスソスソスヘ、ソスZソスkソスソスソスソスソス{ソスソスソスソスソスXソスgソスフ終ソスソスソスソスソスソスソスノ接費ソスソスソスソスソスKソスvソスニゑソスソスAソスgソスp ソスソスソスノ托ソスソスソスソスフ厄ソスソスOソスGソスソスソス[ソス生ゑソスソスソスフで、ソスソスソスフ機ソス\ソスヘ鯉ソスソスソスソスソスソスXソスgソスナ使ソスソスソスZソスkソスソスソスソスソスソスソスソス ソスソスソスソスVソスXソスeソスソスソスナ難ソスソスノ重ソスvソスナゑソスソス闢セソスワゑソスソスB The method is that a name server may add an SOA RR to the additional section of a response when that response is authoritative. The SOA must be that of the zone which was the source of the authoritative data in the answer section, or name error if applicable. The MINIMUM field of the SOA controls the length of time that the negative result may be cached. ソスソスソスフ包ソスソス@ソスヘネソス[ソスソスソスTソス[ソスoソス[ソスソスソスソスソスソスソス答の追会ソスソスZソスNソスVソスソスソスソスソスソスSOAソスソスソスソスソスソスソスRソス[ソスhソスソスソスソス ソスソスソストゑソスソス謔「ソスニゑソスソスソスソスソスソスニでゑソスソスBソス答セソスNソスVソスソスソスソスソスフ撰ソスソスソスソスネデソス[ソス^ソスソスソスAソスツ能ソスネら名ソスOソスG ソスソスソス[ソスAソスフゑソスソスソス]ソス[ソスソスソスソスSOAソスソスソスソスソスソスノ違いソスソスソスソスワゑソスソスソスBSOAソスフ最擾ソスソスtソスBソス[ソスソスソスhソスヘ否抵ソス ソスIソスネ鯉ソスソスハゑソスソスLソスソスソスbソスVソスソスソスソスソス骼橸ソスヤの抵ソスソスソスソスソスソスRソスソスソスgソスソスソス[ソスソスソスソスソスワゑソスソスB ソス注:RFC2181ソスナ、ソスソスLソスフ間違えソスソスソスwソスEソスソスソスソストゑソスソスワゑソスソスBSOAソスソスソスソスソスソスソスRソス[ソスhソスヘ追会ソスソスZ ソスNソスVソスソスソスソスソスナはなゑソスソスソスソスミセソスNソスVソスソスソスソスソスノ設定しソスワゑソス Note that in some circumstances, the answer section may contain multiple owner names. In this case, the SOA mechanism should only be used for the data which matches QNAME, which is the only authoritative data in this section. ソスソスソスソス況で解答セソスNソスVソスソスソスソスソスソスソスソスソスソスソスフ擾ソスソスLソスメ厄ソスソスソスソスワむゑソスソスソスソスソスソスソスネゑソスソスソスソスニに抵ソスソスモゑソスソスソス ソスソスソスソスソスソスソスソスソスBソスソスソスフ場合SOAソスソスソスJソスjソスYソスソスソスソスQNAMEソスニ茨ソスvソスソスソスソスfソス[ソス^ソスノ使ソスソスソスソスラゑソスソスナ、 ソスソスソスソスヘゑソスソスフセソスNソスVソスソスソスソスソスナ唯ソスソスフ撰ソスソスソスソスネデソス[ソス^ソスナゑソスソスB Name servers and resolvers should never attempt to add SOAs to the additional section of a non-authoritative response, or attempt to infer results which are not directly stated in an authoritative response. There are several reasons for this, including: cached information isn't usually enough to match up RRs and their zone names, SOA RRs may be cached due to direct SOA queries, and name servers are not required to output the SOAs in the authority section. ソスソスソスOソスTソス[ソスoソス[ソスニソスソス]ソスソスソスoソスヘ鯉ソスソスソスソスト撰ソスソスソスソスナなゑソスソス答の追会ソスソスZソスNソスVソスソスソスソスソスソスSOAソスソスソスソスソスソス ソスソスソスソスAソスソスソスソスソスネ回答で抵ソスソスレ鯉ソスソスソスソストゑソスソスネゑソスソスソスソスハを推論ソスソスソス謔、ソスニ趣ソスソスンみゑソスラゑソスソスナはゑソス ソスソスワゑソスソスソスBソスソスソスフ暦ソスソスRソスソスソスネ会ソスソスフようソスノゑソスソスソスソスツゑソスソスソスソスソスワゑソスソスFソスLソスソスソスbソスVソスソスソスソスソスヘ趣ソスソスソスソスソス ソスRソス[ソスhソス竄サソスフゾソス[ソスソスソスソスソスソスソスrソスソスソスソスフに十ソスソスソスナなゑソスソスASOAソスソスSOAソスソスソスソスソスソスソスRソス[ソスhソスフ要ソスソス ソスノゑソス闥シソスレキソスソスソスbソスVソスソスソスソスソスソス驍アソスニゑソスソスソスソスソスAソスlソス[ソスソスソスTソス[ソスoソスヘ鯉ソスソスミセソスNソスVソスソスソスソスソスソスSOA ソスソスソスソスソス驍アソスニゑソスソスvソスソスソスソスソスソストなゑソスソスB This feature is optional, although a refined version is expected to become part of the standard protocol in the future. Name servers are not required to add the SOA RRs in all authoritative responses, nor are resolvers required to cache negative results. Both are recommended. All resolvers and recursive name servers are required to at least be able to ignore the SOA RR when it is present in a response. ソスソスソスフ機ソス\ソスヘ難ソスソスソスソスヘ、ソスソスソスソスソスAソスソスソスソスソスソスソス黷スソスoソス[ソスWソスソスソスソスソスナ標ソスソスソスvソスソスソスgソスRソスソスソスフ一部ソスノなゑソス ソスソスソスニゑソスソスソスソスメゑソスソスソスワゑソスソスソスソスCソスモでゑソスソスBソスlソス[ソスソスソスTソス[ソスoソス[ソスソスソスソスソスラての撰ソスソスソスソスネ回答ゑソスSOAソスソス ソスソスソスソスソスRソス[ソスhソスソスソスソスソスソスソスソス謔、ソスノ要ソスソスソスソスソスソスワゑソスソスソスAソスソスソスlソスノソスソス]ソスソスソスoソスノ否抵ソスIソスネ鯉ソスソスハゑソス ソスLソスソスソスbソスVソスソスソスソスvソスソスソスソスソスワゑソスソスソスBソスソスソスソスソスニゑソスソスソスソスEソスソスソスソスワゑソスソスBソスソスソスラてのソスソス]ソスソスソスoソスニ再帰 ソスlソス[ソスソスソスTソス[ソスoソス[ソスヘ擾ソスソスネゑソスソスニゑソスSOAソスソスソスソスソスソスソスRソス[ソスhソスソスソス答に托ソスソスンゑソスソストゑソスソス骼橸ソスASOAソスソス ソスソスソスソスソスRソス[ソスhソス無趣ソスソスナゑソスソスソス謔、ソスノ要ソスソスソスソスソスソスワゑソスソスB Some experiments have also been proposed which will use this feature. The idea is that if cached data is known to come from a particular zone, and if an authoritative copy of the zone's SOA is obtained, and if the zone's SERIAL has not changed since the data was cached, then the TTL of the cached data can be reset to the zone MINIMUM value if it is smaller. This usage is mentioned for planning purposes only, and is not recommended as yet. ソスソスソスフ難ソスソスソスソスソスソスgソスソスソスソスソスソスソスソスソスソスソスソスソストゑソスソスソスワゑソスソスソスソスBソスlソスソスソスソスソスヘ、ソスLソスソスソスbソスVソスソスソスソスソス黷スソスfソス[ソス^ ソスソスソスソスソスソス]ソス[ソスソスソスソスソス逞茨ソスソスソスニわかソスソスソストゑソスソスト、ソスソスソスソスソスソスSOAソスフコソスsソス[ソスソスソスソスソスソスソスAソスfソス[ソス^ソスソス ソスLソスソスソスbソスVソスソスソスソスソス黷スソスソスノゾソス[ソスソスソスフシソスソスソスAソスソスソスヤ搾ソスソスソスソスマ更ソスソスソスソストなゑソスソスソスホ、ソスLソスソスソスbソスVソスソス ソスfソス[ソス^ソスソスTTLソスソスソスソスソスソスソスソスソスソスホゾソス[ソスソスソスフ最抵ソスソスlソスナ置ソスソスソスソスソスソスソスソスソス骼厄ソスナゑソスソスBソスソスソスフ使ソスpソス@ ソスヘ計ソスソスレ的ソスナ鯉ソスソスソスソストゑソスソスト撰ソスソスEソスソスソスソスワゑソスソスソスB 4.3.5. Zone maintenance and transfers 4.3.5. ソス]ソス[ソスソスソスロ趣ソスソスニ転ソスソス Part of the job of a zone administrator is to maintain the zones at all of the name servers which are authoritative for the zone. When the inevitable changes are made, they must be distributed to all of the name servers. While this distribution can be accomplished using FTP or some other ad hoc procedure, the preferred method is the zone transfer part of the DNS protocol. ソス]ソス[ソスソスソスヌ暦ソスソスメの仕ソスソスソスフ一部ソスソスソス]ソス[ソスソスソスフ撰ソスソスソスソスネネソス[ソスソスソスTソス[ソスoソス[ソスフゑソスソスラてのゾソス[ソスソスソスソス ソスソスソスソスソスソスソス驍アソスニでゑソスソスBソスマ更ソスソスソスsソスソス黷スソスニゑソスソスノ、ソスソスソスソスヘ全ソストのネソス[ソスソスソスTソス[ソスoソス[ソスノ配ソスソス ソスソスネゑソスソストはなゑソスワゑソスソスソスBソスソスソスフ配ソスzソスソスFTPソス竭シソスフ別の手順ソスナでゑソスソスワゑソスソスソスソスAソス]ソスワゑソスソスソス ソスソスソス@ソスヘDソスmソスrソスvソスソスソスgソスRソスソスソスフゾソス[ソスソスソス]ソスソスソスソスソスナゑソスソスB The general model of automatic zone transfer or refreshing is that one of the name servers is the master or primary for the zone. Changes are coordinated at the primary, typically by editing a master file for the zone. After editing, the administrator signals the master server to load the new zone. The other non-master or secondary servers for the zone periodically check for changes (at a selectable interval) and obtain new zone copies when changes have been made. ソスソスソスソスソスIソスネゾソス[ソスソスソス]ソスソスソスソスソス驍「ソスヘ更ソスVソスフソスソスfソスソスソスヘネソス[ソスソスソスTソス[ソスoソス[ソスフ1ソスツゑソスソス]ソス[ソスソスソスフマ ソスXソス^ソス[ソスソスソス驍「ソスヘ趣ソスニゑソスソスソスソスソスソスニでゑソスソスBソスマ更ソスヘ通擾ソス]ソス[ソスソスソスフマソスXソス^ソス[ソスtソス@ソスCソスソスソスソスメ集 ソスソスソス驍アソスニに難ソスソスソスソスソスソスワゑソスソスBソスメ集ソスソスノ管暦ソスソスメはマソスXソス^ソス[ソスTソス[ソスoソス[ソスノ新ソスソスソスソスソス]ソス[ソスソスソスソスソス ソスン搾ソスソズようソスwソスソスソスソスソスワゑソスソスBソス]ソス[ソスソスソスフ托ソスソスフ費ソス}ソスXソス^ソス[ソスソスソス驍「ソスヘ托ソスQソスTソス[ソスoソス[ソスソスソスソスソスソスI ソスノ変更ソスソスソスmソスFソスソスソスiソスヤ隔ソスヘ変更ソスツ能ソスjソスAソスマ会ソスソスソスソストゑソスホ新ソスソスソスソスソス]ソス[ソスソスソスフコソスsソス[ソス得ゑソス ソスソスソスB To detect changes, secondaries just check the SERIAL field of the SOA for the zone. In addition to whatever other changes are made, the SERIAL field in the SOA of the zone is always advanced whenever any change is made to the zone. The advancing can be a simple increment, or could be based on the write date and time of the master file, etc. The purpose is to make it possible to determine which of two copies of a zone is more recent by comparing serial numbers. Serial number advances and comparisons use sequence space arithmetic, so there is a theoretic limit on how fast a zone can be updated, basically that old copies must die out before the serial number covers half of its 32 bit range. In practice, the only concern is that the compare operation deals properly with comparisons around the boundary between the most positive and most negative 32 bit numbers. ソスマ更ソスソスソスソスソスoソスソスソス驍スソス゚にセソスJソスソスソス_ソスソスソスヘゾソス[ソスソスソスソスSOAソスフシソスソスソスAソスソスソスヤ搾ソスソスtソスBソス[ソスソスソスhソスソスソスm ソスFソスソスソスワゑソスソスBソスソスソスソスソスマ更ソスソスソスソスソスソスソスソスソス鼾ソスソスSOAソスフシソスソスソスAソスソスソスヤ搾ソスソスヘ擾ソスノ托ソスソスソスソスソスソスワゑソスソスBソスソスソスソス ソスヘ単ソスソスソスノ行ソスソス黷スソスソスAソス}ソスXソス^ソス[ソスtソス@ソスCソスソスソスフ擾ソスソスソスソスソスソスン難ソスソスフ奇ソステゑソスソスソスソス閧オソスワゑソスソスBソスレ的 ソスヘゾソス[ソスソスソスフ2ソスツのコソスsソス[ソスフシソスソスソスAソスソスソスヤ搾ソスソスソスソスrソスソスソス驍アソスニでどゑソスソス轤ェソスナ近ゑソスソスソスソスソスソス ソスツ能ソスノゑソスソス驍アソスニでゑソスソスBソスVソスソスソスAソスソスソスヤ搾ソスソスフ托ソスソスソスソスニ費ソスrソスソスソスAソスソスソスソスヤ算ソスpソスソスソスgソスソスソスワゑソスソスAソスソス ソスフゑソスソス゚ゑソスソスフゑソスソス轤「ソスソスソスソスソス]ソス[ソスソスソスソスソスXソスVソスナゑソスソス驍ゥソスノつゑソスソスト暦ソスソス_ソスIソスネ鯉ソスソスEソスソスソスソスソスソスワゑソスソスA ソスソス{ソスIソスノ古ゑソスソスRソスsソス[ソスソスソスAソスVソスソスソスAソスソスソスヤ搾ソスソスフ托ソスソスソスソスソスソスRソスQソスrソスbソスgソスフ費ソスソスソスソスソスソスzソスソスソスソスOソスノ擾ソス ソスナゑソスソスネゑソスソスソスホなゑソスワゑソスソスソスBソスソスソスロは、ソスBソスソスフ関心ソスヘ費ソスrソスソスソスがソスA32ソスrソスbソスgソスフ撰ソスソスフ搾ソス ソスソスlソスニ包ソスソスフ最擾ソスソスlソスtソス゚で撰ソスソスmソスノ費ソスrソスソスソスソスソス骼厄ソスナゑソスソスB The periodic polling of the secondary servers is controlled by parameters in the SOA RR for the zone, which set the minimum acceptable polling intervals. The parameters are called REFRESH, RETRY, and EXPIRE. Whenever a new zone is loaded in a secondary, the secondary waits REFRESH seconds before checking with the primary for a new serial. If this check cannot be completed, new checks are started every RETRY seconds. The check is a simple query to the primary for the SOA RR of the zone. If the serial field in the secondary's zone copy is equal to the serial returned by the primary, then no changes have occurred, and the REFRESH interval wait is restarted. If the secondary finds it impossible to perform a serial check for the EXPIRE interval, it must assume that its copy of the zone is obsolete an discard it. ソスZソスJソスソスソス_ソスソスソスTソス[ソスoソス[ソスフ抵ソスソスソスIソスネ確ソスFソスソスSOAソスソスソスソスソスソスソスRソス[ソスhソスフパソスソスソスソスソス[ソス^ソスナ撰ソスソス艪ウソスソスA SOAソスソスソスソスソスソスソスRソス[ソスhソスヘ各ソスmソスFソスソスソスソスソスナ読みゑソスソスワゑソスネゑソスソスソスホなゑソスワゑソスソスソスBソスpソスソスソスソスソス[ソス^ソスソス ソスXソスV(REFRESH)ソスニ再趣ソス(RETRY)ソスニ厄ソスソスソス(EXPIRE)ソスニ呼ばゑソスワゑソスソスBソス]ソス[ソスソスソスソスソスZソスJソスソスソス_ソスソス ソスノ読み搾ソスソスワゑソスソスニセソスJソスソスソス_ソスソスソスソスREFRESHソスbソスヤ待ゑソスソスAソスvソスソスソスCソス}ソスソスソスフ新ソスソスソスソスソスVソスソスソスAソスソス ソスヤ搾ソスソスソスソスmソスFソスソスソスワゑソスソスBソスソスソスフ確ソスFソスノ趣ソスソスsソスソスソスソスソスRETRYソスbソスソスノ再度ソスmソスFソスソスソスソスワゑソスソスBソスmソスF ソスヘゾソス[ソスソスソスフプソスソスソスCソス}ソスソスソスソスSOAソスフ単ソスソスソスネ問合ソスソスソスナゑソスソスBソスソスソスソスソスZソスJソスソスソス_ソスソスソスフゾソス[ソスソスソスフコ ソスsソス[ソスフシソスソスソスAソスソスソスヤ搾ソスソスニプソスソスソスCソス}ソスソスソスソスソスソスAソスソスソストゑソスソスソスソスフシソスソスソスAソスソスソスヤ搾ソスソスソスソスソスソスソスソスソスソスネゑソスA ソスマ更ソスソスソスネゑソスソスAソスソスソスフ確ソスFソスワゑソスREFRESHソスbソスヤ待ゑソスソスワゑソスソスBEXPIREソスbソスヤ確ソスFソスソスソスナゑソスソスネゑソスソスソス ソスソスソスソスAソス]ソス[ソスソスソスフコソスsソス[ソスソスソスソスソスソスxソスソスニ考ソスソスソスネゑソスソスソスホならずソスpソスソスソスソスソスワゑソスソスB When the poll shows that the zone has changed, then the secondary server must request a zone transfer via an AXFR request for the zone. The AXFR may cause an error, such as refused, but normally is answered by a sequence of response messages. The first and last messages must contain the data for the top authoritative node of the zone. Intermediate messages carry all of the other RRs from the zone, including both authoritative and non-authoritative RRs. The stream of messages allows the secondary to construct a copy of the zone. Because accuracy is essential, TCP or some other reliable protocol must be used for AXFR requests. ソス]ソス[ソスソスソスソスソスマゑソスソスソスソスソスソスソスAソスZソスJソスソスソス_ソスソスソスTソス[ソスoソス[ソスソスAXFRソスナゾソス[ソスソスソス]ソスソスソスソスvソスソスソスソスソスワゑソスソスBソスソス ソスソスAXFR ソスヘ具ソスソスロなどのエソスソスソス[ソスソスソスNソスソスソスソスソスソスソスソスソスソスソスソスワゑソスソスが、ソスハ擾ソスAソスソスソスIソスネ回答ソスソスb ソスZソス[ソスWソスソスソスソスソスワゑソスソスBソスナ擾ソスソスニ最鯉ソスフソスソスbソスZソス[ソスWソスヘゾソス[ソスソスソスフ最擾ソスハの撰ソスソスソスソスネノソス[ソスhソスfソス[ ソス^ソスソスソスワゑソスナゑソスソスネゑソスソストはなゑソスワゑソスソスソスBソスrソスソスソスフソスソスbソスZソス[ソスWソスソスソス]ソス[ソスソスソスフ全ソストの趣ソスソスソスソスソス ソスRソス[ソスhソスソスソス^ソスム、ソスソスソスソスノは撰ソスソスソスソスネのゑソスソスソスソスソスソスナなゑソスソスフゑソスソスワまゑソスワゑソスソスBソスソスソスbソスZソス[ソスWソスフ暦ソス ソスソスヘセソスJソスソスソス_ソスソスソスノゾソス[ソスソスソスフコソスsソス[ソスソスソスソス驍アソスニゑソスソスツ能ソスノゑソスソスワゑソスソスBソスソスソスmソスソスソスソスソスKソスvソスネゑソス ソスナ、TCPソス竕スソスソスソスソスソスフ信ソスソスソスソスソスソスソスソスソスソスソスvソスソスソスgソスRソスソスソスソスAXFRソスvソスソスソスナ使ソスソスソスネゑソスソストはなゑソスソス ソスソスソスソスB Each secondary server is required to perform the following operations against the master, but may also optionally perform these operations against other secondary servers. This strategy can improve the transfer process when the primary is unavailable due to host downtime or network problems, or when a secondary server has better network access to an "intermediate" secondary than to the primary. ソスeソスZソスJソスソスソス_ソスソスソスTソス[ソスoソスソスソス}ソスXソス^ソス[ソスノ対ゑソスソスト転ソスソスソスソスソスソスソスソスsソスソスソス謔、ソスノ要ソスソスソスソスソスソスワゑソスソスAソスソス ソスソスソスソスソスIソスvソスVソスソスソスソスソスナ托ソスソスフセソスJソスソスソス_ソスソスソスTソス[ソスoソス[ソスノ対ゑソスソストゑソスソスソスソスフ托ソスソスソスソスソスsソスソスソストゑソスソス謔「 ソスナゑソスソスBソスソスソスフ戦略ソスヘ、ソスvソスソスソスCソス}ソスソスソスソスソスzソスXソスgソス_ソスEソスソスソスソスlソスbソスgソスソスソス[ソスNソスフ厄ソスソスナ暦ソスソスpソスナゑソス ソスネゑソスソスソスソスソスAソスZソスJソスソスソス_ソスソスソスソスソスソスソスヤセソスJソスソスソス_ソスソスソスニの間にプソスソスソスCソス}ソスソスソスソスソス謔「ソスソスソスソスソスソスソスソスソス ソスニゑソスソスAソス]ソスソスソスvソスソスソスZソスXソスソスソスソスソスPソスソスソス驍アソスニゑソスソスナゑソスソスワゑソスソスB 5. RESOLVERS 5. ソスソスソス]ソスソスソスo 5.1. Introduction 5.1. ソスヘゑソスソス゚ゑソス Resolvers are programs that interface user programs to domain name servers. In the simplest case, a resolver receives a request from a user program (e.g., mail programs, TELNET, FTP) in the form of a subroutine call, system call etc., and returns the desired information in a form compatible with the local host's data formats. ソスソスソス]ソスソスソスoソスヘソスソス[ソスUソスvソスソスソスOソスソスソスソスソスニドソスソスソスCソスソスソスlソス[ソスソスソスTソス[ソスoソス[ソスヤのプソスソスソスOソスソスソスソスソスナゑソスソスBソスソス ソスソスソスPソスソスソスネ場合ソスAソスソスソス]ソスソスソスoソスヘソスソス[ソスUソスvソスソスソスOソスソスソスソスソスiソス痰ヲソスホ、ソスソスソス[ソスソスソスvソスソスソスOソスソスソスソスソスA TELNETソスAFTPソスjソスソスソスソスTソスuソスソスソス[ソス`ソスソスソストびゑソスソスソスソスネどの形ソスナ問合ソスソスソスソスソスけ趣ソスソスAソスソスソス[ソスJ ソスソスソスzソスXソスgソスフデソス[ソス^ソスtソスHソス[ソス}ソスbソスgソスニ互奇ソスソスソスソスソスソスソスソスソス`ソスソスソスナ望ソスワゑソスソスソスソスソスソスソスヤ托ソスソスソスソスワゑソスソスB 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. Because a resolver may need to consult several name servers, or may have the requested information in a local cache, the amount of time that a resolver will take to complete can vary quite a bit, from milliseconds to several seconds. ソスソスソス]ソスソスソスoソスヘソスソス]ソスソスソスoソスノサソス[ソスrソスXソスソスソスソスソス゚ゑソスvソスソスソスOソスソスソスソスソスニ難ソスソスソスソス}ソスVソスソスソスフ擾ソスノ位置ソスソスソスソス ソスソスソスソスソスAソスソスソスフホソスXソスgソスフネソス[ソスソスソスTソス[ソスoソス[ソスノ托ソスソスkソスソスソスソスKソスvソスソスソスソスソス驍ゥソスソスソスソスソスソスワゑソスソスソスBソスソスソス] ソスソスソスoソスヘゑソスソスソスソスツゑソスソスフネソス[ソスソスソスTソス[ソスoソス調べゑソスKソスvソスソスソスソスソス驍ゥソスソスソスソスソスソスネゑソスソスソスソスAソスソスソス[ソスJソスソスソスソス ソスLソスソスソスbソスVソスソスソスノ具ソスソス゚ゑソス黷スソスソスソスソスソスソスソスツゑソスソスソスソスソスソスソスネゑソスソスフで、ソスソスソス]ソスソスソスoソスソスソスソスソスソスソスソスソスソスソスソスソスソス ソスソスワでの趣ソスソスヤはミソスソスソスbソスPソスハゑソスソスソスbソスPソスハの大きソスネ搾ソスソスソスソスナまゑソスソスB A very important goal of the resolver is to eliminate network delay and name server load from most requests by answering them from its cache of prior results. It follows that caches which are shared by multiple processes, users, machines, etc., are more efficient than non-shared caches. ソスソスソス]ソスソスソスoソスフ費ソスソスノ重ソスvソスネ目的ソスソスソスAソスOソスフ鯉ソスソスハのキソスソスソスbソスVソスソスソスソスソスgソスソスソスソスソスナ、ソスlソスbソスgソスソスソス[ ソスNソスフ遅ソスソスソスニ托ソスハの要ソスソスソスノゑソスソスTソス[ソスoソスソスソスラゑソスソスソスソスソス驍アソスニでゑソスソスBソスソスソスソスヘ、ソスソスソスソスソスフプソスソス ソスZソスXソスニソスソス[ソスUソスニマソスVソスソスソスネどに具ソスソスLソスソスソスソスソスLソスソスソスbソスVソスソスソスヘ具ソスソスLソスソスソスソスネゑソスソスLソスソスソスbソスVソスソスソスソス ソスソスソスソスソスソスソスソスIソスネゑソスソスニゑソスソスソスソスソスソスワゑソスソスB 5.2. Client-resolver interface 5.2. ソスNソスソスソスCソスAソスソスソスgソス|ソスソスソス]ソスソスソスoソスCソスソスソス^ソス[ソスtソスFソス[ソスX 5.2.1. Typical functions 5.2.1. ソスTソス^ソスIソスネ機ソス\ The client interface to the resolver is influenced by the local host's conventions, but the typical resolver-client interface has three functions: ソスソスソス]ソスソスソスoソスソスソスNソスソスソスCソスAソスソスソスgソスヤのイソスソスソス^ソスtソスFソス[ソスXソスヘソスソス[ソスJソスソスソスzソスXソスgソスフ奇ソスソスKソスノゑソスソスソスト影 ソスソスソスソスソスけまゑソスソスAソスソスソスソスソスソスソスTソス^ソスIソスネソスソス]ソスソスソスoソス|ソスNソスソスソスCソスAソスソスソスgソスCソスソスソス^ソスtソスFソス[ソスXソスヘ3ソスツゑソス ソス@ソス\ソスソスソスソスソスソスソスワゑソスソスF 1. Host name to host address translation. 1. ソスzソスXソスgソスソスソスソスソスソスzソスXソスgソスAソスhソスソスソスXソスヨの翻ソスソス This function is often defined to mimic a previous HOSTS.TXT based function. Given a character string, the caller wants one or more 32 bit IP addresses. Under the DNS, it translates into a request for type A RRs. Since the DNS does not preserve the order of RRs, this function may choose to sort the returned addresses or select the "best" address if the service returns only one choice to the client. Note that a multiple address return is recommended, but a single address may be the only way to emulate prior HOSTS.TXT services. ソスソスソスフ機ソス\ソスヘ昔ゑソスHOSTS.TXTソスフ機ソス\ソスソスソスワねるたソス゚にゑソスソスホゑソスソスホ抵ソス`ソスソスソスソスワゑソスソスB ソス^ソスソスソスソス黷スソスソスソスソスソスソスノ対ゑソスソスト、ソスvソスソスソスメは1ソスツ以擾ソスソス32ソスrソスbソスgソスhソスoソスAソスhソスソスソスXソスソス ソスソスソスメゑソスソスワゑソスソスBソスソスソスソスヘDソスmソスrソスフタソスCソスvソス`ソスソスソスソスソスソスソスRソス[ソスhソス竝ソスソスソスノ翻ソスさゑソスワゑソスソスB ソスcソスmソスrソスソスソスソスソスソスソスソスソスRソス[ソスhソスフ擾ソスソスソスソスソスソスロ趣ソスソスソスソスネゑソスソスフで、ソスソスソスフ機ソス\ソスヘソソス[ソスgソスソスソスソスソスA ソスhソスソスソスXソスソスヤゑソスソスソスソスソスAソスソスソスソスソスTソス[ソスrソスXソスソスソスNソスソスソスCソスAソスソスソスgソスノ難ソスソスソスソスソスソスPソスツゑソスソスソスソスヤゑソスソスソス ソスソスuソスナゑソスソスヌゑソスソスvソスAソスhソスソスソスXソスソスIソスだりすソス驍ゥソスソスソスソスソスソスワゑソスソスソスBソスソスソスソスソスフアソスhソスソスソスX ソスソスヤゑソスソスソスソスニゑソスソスソスソスEソスソスソスソスワゑソスソスソスソスAソスPソスツのアソスhソスソスソスXソスソスヤゑソスソスフゑソスソスフゑソスHOSTS.TXT ソスTソス[ソスrソスXソスソスヘ倣すソスソスBソスソスフ包ソスソス@ソスソスソスソスソスソスソスソスネゑソスソスソスソスニに抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスB 2. Host address to host name translation 2. ソスzソスXソスgソスAソスhソスソスソスXソスソスソスソスzソスXソスgソスソスソスヨの変奇ソス This function will often follow the form of previous functions. Given a 32 bit IP address, the caller wants a character string. The octets of the IP address are reversed, used as name components, and suffixed with "IN-ADDR.ARPA". A type PTR query is used to get the RR with the primary name of the host. For example, a request for the host name corresponding to IP address 1.2.3.4 looks for PTR RRs for domain name "4.3.2.1.IN-ADDR.ARPA". ソスソスソスフ機ソス\ソスヘゑソスソスホゑソスソスホ昔の機ソス\ソスフ形ソスノ従ソスソスソスワゑソスソスBソス^ソスソスソスソス黷スソスRソスQソスrソスbソスg ソスhソスoソスAソスhソスソスソスXソスノ対ゑソスソスト、ソスvソスソスソスメはゑソスソスソスソスソスソスソスソスソスソスソス゚まゑソスソスBソスhソスoソスAソスhソスソスソスX ソスフオソスNソスeソスbソスgソスフ擾ソスソスソスソスソスソスtソスノゑソスソスソスソスソスソスOソスvソスfソスフ鯉ソスソス"IN-ADDR.ARPA"ソスソスソスツゑソス ソスソスソスソスソスフゑソスソスgソスソスソスワゑソスソスBソス^ソスCソスvPTRソスフ問合ソスソスソスソスソスzソスXソスgソスフ奇ソス{ソスソスソスフ趣ソスソスソスソスソス ソスRソス[ソスhソス得るたソス゚に使ソスソスソスワゑソスソスBソス痰ヲソスホIソスoソスAソスhソスソスソスXソスP.ソスQ.ソスR.ソスSソスソス ソスホ会ソスソスソスソスソスzソスXソスgソスソスソスフ問合ソスソスソスヘドソスソスソスCソスソスソスソス"4.3.2.1.IN-ADDR.ARPA"ソスソス PTRソスソスソスソスソスソスソスRソス[ソスhソスソスTソスソスソスワゑソスソスB 3. General lookup function 3. ソスソスハ的ソスネ鯉ソスソスソスソス@ソス\ This function retrieves arbitrary information from the DNS, and has no counterpart in previous systems. The caller supplies a QNAME, QTYPE, and QCLASS, and wants all of the matching RRs. This function will often use the DNS format for all RR data instead of the local host's, and returns all RR content (e.g., TTL) instead of a processed form with local quoting conventions. ソスソスソスフ機ソス\ソスヘDソスmソスrソスソスソスソスCソスモの擾ソスソスソスソスソスソスソスソスソスソスワゑソスソスAソスフのシソスXソスeソスソスソスノ対会ソスソスソスソスソス ソス@ソス\ソスヘゑソスソスソスワゑソスソスソスBソスvソスソスソスメゑソスQNAMEソスソスQTYPEソスソスQCLASSソスソスソスwソス閧オソスAソスソスvソスソスソス骼 ソスソスソスソスソスRソス[ソスhソスフゑソスソスラてゑソスvソスソスソスソスソスワゑソスソスBソスソスソスフ機ソス\ソスヘゑソスソスホゑソスソスホソスソス[ソスJソスソスソスzソスXソスgソスソス ソス`ソスソスソスナなゑソスソスソスソスラてのDソスmソスrソスソスソスソスソスソスソスRソス[ソスhソスfソス[ソス^ソスフ形ソスソスソスソスソスgソスソスソスAソスソスソス[ソスJソスソスソスソス ソスKソスソスソスナ擾ソスソスソスソスソスソスソスソスフではなゑソスソスSソストの趣ソスソスソスソスソスソスRソス[ソスhソスフ難ソスソスeソスiソス痰ヲソスホTソスsソスkソスj ソスソスヤゑソスソスワゑソスソスB When the resolver performs the indicated function, it usually has one of the following results to pass back to the client: ソスソスソス]ソスソスソスoソスソスソス@ソス\ソスソスソスソスソスsソスソスソス骼橸ソスAソスNソスソスソスCソスAソスソスソスgソスノ趣ソスソスフどれかソスソスヤゑソスソスナゑソスソス蛯、ソスF - One or more RRs giving the requested data. - ソスvソスソスソスソスソス黷スソスfソス[ソス^ソスソス^ソスソスソスソスPソスツ以擾ソスフ趣ソスソスソスソスソスソスRソス[ソスh In this case the resolver returns the answer in the appropriate format. ソスソスソスフ場合ソスソスソス]ソスソスソスoソスヘ適ソスリなフソスHソス[ソス}ソスbソスgソスナ難ソスソスソスソスソスヤゑソスソスワゑソスソスB - A name error (NE). - ソスソスソスOソスGソスソスソス[(NE) This happens when the referenced name does not exist. For example, a user may have mistyped a host name. ソスソスソスソスヘ、ソスQソスニゑソスソス黷スソスソスソスOソスソスソスソスソスンゑソスソスネゑソスソスソスソスノゑソスソスソスソスワゑソスソスBソス痰ヲソスホ、ソスソスソス[ソスUソス[ソスソス ソスzソスXソスgソスソスソスソスナゑソスソスヤ違えソスソスソスソスソスソスソスソスソスソスワゑソスソスソスB - A data not found error. - ソスfソス[ソス^ソスネゑソスソスGソスソスソス[ This happens when the referenced name exists, but data of the appropriate type does not. For example, a host address function applied to a mailbox name would return this error since the name exists, but no address RR is present. ソスソスソスソスヘ、ソスQソスニゑソスソス黷スソスソスソスOソスソスソスソスソスンゑソスソス驍ェソスKソスリなタソスCソスvソスフデソス[ソス^ソスソスソスネゑソスソスソスソスノゑソス ソスソスソスワゑソスソスBソス痰ヲソスホ、ソスソスソス[ソスソスソス{ソスbソスNソスXソスソスソスノ対ゑソスソストホソスXソスgソスAソスhソスソスソスXソスソスソスソスソスソスソスソスソスソスニ、 ソスソスソスOソスソスソスソスソスンゑソスソス驍ェソスAソスhソスソスソスXソスソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスンゑソスソスネゑソスソスフで、ソスソスソスフエソスソスソス[ソスソス ソスヤゑソスソスナゑソスソス蛯、ソスB It is important to note that the functions for translating between host names and addresses may combine the "name error" and "data not found" error conditions into a single type of error return, but the general function should not. One reason for this is that applications may ask first for one type of information about a name followed by a second request to the same name for some other type of information; if the two errors are combined, then useless queries may slow the application. ソスzソスXソスgソスソスソスニアソスhソスソスソスXソスフ間の翻ソスソス@ソス\ソスヘ、ソスuソスソスソスOソスGソスソスソス[ソスvソスニ「ソスfソス[ソス^ソスネゑソスソスvソスヘひゑソス ソスツのエソスソスソス[ソスナゑソスソスソスソス謔、ソスノ思ソスソスソスワゑソスソスソスソスAソスソスハ的ソスノは包ソスソスソスソスソスラゑソスソスソスソスニは重ソスvソスナゑソスソスBソスソス ソスフ暦ソスソスRソスフ1ソスツはアソスvソスソスソスPソス[ソスVソスソスソスソスソスソスソスソスソス髢シソスOソスフゑソスソスソスソスソスソスソスソスソス゚、ソスソスソスノ難ソスソスソスソスソスソスOソスソス ソスソスソスフタソスCソスvソスフ擾ソスソスソスソスソスソス゚るかソスソスソスソスソスソスネゑソスソスソスソスソスナゑソスソスGソスソスソスソスソスQソスツのエソスソスソス[ソスソスソスソスハゑソスソスソス ソスネゑソスソスソスホ、ソスソスソスpソスネ問合ソスソスソスソスソスAソスvソスソスソスPソス[ソスVソスソスソスソスソスソスxソスソスソスソスソス驍ゥソスソスソスソスソスソスワゑソスソスソスB 5.2.2. Aliases 5.2.2. ソスハ厄ソス While attempting to resolve a particular request, the resolver may find that the name in question is an alias. For example, the resolver might find that the name given for host name to address translation is an alias when it finds the CNAME RR. If possible, the alias condition should be signalled back from the resolver to the client. ソスソスソスソスフ問合ソスソスソスソスソスソスソスソスソスソスソス謔、ソスニ趣ソスソスンゑソスロに、ソスソスソス]ソスソスソスoソスヘ趣ソスソスソスフ厄ソスソスOソスソスソスハ厄ソスソスナゑソスソス驍ア ソスニに気ソスtソスソスソスソスソスソスソスソスソスソスワゑソスソスソスBソス痰ヲソスホ、ソスソスソス]ソスソスソスoソスヘホソスXソスgソスソスソスソスソスソスAソスhソスソスソスXソスヨの翻ソスソス ソスソスCNAMEソスソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスツゑソスソスソスソスニゑソスソスノ別厄ソスソスノ気ソスtソスソスソスソスソスソスソスソスソスソスワゑソスソスソスBソスソスソスソスソスツ能 ソスネゑソスハ厄ソスソスソスソスニゑソスソスソスソスソスソスソスソスソスソス]ソスソスソスoソスソスソスソスNソスソスソスCソスAソスソスソスgソスノ趣ソスソスソスソスソスソスラゑソスソスナゑソスソスB In most cases a resolver simply restarts the query at the new name when it encounters a CNAME. However, when performing the general function, the resolver should not pursue aliases when the CNAME RR matches the query type. This allows queries which ask whether an alias is present. For example, if the query type is CNAME, the user is interested in the CNAME RR itself, and not the RRs at the name it points to. ソスソスソスソスソストゑソスソスフ場合ソスソスソス]ソスソスソスoソスソスCNAMEソスoソスうソスニ新ソスソスソスソスソスソスソスOソスナ問合ソスソスソスソスソスト開ソスソスソスワゑソスソスBソスソス ソスソスソスソスソスAソスソスハ的ソスネ機ソス\ソスソスソスソスソスsソスソスソス骼橸ソスAソスソスソス]ソスソスソスoソスソスCNAMEソスソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスソス^ソスCソスv ソスニ茨ソスvソスソスソス骼橸ソスヘ新ソスソスソスソスソスソスソスOソスナ問合ソスソスソスソスソスト開ソスソスソスソスラゑソスソスナはゑソスソスソスワゑソスソスソスBソスソスソスソスヘ包ソス ソスソスソスソスソスソスソスンゑソスソストゑソスソス驍ゥソスqソスヒる質ソスソスソスソスソスソスソスソスワゑソスソスBソス痰ヲソスホ、ソスソスソスソスソスソスソスソス^ソスCソスvソスソスCNAMEソスソス ソスソスAソスソスソス[ソスUソス[ソスソスCNAMEソスソスソスソスソスソスソスソスソスOソスフ趣ソスソスソスソスソスソスRソス[ソスhソスナはなゑソスCNAMEソスソスソスソスソスソスソスRソス[ソスhソスソス ソスgソスノ具ソスソスソスソスソスソスソスソスソスソストゑソスソスワゑソスソスB Several special conditions can occur with aliases. Multiple levels of aliases should be avoided due to their lack of efficiency, but should not be signalled as an error. Alias loops and aliases which point to non-existent names should be caught and an error condition passed back to the client. ソスソスソスソスソスツゑソスソスフ難ソスソスハな擾ソスヤゑソスソスハ厄ソスソスノ托ソスソスンゑソスソスワゑソスソスBソスハ厄ソスソスフ別厄ソスソスヘ鯉ソスソスソスソスソスソスソスソスソスソスソスソスソスソスソスフゑソス ソスソスソスソスソスソスラゑソスソスナゑソスソスAソスソスソスソスソスソスソスGソスソスソス[ソスニゑソスソスト趣ソスソスソスソスソスソスラゑソスソスナはゑソスソスソスワゑソスソスソスBソスハ厄ソスソスフソスソス[ ソスvソスニ趣ソスソスンゑソスソスネゑソスソスソスソスOソスソスソスソスソスソスソスハ厄ソスソスフ鯉ソスソスソスソスソスソスソスソスラゑソスソスナ、ソスGソスソスソス[ソスソスソスNソスソスソスCソスAソスソスソスgソスノ返ゑソス ソスラゑソスソスナゑソスソスB 5.2.3. Temporary failures 5.2.3. ソス齊橸ソスIソスソスQ In a less than perfect world, all resolvers will occasionally be unable to resolve a particular request. This condition can be caused by a resolver which becomes separated from the rest of the network due to a link failure or gateway problem, or less often by coincident failure or unavailability of all servers for a particular domain. ソスソスソスフ抵ソスソスヘ奇ソスソスSソスナはなゑソスソスフで、ソスソスソス]ソスソスソスoソスヘ趣ソスソスノは問合ソスソスソスフ会ソスソスソスソスソスソスsソスツ能ソスナゑソスソス蛯、ソスB ソスソスソスフ擾ソスヤは、ソスlソスbソスgソスソスソス[ソスNソスフソスソスソスソスNソスフ擾ソスソスQソス[ソスgソスEソスFソス[ソスフ厄ソスソスソスAソスソスソスソスソスフ擾ソスソスソス ソスソスフドソスソスソスCソスソスソスフ全ソストのサソス[ソスoソスソスソスgソスソスソスネゑソスソスネゑソスニ費ソスソスソスソスソスソスワゑソスソスB It is essential that this sort of condition should not be signalled as a name or data not present error to applications. This sort of behavior is annoying to humans, and can wreak havoc when mail systems use the DNS. ソスソスソスフ趣ソスフ擾ソスヤゑソスソスAソスソスソスOソスソスfソス[ソス^ソスネゑソスソスフエソスソスソス[ソスニゑソスソストゑソスソスAソスvソスソスソスPソス[ソスVソスソスソスソスソスハ知ソスソスソスソス ソスネゑソスソスソスソスニゑソスソスKソスvソスナゑソスソスBソスソスソスフ様ソスネ行ソスソスソスヘ人ソスソスソスソスソス轤「ソス轤ウソスソスソスAソスソスソス[ソスソスソスVソスXソスeソスソスソスソスソスcソスm ソスrソスソスソスgソスソスソスソスソスAソスjソスソスソスソスソスソスソスソスNソスソスソスソスソスソスソスニゑソスソスナゑソスソスワゑソスソスB While in some cases it is possible to deal with such a temporary problem by blocking the request indefinitely, this is usually not a good choice, particularly when the client is a server process that could move on to other tasks. The recommended solution is to always have temporary failure as one of the possible results of a resolver function, even though this may make emulation of existing HOSTS.TXT functions more difficult. ソスソスソスソス鼾ソスヘゑソスソスツまでゑソスソスvソスソスソス留めてゑソスソスソスソスソスソスニでゑソスソスフようソスネ一時ソスIソスネ厄ソスソスソスソスソスソスソスソスソス ソスニゑソスソスツ能ソスナゑソスソスソスソスAソスソスソスソスヘ、ソスソスソスノクソスソスソスCソスAソスソスソスgソスソスソスソスソスフ仕ソスソスソスソスソスナゑソスソスソスTソス[ソスoソス[ソスvソスソスソスZ ソスXソスナゑソスソス骼橸ソスAソスハ擾ソスヌゑソスソスIソスソスソスナはゑソスソスソスワゑソスソスソスBソスソスソスEソスソスソス黷スソスソスソスソスソスソスソス@ソスヘ、ソスソスソス黷ェソスソスソスソス ソスソスHOSTS.TXTソス@ソス\ソスフまねゑソスしソスソスソスソスソスワゑソスソスソスソスAソスソスソス]ソスソスソスoソスソスソス齊橸ソスIソスネ趣ソスソスsソスソスヤゑソスソスソスソス ソスソスソスノゑソスソス驍アソスニでゑソスソスB 5.3. Resolver internals 5.3. ソスソスソス]ソスソスソスoソスフ難ソスソスソス Every resolver implementation uses slightly different algorithms, and typically spends much more logic dealing with errors of various sorts than typical occurances. This section outlines a recommended basic strategy for resolver operation, but leaves details to [RFC-1035]. ソスソスソスラてのソスソス]ソスソスソスoソスソスソスソスソスソスソスずソスソスソスソスソスツ異なゑソスソスソスソスAソスソスソスSソスソスソスYソスソスソスソスソスgソスソスソスAソスハ擾ソスAソスソスハ的 ソスネ趣ソスソスロゑソス闡スソスソスソスフ趣ソズのエソスソスソス[ソスソスソスソスソスソスソスAソスソス闡スソスソスソスフ計ソスZソスソスソスソスソスワゑソスソスBソスソスソスフ章はソスソス] ソスソスソスoソスフ撰ソスソスEソスソスソス黷スソスソス{ソス略ソスソスソスソスソスソスソスソスワゑソスソスAソスレ細ゑソス[RFC1035]ソスノ任ソスソスソスワゑソスソスB 5.3.1. Stub resolvers 5.3.1. ソスソス@ソス\ソスソスソス]ソスソスソスo One option for implementing a resolver is to move the resolution function out of the local machine and into a name server which supports recursive queries. This can provide an easy method of providing domain service in a PC which lacks the resources to perform the resolver function, or can centralize the cache for a whole local network or organization. ソスソスソス]ソスソスソスoソスフ趣ソスソスソスソスソスソス@ソスフ1ソスツはソスソス[ソスJソスソスソス}ソスVソスソスソスソスソスソスソスソスソスソス@ソス\ソスソスソスOソスソスソスAソスト帰ソス竝ソスソスソスソス ソスTソス|ソス[ソスgソスソスソスソスlソス[ソスソスソスTソス[ソスoソスノ移ゑソスソスソスソスニでゑソスソスBソスソスソスソスヘソスソス]ソスソスソスoソス動ゑソスソスソスソス\ソスヘに鯉ソスソスソス ソスソスoソスbソスソスlソスbソスgソス[ソスソスソス[ソスNソスソスソスgソスDソスフ全ソストのキソスソスソスbソスVソスソスソスソスソスPソスモ擾ソスソスノ集ソス゚ゑソスソスソスソスソスソスノ簡単 ソスネ包ソスソス@ソスソス供でゑソスソスワゑソスソスB All that the remaining stub needs is a list of name server addresses that will perform the recursive requests. This type of resolver presumably needs the information in a configuration file, since it probably lacks the sophistication to locate it in the domain database. The user also needs to verify that the listed servers will perform the recursive service; a name server is free to refuse to perform recursive services for any or all clients. The user should consult the local system administrator to find name servers willing to perform the service. ソスcソスソスフ機ソス\ソスソスソスKソスvソスネのは再帰ソス竝ソスソスソスソスソスTソス|ソス[ソスgソスソスソスソスlソス[ソスソスソスTソス[ソスoソスAソスhソスソスソスXソスフソスソスX ソスgソスナゑソスソスBソスソスソスフ趣ソスフソスソス]ソスソスソスoソスヘ、ソスソスソスソスソス轤ュソスhソスソスソスCソスソスソスfソス[ソス^ソスxソス[ソスXソスフ場所ソスソスヒゑソスソス~ソスソス ソスソス@ソス\ソスソスソスソスソスソスソストゑソスフで、ソスン抵ソスtソス@ソスCソスソスソスフ擾ソスソスソスKソスvソスニゑソスソスワゑソスソスBソスソスソス[ソスUソス[ソスヘソスソスXソスg ソスAソスbソスvソスソスソスソスソスTソス[ソスoソス[ソスソスソスト帰ソスTソス[ソスrソスXソスソスソスsソスソスソスソスソスニゑソスソスmソスソスソス゚ゑソスKソスvソスソスソスソスソスソスワゑソスソスGソスlソス[ ソスソスソスTソス[ソスoソスソスソス齦費ソスソスソスSソスソスソスフクソスソスソスCソスAソスソスソスgソスノ対ゑソスソスト再帰ソスTソス[ソスrソスXソスソスソスソスソスロゑソスソス骼ゥソスRソスソスソスソス ソスソスワゑソスソスBソスソスソス[ソスUソス[ソスヘサソス[ソスrソスXソスソスソスソスソスソスlソス[ソスソスソスTソス[ソスoソス[ソスソスソスソスソス[ソスJソスソスソスヌ暦ソスソスメに托ソスソスkソスソスソスソス ソスラゑソスソスナゑソスソスB This type of service suffers from some drawbacks. Since the recursive requests may take an arbitrary amount of time to perform, the stub may have difficulty optimizing retransmission intervals to deal with both lost UDP packets and dead servers; the name server can be easily overloaded by too zealous a stub if it interprets retransmissions as new requests. Use of TCP may be an answer, but TCP may well place burdens on the host's capabilities which are similar to those of a real resolver. ソスソスソスフ趣ソスフサソス[ソスrソスXソスソスソスソスソス骭ソス_ソスソスソスソスソスソスソスワゑソスソスBソスト帰ソス竝ソスソスソスソスソスsソスソスソスフにゑソスソスソスソス骼橸ソスヤは不 ソスソスソスネので、ソスソス@ソス\ソスソスソス]ソスソスソスoソスヘUソスcソスoソスpソスPソスbソスgソスソスソスソスソスソス黷スソスフとサソス[ソスoソスソスソスニまゑソスソストゑソス ソス鼾ソスフ再托ソスソスヤ隔ソスソスソスナ適ソスソスソスノ搾ソスソス驍ゥソスソスソスソスソスソスワゑソスソスソスGソスlソス[ソスソスソスTソス[ソスoソスヘ再托ソスソスヤ隔ソスソスソスZソスソス ソスソスソス]ソスソスソスoソスノゑソスソス゚包ソスソスラになゑソス竄キソスソスソスナゑソスソスBソスsソスbソスoソスソスソスgソスソスソスフゑソスソスソスソスソスソスソスソスソスソスソスソスソスワゑソスソスソス ソスソスソスAソスsソスbソスoソスヘホソスXソスgソスニソスソス]ソスソスソスoソスソスソスgソスノゑソスソスソスソスラゑソスソスソスソスソスソスソスナゑソスソス蛯、ソスB 5.3.2. Resources 5.3.2. ソスソスソスソス In addition to its own resources, the resolver may also have shared access to zones maintained by a local name server. This gives the resolver the advantage of more rapid access, but the resolver must be careful to never let cached information override zone data. In this discussion the term "local information" is meant to mean the union of the cache and such shared zones, with the understanding that authoritative data is always used in preference to cached data when both are present. ソスソスソスソスソスソスソスgソスフ趣ソスソスソスソスネ外ソスノ、ソスソスソス]ソスソスソスoソスソスソスソスソス[ソスJソスソスソスlソス[ソスソスソスTソス[ソスoソス[ソスフ保守すソスソス]ソス[ソスソスソスソス ソスAソスNソスZソスXソスナゑソスソス驍ゥソスソスソスソスソスソスワゑソスソスソスBソスソスソスソスヘソスソス]ソスソスソスoソスノ托ソスソスソスソスAソスNソスZソスXソスフ暦ソスソス_ソスソス^ソスソスソスソス ソスソスソスAソスソスソスソスソスソスソスソスソス]ソスソスソスoソスヘ鯉ソスソスソスソストキソスソスソスbソスVソスソスソスソスソスソスソス]ソス[ソスソスソスfソス[ソス^ソスソスソスDソス謔オソスネゑソスソス謔、 ソスノ気ソスソスソスgソスソスネゑソスソストはなゑソスワゑソスソスソスBソスソスソスフ議ソス_ソスナ用ソスソスuソスソスソス[ソスJソスソスソスソスソスvソスヘキソスソスソスbソスVソスソス ソスニ具ソスソスLソス]ソス[ソスソスソスフ組ソスン搾ソスソスせソスソスソスモ厄ソスソスソスソス驍アソスニゑソスソスモ図ソスソスソスAソスソスソスソスソスfソス[ソス^ソスニキソスソスソスbソスVソスソスソスfソス[ ソス^ソスソスソスソスソスソスニゑソスソスヘ撰ソスソスソスソスfソス[ソス^ソスソスソスDソス謔ウソスソス驍アソスニゑソスソスモ図ソスソスソスワゑソスソスB The following resolver algorithm assumes that all functions have been converted to a general lookup function, and uses the following data structures to represent the state of a request in progress in the resolver: ソスソスソスフソスソス]ソスソスソスoソスAソスソスソスSソスソスソスYソスソスソスヘゑソスソスラての機ソス\ソスソスソスソスハ的ソスネ鯉ソスソスソスソス@ソス\ソスノ変奇ソスソスソスソス黷スソスニ想 ソス閧オソスト、ソスソスソスソスソストソスソス]ソスソスソスoソスナ擾ソスソスソスソスソスソスフ問合ソスソスソスフ擾ソスヤゑソス\ソスソスソスソスソス゚の趣ソスソスフデソス[ソス^ソス\ソスソスソスソス ソスソスソスgソスソスソスワゑソスソスF SNAME the domain name we are searching for. ソスTソスソスソストゑソスhソスソスソスCソスソスソスソス STYPE the QTYPE of the search request. ソスソスソスソスソス竝ソスソスソスフ問合ソスソスソス^ソスCソスv SCLASS the QCLASS of the search request. ソスソスソスソスソス竝ソスソスソスフ問合ソスソスソスNソスソスソスX SLIST a structure which describes the name servers and the zone which the resolver is currently trying to query. This structure keeps track of the resolver's current best guess about which name servers hold the desired information; it is updated when arriving information changes the guess. This structure includes the equivalent of a zone name, the known name servers for the zone, the known addresses for the name servers, and history information which can be used to suggest which server is likely to be the best one to try next. The zone name equivalent is a match count of the number of labels from the root down which SNAME has in common with the zone being queried; this is used as a measure of how "close" the resolver is to SNAME. ソスソスソス]ソスソスソスoソスソスソスソスソスン尋ソスヒようソスニゑソスソストゑソスソスソスlソス[ソスソスソスTソス[ソスoソスニゾソス[ソスソスソスソスソスL ソスqソスソスソスソス\ソスソスソスフ。ソスソスソスフ構ソスソスソスフはどのネソス[ソスソスソスTソス[ソスoソスソスソス]ソスワゑソスソスソスソスソスソス ソスソスソスソスソスツゑソスソスノつゑソスソスト鯉ソスソスンの最ゑソスソスヌゑソスソスソスソスソスソスソスソスLソス^ソスEソスヌ跡ゑソスソスワゑソスソスGソスソス ソスソスヘ趣ソスMソスソスが撰ソスソスソスソスソスマ更ソスソスソス骼橸ソスノ更ソスVソスソスソスソスワゑソスソスBソスソスソスフ構ソスソスソスソス ソスヘゾソス[ソスソスソスソスソスニゾソス[ソスソスソスフ奇ソスソスmソスlソス[ソスソスソスTソス[ソスoソス[ソスニネソス[ソスソスソスTソス[ソスoソスフ奇ソス ソスmソスAソスhソスソスソスXソスニ趣ソスソスノどのネソス[ソスソスソスTソス[ソスoソス利用ソスソスソスラゑソスソスソスソスソスソスソスソスソスソスソスソスソス ソスソスソスニ難ソスソスソスソスソスソスフゑソスソスソスソスソスソスワゑソスソスBソス]ソス[ソスソスソスソスソスソスSNAMEソスナソスソス[ソスgソスソスソスソスソスソス ソスソスフ茨ソスvソスソスソス驛会ソスxソスソスソスフ撰ソスソスヘソスソス]ソスソスソスoソスノとゑソスソストゾソス[ソスソスソスソスSNAMEソスソス ソスヌれだソスソスソス゚ゑソスソスソスソスフ基準ソスナゑソスソスB SBELT a "safety belt" structure of the same form as SLIST, which is initialized from a configuration file, and lists servers which should be used when the resolver doesn't have any local information to guide name server selection. The match count will be -1 to indicate that no labels are known to match. SLISTソスニ難ソスソスソスソス`ソスソスソスフ「ソスVソス[ソスgソスxソスソスソスgソスvソス\ソスソスソスフ、ソスソスソスソスヘ設抵ソスtソス@ ソスCソスソスソスナ擾ソスソスソスソスソスソスソスソスソスAソスソスソス]ソスソスソスoソスソスソスlソス[ソスソスソスTソス[ソスoソスIソスソスソスソスソスソスソス驍スソス゚ゑソス ソスソスソス[ソスJソスソスソスソスがなゑソスソスソスソスノ使ソスソスソスラゑソスソスTソス[ソスoソス[ソスソスソスソスソスXソスgソスAソスbソスvソスソスソスソス ソスソスソスBソスソスvソスソスソスヘソスソスxソスソスソスソスソスソスvソスソスソス驍ゥソスmソスソスネゑソスソスソスソスニゑソスソスソスソスソスソスソスソス゚ゑソス ソス|ソスPソスナゑソスソス蛯、ソスB CACHE A structure which stores the results from previous responses. Since resolvers are responsible for discarding old RRs whose TTL has expired, most implementations convert the interval specified in arriving RRs to some sort of absolute time when the RR is stored in the cache. Instead of counting the TTLs down individually, the resolver just ignores or discards old RRs when it runs across them in the course of a search, or discards them during periodic sweeps to reclaim the memory consumed by old RRs. ソスフの回答ゑソスソスLソス^ソスソスソスソス\ソスソスソスフ。ソスソスソス]ソスソスソスoソスソスTTLソスソスソスソスソスソスソスソスソスリゑソスフ鯉ソス ソスソスソスソスソスソスソスソスソスRソス[ソスhソスソスソスフてゑソスモ任ソスソスソスソスソスソスフで、ソスソスソスソスソストゑソスソスフ趣ソスソスソスソスナ趣ソス ソスMソスソスソスソスソスソスソスソスソスソスソスRソス[ソスhソスフ托ソスソスホ趣ソスソスヤゑソスソスソスソス轤ゥソスフ趣ソズの撰ソスホ趣ソスソスヤに包ソス ソスソスソストキソスソスソスbソスVソスソスソスノ記ソス^ソスソスソスワゑソスソスBソスツ々ソスフTソスsソスkソスソスソスJソスEソスソスソスgソス_ソスEソスソス ソスソスソスソスソスソスソスノ、ソスソスソス]ソスソスソスoソスヘ鯉ソスソスソスソスソスソスノ古ゑソスソスソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスツゑソス ソスソスニゑソスソスソス無趣ソスソスソスソス驍ゥソスフてるかソスソスソスAソステゑソスソスソスソスソスソスソスソスRソス[ソスhソスフ擾ソスソスす ソス驛ソスソスソスソスソスソスソスソスソスソスソスソス驍スソス゚に趣ソスソスソスソスIソスノ広ソス謖滂ソスソスソスソスソスsソスソスソスワゑソスソスB 5.3.3. Algorithm 5.3.3. ソスAソスソスソスSソスソスソスYソスソス The top level algorithm has four steps: ソスナ擾ソスハアソスソスソスSソスソスソスYソスソスソスヘ4ソスXソスeソスbソスvソスナゑソスソスF 1. See if the answer is in local information, and if so return it to the client. 1. ソスソスソスソスソスソスソスソスソス[ソスJソスソスソスソスソスノゑソスソス骭ゥソスト、ソスソスソスソスソスソスソスソスホクソスソスソスCソスAソスソスソスgソスノ返ゑソスソスワゑソスソスB 2. Find the best servers to ask. 2. ソスqソスヒゑソスフに最ゑソスソスヌゑソスソスソスソスソスソスツゑソスソスフサソス[ソスoソス[ソスソスソスソスソスツゑソスソスワゑソスソスB 3. Send them queries until one returns a response. 3. ソスヌれかソスソスソス答ゑソスヤゑソスソスワで、ソスソスソスソスソスノ趣ソスソスソス送ゑソスワゑソスソスB 4. Analyze the response, either: 4. ソス答を分析ゑソスソストまゑソスソスF a. if the response answers the question or contains a name error, cache the data as well as returning it back to the client. a. ソスソスソスソスソス答ゑソスソスソスソスソスフ難ソスソスソスソスソスソスソスソスOソスGソスソスソス[ソスネゑソスAソスソスソスソスソスソスNソスソスソスCソスAソスソスソスgソスノ包ソス ソスソスソスfソス[ソス^ソスソスソスLソスソスソスbソスVソスソスソスソスソストゑソスソスソスソスソスソスソスソスB b. if the response contains a better delegation to other servers, cache the delegation information, and go to step 2. b. ソスソスソスソスソス答ゑソスソスソスソスフゑソスソスソスソスニよいソスTソス[ソスoソス[ソスヨの委任ソスソスソスワむなゑソスAソスマ任ソスソスソス ソスソスソスLソスソスソスbソスVソスソスソスソスソストスソスeソスbソスvソスQソスノ遷ソスレゑソスソスワゑソスソスB c. if the response shows a CNAME and that is not the answer itself, cache the CNAME, change the SNAME to the canonical name in the CNAME RR and go to step 1. C. ソスソスソスソスソス答ゑソスCNAMEソスソスソスソスソスソスソスACNAMEソスソスソスソスソスソスソスナはなゑソスソスネゑソスACNAMEソスソスソスLソスソスソスb ソスVソスソスソスソスソスト、SNAMEソスソスCNAMEソスソスソスソスソスソスソスRソス[ソスhソスフ標ソスソスソスソスソスナ置ソスソスソスソスソスソスソスト、ソスX ソスeソスbソスvソスPソスノ遷ソスレゑソスソスワゑソスソスB d. if the response shows a servers failure or other bizarre contents, delete the server from the SLIST and go back to step 3. d. ソスソスソスソスソス答ゑソスソスTソス[ソスoソス[ソスフ障かソスソスソスフ奇ソスルな難ソスソスeソスソスソスソスソスソスソスネゑソスASLISTソスソスソスソス ソスTソス[ソスoソス[ソスソスソス除ソスソスソスAソスXソスeソスbソスvソスRソスノ遷ソスレゑソスソスワゑソスソスB Step 1 searches the cache for the desired data. If the data is in the cache, it is assumed to be good enough for normal use. Some resolvers have an option at the user interface which will force the resolver to ignore the cached data and consult with an authoritative server. This is not recommended as the default. If the resolver has direct access to a name server's zones, it should check to see if the desired data is present in authoritative form, and if so, use the authoritative data in preference to cached data. ソスXソスeソスbソスvソスPソスヘキソスソスソスbソスVソスソスソスソスソスソス]ソスワゑソスソスソスソスfソス[ソス^ソスソスソスソスソスソスソスソスソスワゑソスソスBソスソスソスソスソスfソス[ソス^ソスソスソスLソスソスソスb ソスVソスソスソスノゑソスソスソスネゑソスAソスハ擾ソスフ暦ソスソスpソスノ十ソスソスソスニ考ソスソスソスソスソスワゑソスソスBソスソスソス驛奇ソス]ソスソスソスoソスソスソスLソスソスソスbソスVソスソス ソスソスソス黷スソスfソス[ソス^ソス無趣ソスソスソスソスAソスソスソスソスソスネサソス[ソスoソス[ソスニ問合ソスソスソス驛ソス[ソスUソスCソスソスソス^ソスtソスFソス[ソスXソスフオソスv ソスVソスソスソスソスソスソスソスソスソスソスソスワゑソスソスBソスソスソスソスヘデソスtソスHソスソスソスgソスナ撰ソスソスEソスソスソスソスワゑソスソスソスBソスソスソスソスソスソスソス]ソスソスソスoソスソスソスlソス[ソスソス ソスTソス[ソスoソスフゾソス[ソスソスソスノ抵ソスソスレアソスNソスZソスXソスソスソスソスネゑソスAソスソスソス]ソスソスソスoソスヘ望ソスワゑソスソスソスソスfソス[ソス^ソスソスソスソスソスソスソスネ形 ソスソスソスナ托ソスソスンゑソスソス驍ゥソスmソスFソスソスソスAソスソスソスソスソスソスソスソスソスネデソス[ソス^ソスソスソスソスソスソスホ、ソスLソスソスソスbソスVソスソスソスソスソス黷スソスfソス[ソス^ソスソス ソスソスDソス謔オソスト撰ソスソスソスソスネデソス[ソス^ソスソスソスgソスソスソスラゑソスソスナゑソスソスB Step 2 looks for a name server to ask for the required data. The general strategy is to look for locally-available name server RRs, starting at SNAME, then the parent domain name of SNAME, the grandparent, and so on toward the root. Thus if SNAME were Mockapetris.ISI.EDU, this step would look for NS RRs for Mockapetris.ISI.EDU, then ISI.EDU, then EDU, and then . (the root). These NS RRs list the names of hosts for a zone at or above SNAME. Copy the names into SLIST. Set up their addresses using local data. It may be the case that the addresses are not available. The resolver has many choices here; the best is to start parallel resolver processes looking for the addresses while continuing onward with the addresses which are available. Obviously, the design choices and options are complicated and a function of the local host's capabilities. The recommended priorities for the resolver designer are: ソスXソスeソスbソスvソスQソスソスソスKソスvソスネデソス[ソス^ソスソスソスソスソス゚るたソス゚のネソス[ソスソスソスTソス[ソスoソスソスTソスソスソスワゑソスソスBソスソスハ的ソスネ撰ソス ソスソスソスヘ、SNAMEソスソスソス辜具ソス[ソスgソスノ鯉ソスソスソスソスソスソスト擾ソスソスヤにソスソス[ソスJソスソスソスノ知ソスソスソストゑソスソスソスlソス[ソスソスソスTソス[ソスoソスソス ソスソスソスソスソスRソス[ソスhソスフ鯉ソスソスソスソスナゑソスソスBソス痰ヲソスホゑソスソスソスSNAMEソスソスMockapetris.ISI.EDUソスネゑソスAソスソスソスフス ソスeソスbソスvソスソスMockapetris.ISI.EDUソスフネソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスAソスソスソスソス ISI.EDUソスフネソス[ ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスAソスソスソスソスEDUソスフネソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスAソスソスソスノソスソス[ソスgソスフネソス[ ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスソスTソスソスソスナゑソスソス蛯、ソスBソスソスソスソスソスフネソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスソス SNAMEソスソスソスソスソスフ撰ソスcソスフゾソス[ソスソスソスフホソスXソスgソスソスソスソスソスソスソスXソスgソスAソスbソスvソスソスソスワゑソスソスBソスソスソスフ厄ソスソスOソスソスSLISTソスソス ソスRソスsソス[ソスソスソスワゑソスソスBソスソスソス[ソスJソスソスソスfソス[ソス^ソスソスソスgソスソスソスト各ソスソスソスOソスフアソスhソスソスソスXソスソスン定しソスワゑソスソスBソスAソスhソスソス ソスXソスソスソスソスソスツゑソスソスソスネゑソスソスソスソスソスソスソスソスソスワゑソスソスソスBソスソスソス]ソスソスソスoソスヘゑソスソスソスソスナゑソスソスソスソスツゑソスソスフ選ソスソスソスソスソスソスソスソスワゑソスソスG ソスナゑソスソス謔「ソスフは、ソスソスソスツゑソスソスソスソスソスソスAソスhソスソスソスXソスナ鯉ソスソスソスソスソスiソス゚ゑソスフと包ソスソスsソスソスソスト、ソスソスソスツゑソスソスソスネゑソスソスソス ソスソスソスAソスhソスソスソスXソスフ鯉ソスソスソスソスソスソスsソスソスソスソスソスニでゑソスソスBソスソスソス轤ゥソスノ、ソスfソスUソスCソスソスソス笊。ソスGソスソスソスフ選ソスソスソスヘソスソス[ソスJ ソスソスソスzソスXソスgソスフ能ソスヘに依托ソスソスソスソスワゑソスソスBソスソスソス]ソスソスソスoソスfソスUソスCソスiソス[ソスヨ撰ソスソスEソスソスソスソスDソス謠ソスハは以会ソスソスソス ソスソスソスF 1. Bound the amount of work (packets sent, parallel processes started) so that a request can't get into an infinite loop or start off a chain reaction of requests or queries with other implementations EVEN IF SOMEONE HAS INCORRECTLY CONFIGURED SOME DATA. 1. ソスNソスソスソスソスソスヤ茨ソスソスソストデソス[ソス^ソスソスン定しソスソスソス鼾ソスナゑソスソスAソス竝ソスソスソスソスソスソスソスソスソスソスソス[ソスvソスノ難ソスソスソス ソスソスソスソスAソスソスソスフ趣ソスソスソスソスナ問合ソスソスソスフ連ソスソスソスソスソスソスソスソスソスソスソスソスソスネゑソスソス謔、ソスノ、ソスsソスソスソスdソスソスソスiソスソス ソスMソスpソスPソスbソスgソスソスソスAソスソスソスsソスvソスソスソスZソスXソスソスソスjソスフ量を制鯉ソスソスソスソスワゑソスソスB 2. Get back an answer if at all possible. 2. ソスツ能ソスネゑソスSソストの難ソスソスソスソス得まゑソスソスB 3. Avoid unnecessary transmissions. 3. ソスsソスKソスvソスネ転ソスソスソスソスソスソスソスソスワゑソスソスB 4. Get the answer as quickly as possible. 4. ソスツ能ソスネ鯉ソスソス闡ャソスソスソスソスソスソスソス得まゑソスソスB If the search for NS RRs fails, then the resolver initializes SLIST from the safety belt SBELT. The basic idea is that when the resolver has no idea what servers to ask, it should use information from a configuration file that lists several servers which are expected to be helpful. Although there are special situations, the usual choice is two of the root servers and two of the servers for the host's domain. The reason for two of each is for redundancy. The root servers will provide eventual access to all of the domain space. The two local servers will allow the resolver to continue to resolve local names if the local network becomes isolated from the internet due to gateway or link failure. ソスソスソスソスソスlソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスフ探ソスソスソスソスソスソスソスsソスソスソスソスネゑソスAソスソスソス]ソスソスソスoソスヘシソス[ソスgソスxソスソスソスg SBELTソスソスSLISTソスソスソスソスソスソスソスソスソスソスソスワゑソスソスBソスソス{ソスIソスネ考ソスソスソスヘソスソス]ソスソスソスoソスソスソスヌのサソス[ソスoソス[ソスノ尋ソスヒゑソス ソスラゑソスソスソスソスかソスソスネゑソスソスソスソスフゑソスソス゚に、ソスン抵ソスtソス@ソスCソスソスソスナゑソスソスフ擾ソスソスソスソスソスソスソスソスメでゑソスソス驍「ソスソスソスツゑソスソスソス ソスTソス[ソスoソス[ソスソスソスソスソスXソスgソスAソスbソスvソスソスソス驍アソスニでゑソスソスBソスソスソスハな擾ソスヤゑソスソスソスソス驍ェソスAソスハ擾ソスヘホソスXソスgソスhソスソス ソスCソスソスソスフ2ソスツのサソス[ソスoソスニソスソス[ソスgソスTソス[ソスoソス[ソスQソスツでゑソスソスBソスeソスQソスツは冗長ソスソスソスフゑソスソス゚でゑソスソスBソスソスソス[ ソスgソスTソス[ソスoソス[ソスヘドソスソスソスCソスソスソスソスヤのゑソスソスラてに最終ソスIソスネアソスNソスZソスXソスソスソスソスソスソスソスソスソスソスナゑソスソス蛯、ソスBソスQ ソスツのソスソス[ソスJソスソスソスTソス[ソスoソス[ソスヘ、ソスソスソス[ソスJソスソスソスlソスbソスgソスソスソス[ソスNソスソスソスQソス[ソスgソスEソスFソスCソスソスソスソスソスソスソスNソスフ擾ソスソス ソスCソスソスソス^ソス[ソスlソスbソスgソスソスソスソスリり離ソスソスソスソストゑソスソスヌ包ソスソスIソスネ厄ソスソスOソスソスマ奇ソスソス続ゑソスソスソスソスソス謔、ソスノゑソスソスソス ソスソスソスB In addition to the names and addresses of the servers, the SLIST data structure can be sorted to use the best servers first, and to insure that all addresses of all servers are used in a round-robin manner. The sorting can be a simple function of preferring addresses on the local network over others, or may involve statistics from past events, such as previous response times and batting averages. ソスソスソスソスノ、SLISTソスfソス[ソス^ソス\ソスソスソスフにはサソス[ソスoソス[ソスフ厄ソスソスOソスニアソスhソスソスソスXソスネ外ソスノ、ソスTソス[ソスoソスフア ソスhソスソスソスXソスソスソスソスソスEソスソスソスhソスソスソスrソスソスソス@ソスナ使ソスソスソスソスソス゚使ソスpソスソスソス髀ソスノ包ソスソスラてゑソスソスソスソスソスソスニゑソスソスoソスソスソスワゑソスソスB ソスソスソスラ替ゑソスソスヘ単ソスソスソスノソスソス[ソスJソスソスソスlソスbソスgソスソスソス[ソスNソスAソスhソスソスソスXソスソスDソス謔オソスソスソスソスAソスOソスソスフ回答暦ソスソスソス ソスヌ過具ソスソスフイソスxソスソスソスgソスフ難ソスソスvソス利用ソスソスソストゑソスソス謔「ソスナゑソスソスB Step 3 sends out queries until a response is received. The strategy is to cycle around all of the addresses for all of the servers with a timeout between each transmission. In practice it is important to use all addresses of a multihomed host, and too aggressive a retransmission policy actually slows response when used by multiple resolvers contending for the same name server and even occasionally for a single resolver. SLIST typically contains data values to control the timeouts and keep track of previous transmissions. ソスXソスeソスbソスvソスRソスヘ回答を得ゑソスワで趣ソスソスソス送ゑソスワゑソスソスBソス略ソスヘ各ソスソスソスMソスソスソスフタソスCソスソスソスAソスEソスgソスナ、 ソスSソストのサソス[ソスoソス[ソスフアソスhソスソスソスXソスノ擾ソスソスヤに問合ソスソスソス驍アソスニでゑソスソスBソスソスソスノマソスソスソス`ソスzソス[ソスソスソスzソスXソスg ソスフ全ソストのアソスhソスソスソスXソスソスソスgソスソスソスニゑソスソスノゑソスソスワゑソスノゑソスソスUソスソスソスIソスネ托ソスソスMソス略ソスヘ、ソスソスソスソスソスフソスソス]ソスソスソスo ソスソスソスソスソスソスソスソスソスソスAソス鼾ソスノゑソスソスソストは1ソスツのソスソス]ソスソスソスoソスソスソスUソスソスソスIソスナゑソスソスAソスTソス[ソスoソス[ソスフ費ソスソスソスソスソスx ソスソスソスソスソスワゑソスソスBソスソスハゑソスSLISTソスヘタソスCソスソスソスAソスEソスgソス制御しソスAソス゚具ソスソスフ托ソスソスMソスフ記ソス^ソスEソスヌ跡ゑソスソスソス ソスソスfソス[ソス^ソスlソスソスソスワゑソスナゑソスソスワゑソスソスB Step 4 involves analyzing responses. The resolver should be highly paranoid in its parsing of responses. It should also check that the response matches the query it sent using the ID field in the response. The ideal answer is one from a server authoritative for the query which either gives the required data or a name error. The data is passed back to the user and entered in the cache for future use if its TTL is greater than zero. ソスXソスeソスbソスvソスSソスソスソス答の包ソスソスヘゑソスソスソスソスワゑソスソスBソスソスソス]ソスソスソスoソスヘ回答ゑソスソスソスソス゚ゑソスソスソスロに慎ソスdソスノなゑソスソス ソスソスソスナゑソスソスBソス答の趣ソスソスハ子ソスソスソスソスソスソスニ茨ソスvソスソスソス驍ゥソスソスソスラゑソスラゑソスソスナゑソスソスBソスソスソスzソスIソスネ難ソスソスソスソスヘ撰ソスソスソス ソスネサソス[ソスoソス[ソスソスソスソスフ問合ソスソスソスソスソスfソス[ソス^ソスソスソスソスソスOソスGソスソスソス[ソスソスソスヤるこソスニでゑソスソスBソスfソス[ソス^ソスヘソスソス[ソスUソス[ ソスノ渡ソスソスソスソスト、ソスsソスsソスkソスソスソス[ソスソスソスネ擾ソスネら将ソスソスソスフ暦ソスソスpソスノ費ソスソスソスソストキソスソスソスbソスVソスソスソスノゑソスソスソスソスソスソス ソスソスソスB If the response shows a delegation, the resolver should check to see that the delegation is "closer" to the answer than the servers in SLIST are. This can be done by comparing the match count in SLIST with that computed from SNAME and the NS RRs in the delegation. If not, the reply is bogus and should be ignored. If the delegation is valid the NS delegation RRs and any address RRs for the servers should be cached. The name servers are entered in the SLIST, and the search is restarted. ソスソスソスソスソス答ゑソスソスマ任ソスソスソスソスソスソスソスネゑソスAソスソスソス]ソスソスソスoソスマ任ソスソスSLISTソスソスソスフサソス[ソスoソス[ソスソスソスuソス゚ゑソスソスvソスソス ソスmソスFソスソスソスラゑソスソスナゑソスソスBソスソスソスソスソスSLISTソスソスSNAMEソスフ茨ソスvソスソスソスニ、ソスマ任ソスソスSNAMEソスフ茨ソスvソスソスソスソスソスr ソスソスソス驍アソスニででゑソスソスワゑソスソスBソスソスソスソスソス゚ゑソスソスネゑソスソスソスホ難ソスソスソスソスヘ嘘ソスナ厄ソスソスソスソスソスソスソスソスラゑソスソスナゑソスソスBソスソスソスソスソスソス ソスCソスソスソスソスソスソスソスネゑソスAソスlソス[ソスソスソスTソス[ソスoソスマ任ソスソスソスソスソスソスソスRソス[ソスhソスニサソス[ソスoソス[ソスフアソスhソスソスソスXソスソスソスソスソスソスソスRソス[ ソスhソスヘキソスソスソスbソスVソスソスソスソスソスソスソスラゑソスソスナゑソスソスBソスlソス[ソスソスソスTソス[ソスoソスソスSLISTソスノ難ソスソスヘゑソスソスソスAソスTソスソスソスヘ再開 ソスソスソスソスワゑソスソスB If the response contains a CNAME, the search is restarted at the CNAME unless the response has the data for the canonical name or if the CNAME is the answer itself. ソスソスソスソスソス答ゑソスCNAMEソスソスソスワゑソスナゑソスソスソスネゑソスAソス答に標ソスソスソスソスソスソスソスネゑソスソスソスソスソスソスソスCNAMEソスソスソスgソスソスソスソスソスソス ソスナなゑソスソスソスホ、ソス{ソスソスソスソスCNAMEソスソスソスソスト開ソスソスソスソスワゑソスソスB Details and implementation hints can be found in [RFC-1035]. ソスレ細と趣ソスソスソスソスフ擾ソスソスソスソスソス[RFC-1035]ソスノゑソスソスソスワゑソスソスB 6. A SCENARIO 6. ソスリ擾ソスソスソス In our sample domain space, suppose we wanted separate administrative control for the root, MIL, EDU, MIT.EDU and ISI.EDU zones. We might allocate name servers as follows: ソスTソスソスソスvソスソスソスフドソスソスソスCソスソスソスソスヤで、ソスソスソス[ソスgソスソスMILソスソスEDUソスソスMIT.EDUソスソスISI.EDUソス]ソス[ソスソスソスナ個包ソス ソスフ管暦ソスソスソスソスソスソスソスソスソスソスソスニ考ソスソスソストゑソスソスソスソスソスソスソスソスBソス痰ヲソスホ趣ソスソスフようソスノネソス[ソスソスソスTソス[ソスoソスソスソスソスソス闢厄ソスソス ソスワゑソスソスFソスB |(C.ISI.EDU,SRI-NIC.ARPA | A.ISI.EDU) +---------------------+------------------+ | | | MIL EDU ARPA |(SRI-NIC.ARPA, |(SRI-NIC.ARPA, | | A.ISI.EDU | C.ISI.EDU) | +-----+-----+ | +------+-----+-----+ | | | | | | | BRL NOSC DARPA | IN-ADDR SRI-NIC ACC | +--------+------------------+---------------+--------+ | | | | | UCI MIT | UDEL YALE |(XX.LCS.MIT.EDU, ISI |ACHILLES.MIT.EDU) |(VAXA.ISI.EDU,VENERA.ISI.EDU, +---+---+ | A.ISI.EDU) | | | LCS ACHILLES +--+-----+-----+--------+ | | | | | | XX A C VAXA VENERA Mockapetris In this example, the authoritative name server is shown in parentheses at the point in the domain tree at which is assumes control. ソスソスソスフ暦ソスナ、ソスhソスソスソスCソスソスソスリの撰ソスソスソス_ソスナネソス[ソスソスソスTソス[ソスoソスソスソスソスソスハで趣ソスソスソスソスワゑソス. Thus the root name servers are on C.ISI.EDU, SRI-NIC.ARPA, and A.ISI.EDU. The MIL domain is served by SRI-NIC.ARPA and A.ISI.EDU. The EDU domain is served by SRI-NIC.ARPA. and C.ISI.EDU. Note that servers may have zones which are contiguous or disjoint. In this scenario, C.ISI.EDU has contiguous zones at the root and EDU domains. A.ISI.EDU has contiguous zones at the root and MIL domains, but also has a non- contiguous zone at ISI.EDU. ソスソスソス[ソスgソスlソス[ソスソスソスTソス[ソスoソスソスC.ISI.EDUソスソスSRI-NIC.ARPAソスソスA.ISI.EDUソスノゑソスソスソスワゑソスソスBMILソスh ソスソスソスCソスソスソスソスSRI-NIC.ARPAソスソスA.ISI.EDUソスソスソスハゑソスソスソスソスワゑソスソスBEDUソスhソスソスソスCソスソスソスソスSRI-NIC.ARPA. ソスソスC.ISI.EDUソスソスソスハゑソスソスソスソスワゑソスソスBソスTソス[ソスoソス[ソスソスソスツなゑソスソスソスソスソスソスソスソス驍「ソスヘつなゑソスソスソスソストゑソスソスネゑソスソスソス ソスソスソスフゾソス[ソスソスソスソスソスソスソスツゑソスソスソスソスソスソスソスネゑソスソスソスソスニに抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスBソスソスソスフ筋擾ソスソスソスソスソスC.ISI.EDU ソスヘソスソス[ソスgソスソスEDUソスhソスソスソスCソスソスソスフつなゑソスソスソスソスソスソス]ソス[ソスソスソスソスソスソスソスソスソストゑソスソスワゑソスソスBA.ISI.EDUソスヘソスソス[ ソスgソスソスMILソスhソスソスソスCソスソスソスフつなゑソスソスソスソスソスソス]ソス[ソスソスソスソスソスソスソスソスソスワゑソスソスAソスソスソスソスソスソスISI.EDUソスフつなゑソスソスソスソスソス ソスソスソスネゑソスソス]ソス[ソスソスソスソスソスソスソスソスソスワゑソスソスB 6.1. C.ISI.EDU name server 6.1. C.ISI.EDUソスlソス[ソスソスソスTソス[ソスo C.ISI.EDU is a name server for the root, MIL, and EDU domains of the IN class, and would have zones for these domains. The zone data for the root domain might be: C.ISI.EDUソスヘIソスmソスNソスソスソスXソスフソスソス[ソスgソスソスMILソスソスEDUソスhソスソスソスCソスソスソスフネソス[ソスソスソスTソス[ソスoソスナゑソスソスソスソスソス ソスhソスソスソスCソスソスソスフゾソス[ソスソスソスソスソスソスソスツでゑソスソス蛯、ソスBソスソスソス[ソスgソスhソスソスソスCソスソスソスフゾソス[ソスソスソスfソス[ソス^ソスヘ以会ソスソスソスソスソスソスソス ソスソスワゑソスソスソスF . IN SOA SRI-NIC.ARPA. HOSTMASTER.SRI-NIC.ARPA. ( 870611 ;serial 1800 ;refresh every 30 min 300 ;retry every 5 min 604800 ;expire after a week 86400) ;minimum of a day NS A.ISI.EDU. NS C.ISI.EDU. NS SRI-NIC.ARPA. MIL. 86400 NS SRI-NIC.ARPA. 86400 NS A.ISI.EDU. EDU. 86400 NS SRI-NIC.ARPA. 86400 NS C.ISI.EDU. SRI-NIC.ARPA. A 26.0.0.73 A 10.0.0.51 MX 0 SRI-NIC.ARPA. HINFO DEC-2060 TOPS20 ACC.ARPA. A 26.6.0.65 HINFO PDP-11/70 UNIX MX 10 ACC.ARPA. USC-ISIC.ARPA. CNAME C.ISI.EDU. 73.0.0.26.IN-ADDR.ARPA. PTR SRI-NIC.ARPA. 65.0.6.26.IN-ADDR.ARPA. PTR ACC.ARPA. 51.0.0.10.IN-ADDR.ARPA. PTR SRI-NIC.ARPA. 52.0.0.10.IN-ADDR.ARPA. PTR C.ISI.EDU. 103.0.3.26.IN-ADDR.ARPA. PTR A.ISI.EDU. A.ISI.EDU. 86400 A 26.3.0.103 C.ISI.EDU. 86400 A 10.0.0.52 This data is represented as it would be in a master file. Most RRs are single line entries; the sole exception here is the SOA RR, which uses "(" to start a multi-line RR and ")" to show the end of a multi-line RR. Since the class of all RRs in a zone must be the same, only the first RR in a zone need specify the class. When a name server loads a zone, it forces the TTL of all authoritative RRs to be at least the MINIMUM field of the SOA, here 86400 seconds, or one day. The NS RRs marking delegation of the MIL and EDU domains, together with the glue RRs for the servers host addresses, are not part of the authoritative data in the zone, and hence have explicit TTLs. ソスソスソスフデソス[ソス^ソスヘマソスXソス^ソス[ソスtソス@ソスCソスソスソス\ソスソスソスナ趣ソスソスソスソスソストゑソスソスワゑソスソスBソスルとゑソスヌの趣ソスソスソスソスソスソスRソス[ソスh ソスソスソスPソスsソスフ搾ソスソスレでゑソスソスGソスソスソスソスソスフ唯ソスソスフ暦ソスOソスソスSOAソスソスソスソスソスソスソスRソス[ソスhソスナ、"("ソスナ包ソスソスソスソスsソスソスソスソスソスソス ソスRソス[ソスhソスフ始ソスワゑソスソスソスソスソスソス")"ソスナ終ソスソスソスソスソスソスソスソスソスワゑソスソスBソス]ソス[ソスソスソスフ全ソストの趣ソスソスソスソスソスソスRソス[ソスhソスソス ソスNソスソスソスXソスソスソスソスソスソスソスナゑソスソスソスノ違いソスネゑソスソスフで、ソス]ソス[ソスソスソスフ抵ソスソスフ最擾ソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスナク ソスソスソスXソスソスソスwソス閧キソスソスKソスvソスソスソスソスソスソスワゑソスソスBソスlソス[ソスソスソスTソス[ソスoソス[ソスソスソス]ソス[ソスソスソスソスヌみ搾ソスソズ趣ソスソスAソスソスソスソスソス ソスソスソスラての撰ソスソスソスソスネ趣ソスソスソスソスソスソスRソス[ソスhソスソスTTLソスソスSOAソスtソスBソス[ソスソスソスhソスソスMINIMUMソスネ擾ソスノゑソスソスワゑソスソスAソスソス ソスソスソスナは8ソスUソスSソスOソスOソスbソスソスソス驍「ソスヘ1ソスソスソスナゑソスソスBMILソスソスEDUソスhソスソスソスCソスソスソスフ委任ソスソスソスソスソスソスソスlソス[ソスソス ソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスニ、ソスTソス[ソスoソスzソスXソスgソスAソスhソスソスソスXソスフ接抵ソスソスワ趣ソスソスソスソスソスソスRソス[ソスhソスヘゾソス[ソスソスソスソス ソスソスソスソスソスfソス[ソス^ソスフ一部ソスナはなゑソスソスAソスソスソスフゑソスソス゚厄ソスソスソスソスIソスネTソスsソスkソスソスソスソスソスソスソスワゑソスソスB Four RRs are attached to the root node: the SOA which describes the root zone and the 3 NS RRs which list the name servers for the root. The data in the SOA RR describes the management of the zone. The zone data is maintained on host SRI-NIC.ARPA, and the responsible party for the zone is [email protected]. A key item in the SOA is the 86400 second minimum TTL, which means that all authoritative data in the zone has at least that TTL, although higher values may be explicitly specified. ソスSソスツの趣ソスソスソスソスソスソスRソス[ソスhソスソスソスソスソス[ソスgソスmソス[ソスhソスノ付ソスソスソスソスソスワゑソスソスFソスソスソス[ソスgソス]ソス[ソスソスソスソスソスLソスqソスソスソスソス SOAソスニ、ソスソスソス[ソスgソス]ソス[ソスソスソスフ3ソスツのネソス[ソスソスソスTソス[ソスoソスソスソスLソスqソスソスソスソスlソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ ソスhソスBSOAソスソスソスソスソスソスソスRソス[ソスhソスフデソス[ソス^ソスヘゾソス[ソスソスソスフ管暦ソスソスソスソスLソスqソスソスソスワゑソスソスBソス]ソス[ソスソスソスfソス[ソス^ソスヘホ ソスXソスgSRI - NIC.ARPAソスナ管暦ソスソスソスソスソスAソス]ソス[ソスソスソスフ責任ソスOソスソスソス[ソスvソスソス [email protected]ソスナゑソスソスBSOAソスフキソス[ソスソスソスレは、ソスナ擾ソスソスsソスsソスkソスWソスUソスSソスOソスOソスbソスナ、 ソスソスソスソスヘゾソス[ソスソスソスフ撰ソスソスソスソスネデソス[ソス^ソスソスソスソスソスソスネ擾ソスフ値ソスソスソスソスソスツゑソスソスニゑソスソスソスソスソスソスワゑソスソスAソスソス闕ゑソスソスソスl ソス明趣ソスソスIソスノ指ソス閧キソス驍ゥソスソスソスソスソスソスワゑソスソスソスB The NS RRs for the MIL and EDU domains mark the boundary between the root zone and the MIL and EDU zones. Note that in this example, the lower zones happen to be supported by name servers which also support the root zone. MILソスソスEDUソスhソスソスソスCソスソスソスフネソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスヘソスソス[ソスgソス]ソス[ソスソスソスソスMILソスソスEDUソス]ソス[ソスソス ソスヤの具ソスソスEソスソスソスソスソスソスソスワゑソスソスBソスソスソスフ暦ソスナ会ソスソスフゾソス[ソスソスソスソスソスソスソスワゑソスソスワソスソス[ソスgソス]ソス[ソスソスソスソスソスソスソスソスソスlソス[ソスソス ソスTソス[ソスoソス[ソスナ茨ソスソスソスソストゑソスソス驍アソスニに抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスB The master file for the EDU zone might be stated relative to the origin EDU. The zone data for the EDU domain might be: EDUソス]ソス[ソスソスソスフマソスXソス^ソス[ソスtソス@ソスCソスソスソスソスEDUソスソスソスNソスソスソスニゑソスソスソスナゑソスソス蛯、ソスBEDUソスhソスソスソスCソスソスソスフゾソス[ ソスソスソスfソス[ソス^ソスヘ以会ソスソスソスソスソスソスソスソスソスワゑソスソスソスF EDU. IN SOA SRI-NIC.ARPA. HOSTMASTER.SRI-NIC.ARPA. ( 870729 ;serial 1800 ;refresh every 30 minutes 300 ;retry every 5 minutes 604800 ;expire after a week 86400 ;minimum of a day ) NS SRI-NIC.ARPA. NS C.ISI.EDU. UCI 172800 NS ICS.UCI 172800 NS ROME.UCI ICS.UCI 172800 A 192.5.19.1 ROME.UCI 172800 A 192.5.19.31 ISI 172800 NS VAXA.ISI 172800 NS A.ISI 172800 NS VENERA.ISI.EDU. VAXA.ISI 172800 A 10.2.0.27 172800 A 128.9.0.33 VENERA.ISI.EDU. 172800 A 10.1.0.52 172800 A 128.9.0.32 A.ISI 172800 A 26.3.0.103 UDEL.EDU. 172800 NS LOUIE.UDEL.EDU. 172800 NS UMN-REI-UC.ARPA. LOUIE.UDEL.EDU. 172800 A 10.0.0.96 172800 A 192.5.39.3 YALE.EDU. 172800 NS YALE.ARPA. YALE.EDU. 172800 NS YALE-BULLDOG.ARPA. MIT.EDU. 43200 NS XX.LCS.MIT.EDU. 43200 NS ACHILLES.MIT.EDU. XX.LCS.MIT.EDU. 43200 A 10.0.0.44 ACHILLES.MIT.EDU. 43200 A 18.72.0.8 Note the use of relative names here. The owner name for the ISI.EDU. is stated using a relative name, as are two of the name server RR contents. Relative and absolute domain names may be freely intermixed in a master ソスソスソスソスソスナ托ソスソスホ的ソスネ厄ソスソスOソスフ使ソスpソスノ気ソスtソスソスソストゑソスソスソスソスソスソスソスソスBISI.EDU.ソスフ擾ソスソスLソスメ厄ソスソスヘ托ソスソスホ的ソスソス ソスソスソスOソスナ記ソスqソスソスソスソスAソスQソスツのネソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスソスソスgソスソスソスソスソスホ的ソスネ厄ソスソスOソスナ記ソスqソスソス ソスソスワゑソスソスBソスソスソスホ的ソスネドソスソスソスCソスソスソスソスソスニ撰ソスホ的ソスネドソスソスソスCソスソスソスソスソスソスソス}ソスXソス^ソス[ソスtソス@ソスCソスソスソスナ趣ソスソスRソスソス ソスソスソスンでゑソスソスワゑソスソスB 6.2. Example standard queries 6.2. ソスWソスソスソス竝ソスソス The following queries and responses illustrate name server behavior. Unless otherwise noted, the queries do not have recursion desired (RD) in the header. Note that the answers to non-recursive queries do depend on the server being asked, but do not depend on the identity of the requester. ソスソスソスフ問合ソスソスソスニ回答はネソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスソスソスソスソスワゑソスソスBソスソスソスノ抵ソスソスLソスソスソスネゑソスソスソスホ、ソス竝 ソスソスソスフヘソスbソス_ソス[ソスナ再帰ソスvソス](RD)ソスヘ設定さソスソスワゑソスソスソスBソスト帰ソスナなゑソスソス竝ソスソスソスフ難ソスソスソスソスソスソスqソスソス ソスソスTソス[ソスoソス[ソスノ依托ソスソスソスソス驍ェソスAソス竝ソスソスソスメに依托ソスソスソスソスネゑソスソスソスソスニに抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスB 6.2.1. QNAME=SRI-NIC.ARPA, QTYPE=A 6.2.1. ソスソスソス笆シ=SRI-NIC.ARPA, ソスソスソスソス^ソスCソスv=A The query would look like: ソス竝ソスソスソスヘ以会ソスソスフとゑソスソスソスナゑソスソスF +---------------------------------------------------+ Header | OPCODE=SQUERY | +---------------------------------------------------+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=A | +---------------------------------------------------+ Answer | <empty> | +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | <empty> | +---------------------------------------------------+ The response from C.ISI.EDU would be: C.ISI.EDUソスソスソスソスフ回答は以会ソスソスフとゑソスソスソスナゑソスソスF +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE, AA | +---------------------------------------------------+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=A | +---------------------------------------------------+ Answer | SRI-NIC.ARPA. 86400 IN A 26.0.0.73 | | 86400 IN A 10.0.0.51 | +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | <empty> | +---------------------------------------------------+ The header of the response looks like the header of the query, except that the RESPONSE bit is set, indicating that this message is a response, not a query, and the Authoritative Answer (AA) bit is set indicating that the address RRs in the answer section are from authoritative data. The question section of the response matches the question section of the query. ソス答のヘソスbソス_ソス[ソスヘ問合ソスソスソスフヘソスbソス_ソス[ソスニほぼ難ソスソスソスソスナゑソスソスARESPONSEソスヘソスソスbソスZソス[ソスWソスソスソスソス ソスソスソスソスソスネのゑソスソスソスソスソスソスソスソス゚設定さソスソスワゑソスソスAソスソスソスソスソスソス(AA)ソスrソスbソスgソスヘ回答のアソスhソスソスソスXソスソスソスソスソスソス ソスRソス[ソスhソスソスソスソスソスソスソスfソス[ソス^ソスソスソス逞茨ソスソスソスソスソスニゑソスソスソスソスソスソスソスソス゚設定さソスソスワゑソスソスBソス答の趣ソスソスソスZソスNソスVソスソス ソスソスソスヘ趣ソスソスソスフ趣ソスソスソスZソスNソスVソスソスソスソスソスニ茨ソスvソスソスソスワゑソスソスB If the same query was sent to some other server which was not authoritative for SRI-NIC.ARPA, the response might be: ソスソスソスソスソスソスソスソスソスソスソス竄ェSRI-NIC.ARPAソスフ撰ソスソスソスソスナなゑソスソスソスソスフサソス[ソスoソス[ソスノ托ソスソスソス黷スソスネゑソス答ゑソス ソスネ会ソスソスソスソスソスソスソスソスソスワゑソスソスソスF +---------------------------------------------------+ Header | OPCODE=SQUERY,RESPONSE | +---------------------------------------------------+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=A | +---------------------------------------------------+ Answer | SRI-NIC.ARPA. 1777 IN A 10.0.0.51 | | 1777 IN A 26.0.0.73 | +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | <empty> | +---------------------------------------------------+ This response is different from the previous one in two ways: the header does not have AA set, and the TTLs are different. The inference is that the data did not come from a zone, but from a cache. The difference between the authoritative TTL and the TTL here is due to aging of the data in a cache. The difference in ordering of the RRs in the answer section is not significant. ソスソスソスフ回答は前ソス答と2ソスモ擾ソスソスソスソスソストゑソスソスワゑソスソスFソスwソスbソス_ソス[ソスフAソス`ソスヘ設定さソス黷クソスATTLソスソス ソスルなゑソスソストゑソスソスワゑソスソスBソスソスソスソスヘデソス[ソス^ソスソスソス]ソス[ソスソスソスソスソスソスナなゑソスソスLソスソスソスbソスVソスソスソスソスソス逞茨ソスソスソスソスソスソスナゑソスソスB ソスソスソスソスソスソスTTLソスニゑソスソスソスTTLソスフ搾ソスソスヘキソスソスソスbソスVソスソスソスソスソスナのデソス[ソス^ソスフ老ソスソスソスフゑソスソス゚でゑソスソスBソス答セソスN ソスVソスソスソスソスソスフ抵ソスソスフ趣ソスソスソスソスソスソスRソス[ソスhソスフ擾ソスソスヤの違いソスヘ意厄ソスソスソスソスソスソスソスワゑソスソスソスB 6.2.2. QNAME=SRI-NIC.ARPA, QTYPE=* 6.2.2. ソスソスソス笆シ=SRI-NIC.ARPA, ソスソスソスソス^ソスCソスv=* A query similar to the previous one, but using a QTYPE of *, would receive the following response from C.ISI.EDU: ソスOソスフに趣ソスソストるがソスA*ソスフ趣ソスソスソス^ソスCソスvソスソスソスgソスソスソスソスC.ISI.EDUソスソスソス邇滂ソスフ回答ゑソスソスけ趣ソスソスソス ソスソスソス蛯、ソスF +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE, AA | +---------------------------------------------------+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=* | +---------------------------------------------------+ Answer | SRI-NIC.ARPA. 86400 IN A 26.0.0.73 | | A 10.0.0.51 | | MX 0 SRI-NIC.ARPA. | | HINFO DEC-2060 TOPS20 | +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | <empty> | +---------------------------------------------------+ If a similar query was directed to two name servers which are not authoritative for SRI-NIC.ARPA, the responses might be: ソスソスソスソスソスソスソスlソスネ問合ソスソスソスソスSRI-NIC.ARPAソスフ撰ソスソスソスソスネサソス[ソスoソスナなゑソスソスQソスツのネソス[ソスソスソスTソス[ソスoソス[ソスソス ソスソスソスソス黷スソスソス答は以会ソスソスソスソスソスソスソスソスソスワゑソスソスソスF +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE | +---------------------------------------------------+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=* | +---------------------------------------------------+ Answer | SRI-NIC.ARPA. 12345 IN A 26.0.0.73 | | A 10.0.0.51 | +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | <empty> | +---------------------------------------------------+ and ソスソス +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE | +---------------------------------------------------+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=* | +---------------------------------------------------+ Answer | SRI-NIC.ARPA. 1290 IN HINFO DEC-2060 TOPS20 | +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | <empty> | +---------------------------------------------------+ Neither of these answers have AA set, so neither response comes from authoritative data. The different contents and different TTLs suggest that the two servers cached data at different times, and that the first server cached the response to a QTYPE=A query and the second cached the response to a HINFO query. ソスソスソスソスソスフ難ソスソスソスソスヘAソス`ソスソスソスン定さソス黷クソスAソスソスソスソスソスソスフ回答ゑソスソスソスソスソスソスネデソス[ソス^ソスナゑソスソス逞茨ソストゑソスソスソス ソスソスソスソスBソスルなゑソスソスソスソスソスソスeソスニ異なゑソスソスソスTTLソスヘ2ソスツのサソス[ソスoソス[ソスソスソスルなゑソスソスソスソスソスソスノデソス[ソス^ソスソス ソスLソスソスソスbソスVソスソスソスソスソスAソスソスソスソスソスト最擾ソスソスフサソス[ソスoソス[ソスソスソスソスソスソス^ソスCソスv=Aソスフ問合ソスソスソスソスソスLソスソスソスbソスVソスソスソスソスソスA ソスQソスツめゑソスHINFOソス竝ソスソスソスフ鯉ソスソスハゑソスソスソスソスLソスソスソスbソスVソスソスソスソスソスソスソスソスソスニゑソスソスソスソスソスソスワゑソスソスB 6.2.3. QNAME=SRI-NIC.ARPA, QTYPE=MX 6.2.3. ソスソスソス笆シ=SRI-NIC.ARPA, ソスソスソスソス^ソスCソスv=MX This type of query might be result from a mailer trying to look up routing information for the mail destination [email protected]. The response from C.ISI.EDU would be: ソスソスソスフタソスCソスvソスフ問合ソスソスソスヘソスソス[ソスソスソスフ茨ソスソスソス[email protected]ソスフソスソス[ソスeソスBソスソスソスOソスソス ソスソスソスソスソスソスソスソスソスソス謔、ソスニゑソスソストゑソスソス驛ソスCソスソスソス[ソスソスソスソスフ問合ソスソスソスソスソスソスソスソスソスソスワゑソスソスソスBC.ISI.EDUソスソス ソスソスフ回答は以会ソスソスナゑソスソス蛯、ソスFソスB +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE, AA | +---------------------------------------------------+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=MX | +---------------------------------------------------+ Answer | SRI-NIC.ARPA. 86400 IN MX 0 SRI-NIC.ARPA.| +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | SRI-NIC.ARPA. 86400 IN A 26.0.0.73 | | A 10.0.0.51 | +---------------------------------------------------+ This response contains the MX RR in the answer section of the response. The additional section contains the address RRs because the name server at C.ISI.EDU guesses that the requester will need the addresses in order to properly use the information carried by the MX. ソスソスソスフ回答の解答セソスNソスVソスソスソスソスソスソスMXソスソスソスソスソスソスソスRソス[ソスhソスソスソスワみまゑソスソスBC.ISI.EDUソスフネソス[ソスソスソスTソス[ ソスoソス[ソスソスソスvソスソスソスメゑソスソスソスソスソスソスソスMXソスフ趣ソスソスソスソスソスソスソスソスgソスソスソスソスソス゚にアソスhソスソスソスXソスソスソスKソスvソスニ考ソスソスソスソスソスソスソス゚、 ソスヌ会ソスソスZソスNソスVソスソスソスソスソスヘアソスhソスソスソスXソスソスソスソスソスソスソスRソス[ソスhソスソスソスワゑソスナゑソスソスワゑソスソスB 6.2.4. QNAME=SRI-NIC.ARPA, QTYPE=NS 6.2.4. ソスソスソス笆シ=SRI-NIC.ARPA, ソスソスソスソス^ソスCソスv=NS C.ISI.EDU would reply to this query with: C.ISI.EDUソスヘゑソスソスフ問合ソスソスソスノ以会ソスソスフ回答ゑソスソスソスソスソスナゑソスソス蛯、ソスF +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE, AA | +---------------------------------------------------+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=NS | +---------------------------------------------------+ Answer | <empty> | +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | <empty> | +---------------------------------------------------+ The only difference between the response and the query is the AA and RESPONSE bits in the header. The interpretation of this response is that the server is authoritative for the name, and the name exists, but no RRs of type NS are present there. ソス答と問合ソスソスソスフ唯ソスソスフ違いソスヘヘソスbソス_ソス[ソスフAソス`ソスソスRESPONSEソスrソスbソスgソスナゑソスソスBソスソスソスフ回答ゑソス ソスソスソス゚は、ソスソスソスOソスヘ撰ソスソスソスソスナ、ソスソスソスOソスヘ托ソスソスンゑソスソス驍ェソスAソスlソス[ソスソスソスTソス[ソスoソス^ソスCソスvソスフ趣ソスソスソスソスソスソスRソス[ソスh ソスソスソスソスソスンゑソスソスネゑソスソスニゑソスソスソスソスソスソスナゑソスソスB 6.2.5. QNAME=SIR-NIC.ARPA, QTYPE=A 6.2.5. ソスソスソス笆シ=SIR-NIC.ARPA, ソスソスソスソス^ソスCソスv=A If a user mistyped a host name, we might see this type of query. C.ISI.EDU would answer it with: ソスソスソスソスソスソスソス[ソスUソス[ソスソスソスzソスXソスgソスソスソスソスソス^ソスCソスvソス~ソスXソスソスソスソスソスソスAソスソスソスフタソスCソスvソスフ問合ソスソスソスソスソスoソス驍ゥソスソスソスソス ソスソスワゑソスソスソスBC.ISI.EDUソスネ会ソスソスフ様ソスノ難ソスソスソスソスソスナゑソスソス蛯、ソスF +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE, AA, RCODE=NE | +---------------------------------------------------+ Question | QNAME=SIR-NIC.ARPA., QCLASS=IN, QTYPE=A | +---------------------------------------------------+ Answer | <empty> | +---------------------------------------------------+ Authority | . SOA SRI-NIC.ARPA. HOSTMASTER.SRI-NIC.ARPA. | | 870611 1800 300 604800 86400 | +---------------------------------------------------+ Additional | <empty> | +---------------------------------------------------+ This response states that the name does not exist. This condition is signalled in the response code (RCODE) section of the header. ソスソスソスフ回答は厄ソスソスOソスソスソスソスソスンゑソスソスネゑソスソスニ述ソスラまゑソスソスBソスソスソスフ擾ソスヤはヘソスbソス_ソス[ソスフ回答コソス[ソスh ソスiRCODEソスjソスナ趣ソスソスソスソスソスワゑソスソスB The SOA RR in the authority section is the optional negative caching information which allows the resolver using this response to assume that the name will not exist for the SOA MINIMUM (86400) seconds. ソスソスソスミセソスNソスVソスソスソスソスソスナゑソスSOAソスソスソスソスソスソスソスRソス[ソスhソスヘ任ソスモのネソスKソスeソスBソスuソスLソスソスソスbソスVソスソスソスソスソスナ、ソスソス ソスフ回答ゑソスソスgソスソスソスソスソス]ソスソスソスoソスソスソスソスソスフ厄ソスソスOソスソスSOAソスナ擾ソスソスソスソスiソスWソスUソスSソスOソスOソスjソスbソスヤ托ソスソスンゑソスソスネゑソスソスソス ソスLソスソスソスbソスVソスソスソスナゑソスソスソス謔、ソスノゑソスソスワゑソスソスB 6.2.6. QNAME=BRL.MIL, QTYPE=A 6.2.6. ソスソスソス笆シ=BRL.MIL, ソスソスソスソス^ソスCソスv=A If this query is sent to C.ISI.EDU, the reply would be: ソスソスソスソスソスソスソスフ問合ソスソスソスソスC.ISI.EDUソスノ托ソスソスソス黷スソスネゑソスAソスネ会ソスソスフ様ソスノ回答ゑソスソスソスナゑソスソス蛯、ソスF +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE | +---------------------------------------------------+ Question | QNAME=BRL.MIL, QCLASS=IN, QTYPE=A | +---------------------------------------------------+ Answer | <empty> | +---------------------------------------------------+ Authority | MIL. 86400 IN NS SRI-NIC.ARPA. | | 86400 NS A.ISI.EDU. | +---------------------------------------------------+ Additional | A.ISI.EDU. A 26.3.0.103 | | SRI-NIC.ARPA. A 26.0.0.73 | | A 10.0.0.51 | +---------------------------------------------------+ This response has an empty answer section, but is not authoritative, so it is a referral. The name server on C.ISI.EDU, realizing that it is not authoritative for the MIL domain, has referred the requester to servers on A.ISI.EDU and SRI-NIC.ARPA, which it knows are authoritative for the MIL domain. ソスソスソスフ回答は具ソスフ解答セソスNソスVソスソスソスソスソスソスソスソスソスソスソスワゑソスソスソスソスAソスソスソスソスソスナはなゑソスソスミ会ソスナゑソスソスBC.ISI.EDU ソスフネソス[ソスソスソスTソス[ソスoソス[ソスヘ、ソスソスソスソスソスソスMILソスhソスソスソスCソスソスソスフ鯉ソスソスミ(ソスソスソスソスソスjソスナなゑソスソスソスソスニゑソスmソスソスソストゑソス ソスソスMILソスhソスソスソスCソスソスソスフ鯉ソスソスミ(ソスソスソスソスソスjソスソスmソスソスソストゑソスナゑソスソスうソスニ思ソスソスソスソスA.ISI.EDUソスソス SRI-NIC.ARPAソスフサソス[ソスoソス[ソスソスvソスソスソスメに知ソス轤ケソスワゑソスソスソスソスB 6.2.7. QNAME=USC-ISIC.ARPA, QTYPE=A 6.2.7. ソスソスソス笆シ=USC-ISIC.ARPA, ソスソスソスソス^ソスCソスv=A The response to this query from A.ISI.EDU would be: ソスソスソスフ問合ソスソスソスノ対ゑソスソスソスA.ISI.EDUソスソスソスソスフ難ソスソスソスソスヘ以会ソスソスナゑソスソス蛯、ソスF +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE, AA | +---------------------------------------------------+ Question | QNAME=USC-ISIC.ARPA., QCLASS=IN, QTYPE=A | +---------------------------------------------------+ Answer | USC-ISIC.ARPA. 86400 IN CNAME C.ISI.EDU. | | C.ISI.EDU. 86400 IN A 10.0.0.52 | +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | <empty> | +---------------------------------------------------+ Note that the AA bit in the header guarantees that the data matching QNAME is authoritative, but does not say anything about whether the data for C.ISI.EDU is authoritative. This complete reply is possible because A.ISI.EDU happens to be authoritative for both the ARPA domain where USC-ISIC.ARPA is found and the ISI.EDU domain where C.ISI.EDU data is found. ソスwソスbソス_ソスソスAAソスrソスbソスgソスソスQNAMEソスニ茨ソスvソスソスソス髢シソスOソスソスソスソスソスソスソスネゑソスソスニゑソスロ障しソスワゑソスソスソスソスA C.ISI.EDUソスフどのデソス[ソス^ソスソスソスソスソスソスソスソスソスヘ会ソスソスソスソスソスソスソスネゑソスソスソスソスニに抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスBソスソスソスソス ソスソスソスSソスネ難ソスソスソスソスヘ、A.ISI.EDUソスソスソスソスソスワゑソスソスソスUSC-ISIC.ARPAソスフゑソスソスソスARPAソスhソスソスソスCソスソスソスソス C.ISI.EDUソスフゑソスソスソスSI.EDUソスhソスソスソスCソスソスソスソスソスソスソスフ鯉ソスソスミ(ソスソスソスソスソスjソスネゑソスソス゚可能ソスナゑソスソスB If the same query was sent to C.ISI.EDU, its response might be the same as shown above if it had its own address in its cache, but might also be: ソスソスソスソスソスソスソスソスソスソスソス竄ェC.ISI.EDUソスノ托ソスソスソス黷スソスソスAソスLソスソスソスbソスVソスソスソスノアソスhソスソスソスXソスソスソスソスソスソスソストゑソスソスソスソス ソスソスLソスニ難ソスソスソスソスソスソスソスソスソスヤゑソスソスナゑソスソス蛯、ソスソスソスAソスソスソスソスソスネ会ソスソスソスヤゑソスソスナゑソスソス蛯、ソスF +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE, AA | +---------------------------------------------------+ Question | QNAME=USC-ISIC.ARPA., QCLASS=IN, QTYPE=A | +---------------------------------------------------+ Answer | USC-ISIC.ARPA. 86400 IN CNAME C.ISI.EDU. | +---------------------------------------------------+ Authority | ISI.EDU. 172800 IN NS VAXA.ISI.EDU. | | NS A.ISI.EDU. | | NS VENERA.ISI.EDU. | +---------------------------------------------------+ Additional | VAXA.ISI.EDU. 172800 A 10.2.0.27 | | 172800 A 128.9.0.33 | | VENERA.ISI.EDU. 172800 A 10.1.0.52 | | 172800 A 128.9.0.32 | | A.ISI.EDU. 172800 A 26.3.0.103 | +---------------------------------------------------+ This reply contains an authoritative reply for the alias USC-ISIC.ARPA, plus a referral to the name servers for ISI.EDU. This sort of reply isn't very likely given that the query is for the host name of the name server being asked, but would be common for other aliases. ソスソスソスフ難ソスソスソスソスソスUSC-ISIC.ARPAソスフ別厄ソスソスフ撰ソスソスソスソス答と、ISI.EDUソスフネソス[ソスソスソスTソス[ソスoソスフ紹会ソスソス ソスワゑソスナゑソスソスワゑソスソスBソスソスソスフ趣ソスフ難ソスソスソスソスヘネソス[ソスソスソスTソス[ソスoソスフホソスXソスgソスソスソス聞ゑソスソスソスソスフでなゑソスソスフで適 ソスソスソスネ難ソスソスソスソスナなゑソスソスフでゑソスソスソスソスAソスハ厄ソスソスフ場合ソスソスソスハでゑソスソスB 6.2.8. QNAME=USC-ISIC.ARPA, QTYPE=CNAME 6.2.8. ソスソスソス笆シ=USC-ISIC.ARPA, ソスソスソスソス^ソスCソスv=CNAME If this query is sent to either A.ISI.EDU or C.ISI.EDU, the reply would be: ソスソスソスソスソスソスソスフ趣ソスソス竄ェA.ISI.EDUソスソスC.ISI.EDUソスノ托ソスソス轤スソス逑夲ソスソスソスヘ以会ソスソスナゑソスソス蛯、ソスF +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE, AA | +---------------------------------------------------+ Question | QNAME=USC-ISIC.ARPA., QCLASS=IN, QTYPE=A | +---------------------------------------------------+ Answer | USC-ISIC.ARPA. 86400 IN CNAME C.ISI.EDU. | +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | <empty> | +---------------------------------------------------+ Because QTYPE=CNAME, the CNAME RR itself answers the query, and the name server doesn't attempt to look up anything for C.ISI.EDU. (Except possibly for the additional section.) ソスソスソスソス^ソスCソスv=CNAMEソスネので、CNAMEソスソスソスソスソスソスソスRソス[ソスhソスヘゑソスソス齊ゥソスgソスソスソス竝ソスソスソスフ難ソスソスソスソスナゑソスソスA ソスソスソスフゑソスソス゚ネソス[ソスソスソスTソス[ソスoソス[ソスソスC.ISI.EDUソスフ会ソスソスソスソスソスソスラようソスニ趣ソスソスンまゑソスソスソスBソスiソスヌ会ソスソスZソスN ソスVソスソスソスソスソスソスソスソスソスソスソスワゑソスソスjソスB 6.3. Example resolution 6.3. ソスソスソスソスソスソス The following examples illustrate the operations a resolver must perform for its client. We assume that the resolver is starting without a cache, as might be the case after system boot. We further assume that the system is not one of the hosts in the data and that the host is located somewhere on net 26, and that its safety belt (SBELT) data structure has the following information: ソスソスソスフ暦ソスヘソスソス]ソスソスソスoソスソスソスNソスソスソスCソスAソスソスソスgソスノ行ソスソスソスソスソスソスソス瘤ヲソスソスソスワゑソスソスBソスソスソス]ソスソスソスoソスソスソスVソスXソスeソスソス ソスuソス[ソスgソスソスソスソスナキソスソスソスbソスVソスソスソスソスソスソスソスナ始ソス゚ゑソスソスニ想ソス閧オソスワゑソスソスBソスVソスXソスeソスソスソスソスソスfソス[ソス^ソスソスソスフホソスX ソスgソスフどれかソスナはなゑソスソスAソスzソスXソスgソスソスソスlソスbソスgソスQソスUソスフ擾ソスノゑソスソスソスAソスVソス[ソスgソスxソスソスソスgソスiSBELTソスj ソスfソス[ソス^ソス\ソスソスソスフゑソスソスソスソスフ擾ソスソスソスソスソスソスツと想ソス閧オソスワゑソスソスFソスB Match count = -1 SRI-NIC.ARPA. 26.0.0.73 10.0.0.51 A.ISI.EDU. 26.3.0.103 This information specifies servers to try, their addresses, and a match count of -1, which says that the servers aren't very close to the target. Note that the -1 isn't supposed to be an accurate closeness measure, just a value so that later stages of the algorithm will work. ソスソスソスフ擾ソスソスヘ問合ソスソスソスソスTソス[ソスoソス[ソスフアソスhソスソスソスXソスニ−ソスPソスフ茨ソスvソスJソスEソスソスソスgソスソスソスwソス閧オソスAソスソスソスソスソス ソスTソス[ソスoソス[ソスソスソスレ標ソスソスソスソスソスソスノ会ソスソスソスソスソスソスソスソスソスソスソスソスワゑソスソスBソス|ソスPソスヘアソスソスソスSソスソスソスYソスソスソスフ最鯉ソスナ使ソスソス ソスソスソス謔、ソスノゑソスソス驍スソス゚でゑソスソスソスAソスソスソスmソスネ近ゑソスソスフ値ソスナなゑソスソスソスソスニに抵ソスソスモゑソスソストゑソスソスソスソスソスソスソスソスB The following examples illustrate the use of a cache, so each example assumes that previous requests have completed. ソスソスソスフ暦ソスヘキソスソスソスbソスVソスソスソスフ使ソスpソスソスソスソスソスソスソスソスワゑソスソスAソスeソス痰ェソスOソスフ問合ソスソスソスソスソスソスソスソスソスソスソスソスソスニ想ソス閧オ ソスワゑソスソスB 6.3.1. Resolve MX for ISI.EDU. 6.3.1. ISI.EDUソスソスMXソスフ会ソスソスソス Suppose the first request to the resolver comes from the local mailer, which has mail for [email protected]. The mailer might then ask for type MX RRs for the domain name ISI.EDU. ソスソスソス]ソスソスソスoソスヨの最擾ソスソスフ問合ソスソスソスソス[email protected]ソスヨのソスソス[ソスソスソスソスソスソスソスツソスソス[ソスJソスソスソスソスソスCソスソスソス[ソスソス ソス逞茨ソスソスニ考ソスソスソストゑソスソスソスソスソスソスソスソスBソスソスソスCソスソスソス[ソスヘドソスソスソスCソスソスソスソスISI.EDUソスフタソスCソスvMXソスソスソスソスソスソスソスRソス[ ソスhソスソスソスソスソス゚ゑソスナゑソスソス蛯、ソスB The resolver would look in its cache for MX RRs at ISI.EDU, but the empty cache wouldn't be helpful. The resolver would recognize that it needed to query foreign servers and try to determine the best servers to query. This search would look for NS RRs for the domains ISI.EDU, EDU, and the root. These searches of the cache would also fail. As a last resort, the resolver would use the information from the SBELT, copying it into its SLIST structure. ソスソスソス]ソスソスソスoソスヘキソスソスソスbソスVソスソスソスソスソスソスISI.EDUソスソスMXソスソスソスソスソスソスソスRソス[ソスhソスソスTソスソスソスワゑソスソスソスソスAソスソスソスツゑソスソスソスソス ソスソスソスナゑソスソス蛯、ソスBソスソスソス]ソスソスソスoソスヘ外ソスフサソス[ソスoソス[ソスノ問いソスソスソスせソスソスソスKソスvソスナ、ソスソスソスソスノ最ゑソスソスヌゑソス ソスTソス[ソスoソス[ソスソスソスソスソス゚ゑソスKソスvソスソスソスソスFソスソスソスソスソスソスナゑソスソス蛯、ソスBソスソスソスフ鯉ソスソスソスソスISI.EDUソスソスEDUソスニソスソス[ソスg ソスフネソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスソスソスソスソスソスナゑソスソス蛯、ソスBソスLソスソスソスbソスVソスソスソスソスソス轤アソスソスソスフ捜ソスソス ソスヘ趣ソスソスsソスソスソスソスナゑソスソス蛯、ソスBソスナ鯉ソスフ趣ソスiソスニゑソスソストソスソス]ソスソスソスoソスソスSBELTソスフ擾ソスソスソスソスgソスソスソスソスソスソスSBELT ソスソスSLISTソス\ソスソスソスノコソスsソス[ソスソスソスワゑソスソスB At this point the resolver would need to pick one of the three available addresses to try. Given that the resolver is on net 26, it should choose either 26.0.0.73 or 26.3.0.103 as its first choice. It would then send off a query of the form: ソスソスソスフ趣ソスソス_ソスナソスソス]ソスソスソスoソスヘ3ソスツのアソスhソスソスソスXソスフ1ソスツゑソスIソスヤ必ソスvソスソスソスソスソスソスナゑソスソス蛯、ソスBソスソスソス]ソスソス ソスoソスソスソスlソスbソスgソスソスソス[ソスNソスQソスUソスノゑソスソスソスニゑソスソスソスホ、ソスナ擾ソスソスソス26.0.0.73ソスソス26.3.0.103ソスソスIソスソスソスソス ソスソスラゑソスソスナゑソスソスBソスソスソスソスヘ以会ソスソスフ形ソスソスソスフ趣ソスソスソス送ゑソスナゑソスソス蛯、ソスF +---------------------------------------------------+ Header | OPCODE=SQUERY | +---------------------------------------------------+ Question | QNAME=ISI.EDU., QCLASS=IN, QTYPE=MX | +---------------------------------------------------+ Answer | <empty> | +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | <empty> | +---------------------------------------------------+ The resolver would then wait for a response to its query or a timeout. If the timeout occurs, it would try different servers, then different addresses of the same servers, lastly retrying addresses already tried. It might eventually receive a reply from SRI-NIC.ARPA: ソスソスソス]ソスソスソスoソスヘゑソスソスフ趣ソスソスソスフ難ソスソスソスソスソスソス^ソスCソスソスソスAソスEソスgソスソスメつでゑソスソス蛯、ソスBソスソスソスソスソス^ソスCソスソスソスAソスEソスgソスソス ソスNソスソスソスソスホ托ソスソスフサソス[ソスoソスソスソスソスソスソスソスAソスソスソスフサソス[ソスoソスソスソスソスソス゚なら同ソスソスソスTソス[ソスoソスフ托ソスソスフアソスhソスソスソスXソスソス ソスソスソスソスソスワ、ソスナ鯉ソスノ難ソスソスソスソスAソスhソスソスソスXソスナ再度ソスソスソスソスソスワゑソスソスBソスソスソスソスソスト鯉ソスソスヌゑソスSRI-NIC.ARPAソスソスソス逑 ソスソスソスソスソスけ趣ソス驍ゥソスソスソスソスソスソスワゑソスソスソスF +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE | +---------------------------------------------------+ Question | QNAME=ISI.EDU., QCLASS=IN, QTYPE=MX | +---------------------------------------------------+ Answer | <empty> | +---------------------------------------------------+ Authority | ISI.EDU. 172800 IN NS VAXA.ISI.EDU. | | NS A.ISI.EDU. | | NS VENERA.ISI.EDU.| +---------------------------------------------------+ Additional | VAXA.ISI.EDU. 172800 A 10.2.0.27 | | 172800 A 128.9.0.33 | | VENERA.ISI.EDU. 172800 A 10.1.0.52 | | 172800 A 128.9.0.32 | | A.ISI.EDU. 172800 A 26.3.0.103 | +---------------------------------------------------+ The resolver would notice that the information in the response gave a closer delegation to ISI.EDU than its existing SLIST (since it matches three labels). The resolver would then cache the information in this response and use it to set up a new SLIST: ソスソスソス]ソスソスソスoソスヘ回答の擾ソスが(ソスRソスツのソスソスxソスソスソスソスソスソスvソスソスソスソスフで)ソスAISI.EDUソスソスソスソスソスソスSLIST ソスソスソスソスソスソスソス゚ゑソスソスマ任ソスソス^ソスソスソスソスソスソスソスニに気ソスtソスソスソスナゑソスソス蛯、ソスBソスソスソス]ソスソスソスoソスヘゑソスソスフ回答の擾ソスソス ソスソスソスLソスソスソスbソスVソスソスソスソスソスAソスソスソスツ新ソスソスソスソスSLISTソスノ設定しソスト使ソスソスソスナゑソスソス蛯、ソスF Match count = 3 A.ISI.EDU. 26.3.0.103 VAXA.ISI.EDU. 10.2.0.27 128.9.0.33 VENERA.ISI.EDU. 10.1.0.52 128.9.0.32 A.ISI.EDU appears on this list as well as the previous one, but that is purely coincidental. The resolver would again start transmitting and waiting for responses. Eventually it would get an answer: A.ISI.EDUソスヘ前ソスフと難ソスソスソスソスソスソスソスソスフソスソスXソスgソスノ鯉ソスソスソスソスワゑソスソスソスソスAソスソスソスRソスフ茨ソスvソスナゑソスソスBソスソスソス]ソスソス ソスoソスヘ再び信ソスソスソス送ゑソスソスト、ソスソスソスソスソスト費ソスソスソスソスソスメゑソスソスnソス゚ゑソスナゑソスソス蛯、ソスBソスソスソスヌは難ソスソスソスソス得ゑソスソス ソスソスソス蛯、ソスF +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE, AA | +---------------------------------------------------+ Question | QNAME=ISI.EDU., QCLASS=IN, QTYPE=MX | +---------------------------------------------------+ Answer | ISI.EDU. MX 10 VENERA.ISI.EDU. | | MX 20 VAXA.ISI.EDU. | +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | VAXA.ISI.EDU. 172800 A 10.2.0.27 | | 172800 A 128.9.0.33 | | VENERA.ISI.EDU. 172800 A 10.1.0.52 | | 172800 A 128.9.0.32 | +---------------------------------------------------+ The resolver would add this information to its cache, and return the MX RRs to its client. ソスソスソス]ソスソスソスoソスヘキソスソスソスbソスVソスソスソスノゑソスソスフ擾ソスソスソスソスソスソスソスソスト、ソスNソスソスソスCソスAソスソスソスgソスソスMXソスソスソスソスソスソスソスRソス[ソスhソスソス ソスヤゑソスソスナゑソスソス蛯、ソスB 6.3.2. Get the host name for address 26.6.0.65 6.3.2. ソスAソスhソスソスソスX26.6.0.65ソスフホソスXソスgソスソスソス得ゑソス The resolver would translate this into a request for PTR RRs for 65.0.6.26.IN-ADDR.ARPA. This information is not in the cache, so the resolver would look for foreign servers to ask. No servers would match, so it would use SBELT again. (Note that the servers for the ISI.EDU domain are in the cache, but ISI.EDU is not an ancestor of 65.0.6.26.IN-ADDR.ARPA, so the SBELT is used.) ソスソスソス]ソスソスソスoソスヘ問合ソスソスソスソス65.0.6.26.IN-ADDR.ARPAソスソスPTRソスソスソスソスソスソスソスRソス[ソスhソスフ要ソスソスソスノ変奇ソスソスソス ソスソスナゑソスソス蛯、ソスBソスソスソスフ擾ソスソスヘキソスソスソスbソスVソスソスソスノなゑソスソスフで、ソスソスソス]ソスソスソスoソスヘ外ソスフサソス[ソスoソス[ソスソスTソスソス ソスナゑソスソス蛯、ソスBソスTソス[ソスoソス[ソスソスソスソスvソスソスソスネゑソスソスフで、ソストゑソスSBELTソスソスソスgソスソスソスナゑソスソス蛯、ソスBソスiISI.EDUソスh ソスソスソスCソスソスソスフサソス[ソスoソス[ソスソスソスLソスソスソスbソスVソスソスソスノゑソスソスソスワゑソスソスソスソスAソスソスソスソスソスソスISI.EDUソスソス 65.0.6.26.IN-ADDR.ARPAソスフ撰ソスcソスナはなゑソスソスフで、SBELTソスソスソスgソスソスソス驍アソスニに抵ソスソスモゑソスソスソス ソスソスソスソスソスソスソスソスソスBソスj Since this request is within the authoritative data of both servers in SBELT, eventually one would return: ソスソスソスフ問いソスソスソスせSBELTソスフ暦ソスソスソスソスフサソス[ソスoソス[ソスフ撰ソスソスソスソスネデソス[ソス^ソスノゑソスソスソスフで、ソスソスソスヌは以会ソス ソスソスソスヤゑソスソストゑソスソスソスナゑソスソス蛯、ソスF +---------------------------------------------------+ Header | OPCODE=SQUERY, RESPONSE, AA | +---------------------------------------------------+ Question | QNAME=65.0.6.26.IN-ADDR.ARPA.,QCLASS=IN,QTYPE=PTR | +---------------------------------------------------+ Answer | 65.0.6.26.IN-ADDR.ARPA. PTR ACC.ARPA. | +---------------------------------------------------+ Authority | <empty> | +---------------------------------------------------+ Additional | <empty> | +---------------------------------------------------+ 6.3.3. Get the host address of poneria.ISI.EDU 6.3.3. poneria.ISI.EDUソスフホソスXソスgソスAソスhソスソスソスXソス得ゑソス This request would translate into a type A request for poneria.ISI.EDU. The resolver would not find any cached data for this name, but would find the NS RRs in the cache for ISI.EDU when it looks for foreign servers to ask. Using this data, it would construct a SLIST of the form: ソスソスソスフ問合ソスソスソスソスponeria.ISI.EDUソスフタソスCソスvAソスフ問合ソスソスソスノ翻ソスすゑソスナゑソスソス蛯、ソスBソスソスソス]ソスソスソスo ソスヘゑソスソスフ厄ソスソスOソスフキソスソスソスbソスVソスソスソスソスソス黷スソスfソス[ソス^ソスソスソスソスソスツゑソスソスネゑソスソスナゑソスソス蛯、ソスソスソスAソスqソスヒゑソスラゑソスソスOソスソス ソスTソス[ソスoソス[ソスソスTソスソスソスソスソスAISI.EDUソスフネソス[ソスソスソスTソス[ソスoソスソスソスソスソスソスソスRソス[ソスhソスソスソスソスソスツゑソスソスソスナゑソスソス蛯、ソスB ソスソスソスフデソス[ソス^ソスソスソスgソスソスソスソスSLISTソスソスソスソスソスナゑソスソス蛯、ソスF Match count = 3 A.ISI.EDU. 26.3.0.103 VAXA.ISI.EDU. 10.2.0.27 128.9.0.33 VENERA.ISI.EDU. 10.1.0.52 A.ISI.EDU is listed first on the assumption that the resolver orders its choices by preference, and A.ISI.EDU is on the same network. A.ISI.EDUソスヘソスソス]ソスソスソスoソスソスソスDソス謠ソスハ擾ソスソスノ選ソスソスソスソスソスソスソスソスニゑソスソスソスソスソスソスソスナ最擾ソスソスノソスソスXソスgソスAソスb ソスvソスソスソスソスAA.ISI.EDUソスヘ難ソスソスソスソスlソスbソスgソスソスソス[ソスNソスノゑソスソスワゑソスソスB One of these servers would answer the query. ソスソスソスソスソスフサソス[ソスoソス[ソスフ1ソスツゑソスソスソスソスソスノ難ソスソスソスソスソスナゑソスソス蛯、ソスB 7. REFERENCES and BIBLIOGRAPHY 7. ソスQソスlソスソスソスソスソスニ包ソスソスソスソスレ録 [Dyer 87] Dyer, S., and F. Hsu, "Hesiod", Project Athena Technical Plan - Name Service, April 1987, version 1.9. Describes the fundamentals of the Hesiod name service. Hesiod ソスlソス[ソスソスソスTソス[ソスrソスXソスフ奇ソス{ソスソスソスLソスqソスソスソスワゑソス [IEN-116] J. Postel, "Internet Name Server", IEN-116, USC/Information Sciences Institute, August 1979. A name service obsoleted by the Domain Name System, but still in use. ソスhソスソスソスCソスソスソスlソス[ソスソスソスVソスXソスeソスソスソスナ趣ソスソスソスxソスソスノなるがソスAソスソスソスソスソスソスソスワゑソスソスgソスp ソスソスソスフネソス[ソスソスソスTソス[ソスrソスXソスB [Quarterman 86] Quarterman, J., and J. Hoskins, "Notable Computer Networks",Communications of the ACM, October 1986, volume 29, number 10. [RFC-742] K. Harrenstien, "NAME/FINGER", RFC-742, Network Information Center, SRI International, December 1977. [RFC-768] J. Postel, "User Datagram Protocol", RFC-768, USC/Information Sciences Institute, August 1980. [RFC-793] J. Postel, "Transmission Control Protocol", RFC-793, USC/Information Sciences Institute, September 1981. [RFC-799] D. Mills, "Internet Name Domains", RFC-799, COMSAT, September 1981. Suggests introduction of a hierarchy in place of a flat name space for the Internet. ソスソスソスソスネ厄ソスソスOソスソスヤの托ソスソスソスノイソスソスソス^ソス[ソスlソスbソスgソスノ階ソスwソスフ難ソスソスソスソスソスソスソス ソス゚まゑソスソスB [RFC-805] J. Postel, "Computer Mail Meeting Notes", RFC-805, USC/Information Sciences Institute, February 1982. [RFC-810] E. Feinler, K. Harrenstien, Z. Su, and V. White, "DOD Internet Host Table Specification", RFC-810, Network Information Center, SRI International, March 1982. Obsolete. See RFC-952. ソスソスソスソスxソスソスBRFC952ソスQソスニ。 [RFC-811] K. Harrenstien, V. White, and E. Feinler, "Hostnames Server", RFC-811, Network Information Center, SRI International, March 1982. Obsolete. See RFC-953. ソスソスソスソスxソスソスBRFC953ソスQソスニ。 [RFC-812] K. Harrenstien, and V. White, "NICNAME/WHOIS", RFC-812, Network Information Center, SRI International, March 1982. [RFC-819] Z. Su, and J. Postel, "The Domain Naming Convention for Internet User Applications", RFC-819, Network Information Center, SRI International, August 1982. ソスCソスソスソスtソスHソスソスソス[ソスVソスソスソスソスソスZソスソスソス^ソス[ソスAソスrソスqソスhソスCソスソスソス^ソス[ソスiソスVソスソスソスiソスソスソスA ソスPソスXソスWソスQソスNソスWソスソスソスB Early thoughts on the design of the domain system. Current implementation is completely different. ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスフデソスUソスCソスソスソスノつゑソスソストの擾ソスソスソスソスフ考ソスソスソスBソスソスソスンゑソス ソスソスソスソスソスヘ奇ソスソスSソスノ異なゑソスソストゑソスソスワゑソスソスB [RFC-821] J. Postel, "Simple Mail Transfer Protocol", RFC-821, USC/Information Sciences Institute, August 1980. [RFC-830] Z. Su, "A Distributed System for Internet Name Service", RFC-830, Network Information Center, SRI International, October 1982. Early thoughts on the design of the domain system. Current implementation is completely different. ソスhソスソスソスCソスソスソスVソスXソスeソスソスソスフデソスUソスCソスソスソスノつゑソスソストの擾ソスソスソスソスフ考ソスソスソスBソスソスソスンゑソス ソスソスソスソスソスヘ奇ソスソスSソスノ異なゑソスソストゑソスソスワゑソスソスB [RFC-882] P. Mockapetris, "Domain names - Concepts and Facilities," RFC-882, USC/Information Sciences Institute, November 1983. Superceeded by this memo. ソスソスソスフソスソスソスソスノ趣ソスソスソスト変ゑソスソス黷ス [RFC-883] P. Mockapetris, "Domain names - Implementation and Specification," RFC-883, USC/Information Sciences Institute, November 1983. Superceeded by this memo. ソスソスソスフソスソスソスソスノ趣ソスソスソスト変ゑソスソス黷ス [RFC-920] J. Postel and J. Reynolds, "Domain Requirements", RFC-920, USC/Information Sciences Institute October 1984. Explains the naming scheme for top level domains. ソスナ擾ソスハドソスソスソスCソスソスソスフ厄ソスソスソスソストゑソスソスソスソスソスソスソスワゑソスソスB [RFC-952] K. Harrenstien, M. Stahl, E. Feinler, "DoD Internet Host Table Specification", RFC-952, SRI, October 1985. Specifies the format of HOSTS.TXT, the host/address table replaced by the DNS. ソスcソスmソスrソスノゑソスソスソスト置ソスソスソスソスソスソスソスソス黷スHOSTS.TXTソスAソスzソスXソスgソス^ソスAソスhソスソスソスX ソスeソス[ソスuソスソスソスソスソスソスソスソスソスワゑソスソスB [RFC-953] K. Harrenstien, M. Stahl, E. Feinler, "HOSTNAME Server", RFC-953, SRI, October 1985. This RFC contains the official specification of the hostname server protocol, which is obsoleted by the DNS. This TCP based protocol accesses information stored in the RFC-952 format, and is used to obtain copies of the host table. ソスソスソスフRソスeソスbソスヘホソスXソスgソスソスソスTソス[ソスoソス[ソスvソスソスソスgソスRソスソスソスフ鯉ソスソスソスソスdソスlソスソスソスソスソスワみ、 ソスcソスmソスrソスナ趣ソスソスソスxソスソスノゑソスソスソスワゑソスソスBソスソスソスフTソスbソスoソスxソス[ソスXソスvソスソスソスgソスRソスソスソスソス RFC-952ソスtソスHソス[ソス}ソスbソスgソスナ記ソスソスソスソスソス黷スソスソスソスヨのアソスNソスZソスXソスソスソスソスソスAソスzソスX ソスgソスeソス[ソスuソスソスソスフコソスsソス[ソス得るたソス゚に使ソスソスソスワゑソスソスB [RFC-973] P. Mockapetris, "Domain System Changes and Observations", RFC-973, USC/Information Sciences Institute, January 1986. Describes changes to RFC-882 and RFC-883 and reasons for them. Now obsolete. RFC-882ソスソスRFC-883ソスヨの変更ソスニゑソスソスフ暦ソスソスRソスソスソスLソスqソスソスソスワゑソスソスB [RFC-974] C. Partridge, "Mail routing and the domain system", RFC-974, CSNET CIC BBN Labs, January 1986. Describes the transition from HOSTS.TXT based mail addressing to the more powerful MX system used with the domain system. HOSTS.TXTソスxソス[ソスXソスフソスソス[ソスソスソスソスソスソスソス闍ュソスヘなドソスソスソスCソスソスソスVソスXソスeソスソスソスソス ソスgソスソスソスソスMXソスソスソスVソスXソスeソスソスソスヨの移行ソスソスソスLソスqソスソスソスワゑソスソスB [RFC-1001] NetBIOS Working Group, "Protocol standard for a NetBIOS service on a TCP/UDP transport: Concepts and Methods", RFC-1001, March 1987. This RFC and RFC-1002 are a preliminary design for NETBIOS on top of TCP/IP which proposes to base NetBIOS name service on top of the DNS. ソスソスソスソスRFCソスソスRFC-1002ソスソスTCP/IPソスソスソスNETBIOSソスフ予ソスソスソスfソスUソスCソスソスソスナ、 DNSソスソスナゑソスNetBIOSソスソスソスOソスTソス[ソスrソスXソスソスソストゑソスソスワゑソスソスB [RFC-1002] NetBIOS Working Group, "Protocol standard for a NetBIOS service on a TCP/UDP transport: Detailed Specifications", RFC-1002, March 1987. [RFC-1010] J. Reynolds and J. Postel, "Assigned Numbers", RFC-1010, USC/Information Sciences Institute, May 1987 Contains socket numbers and mnemonics for host names, operating systems, etc. ソスzソスXソスgソスソスソスAソスIソスyソスソスソス[ソスeソスBソスソスソスOソスVソスXソスeソスソスソスフゑソスソス゚のソソスPソスbソスgソスヤ搾ソスソスソス ソスソスソスフゑソスソスワゑソスナゑソスソスワゑソスソスB [RFC-1031] W. Lazear, "MILNET Name Domain Transition", RFC-1031, November 1987. Describes a plan for converting the MILNET to the DNS. MILNETソスソスソスcソスmソスrソスノ変奇ソスソスソスソスソスvソスソスソスソスLソスqソスソスソスワゑソスソスB [RFC-1032] M. K. Stahl, "Establishing a Domain - Guidelines for Administrators", RFC-1032, November 1987. Describes the registration policies used by the NIC to administer the top level domains and delegate subzones. ソスナ擾ソスハドソスソスソスCソスソスソスフ管暦ソスソスニサソスuソスhソスソスソスCソスソスソスマ任ソスソスソスソスソス驍スソス゚にNソスhソスb ソスノゑソスソスソスト使ソスソス黷スソスoソス^ソスソスソスjソスソスソスLソスqソスソスソスワゑソスソスB [RFC-1033] M. K. Lottor, "Domain Administrators Operations Guide", RFC-1033, November 1987. A cookbook for domain administrators. ソスhソスソスソスCソスソスソスヌ暦ソスソスメのゑソスソス゚の暦ソスソスソスソスフ本 [Solomon 82] M. Solomon, L. Landweber, and D. Neuhengen, "The CSNET Name Server", Computer Networks, vol 6, nr 3, July 1982. Describes a name service for CSNET which is independent from the DNS and DNS use in the CSNET. ソスcソスmソスrソスノ依托ソスソスソスソスネゑソスCSNETソスフネソス[ソスソスソスTソス[ソスrソスXソスソスCSNETソスナのDソスmソスr ソスgソスpソスソスソスLソスqソスソスソスワゑソスソスB Index ソスソスソスソス A 12 Absolute names 8 Aliases 14, 31 Authority 6 AXFR 17 Case of characters 7 CH 12 CNAME 12, 13, 31 Completion queries 18 Domain name 6, 7 Glue RRs 20 HINFO 12 IN 12 Inverse queries 16 Iterative 4 Label 7 Mailbox names 9 MX 12 Name error 27, 36 Name servers 5, 17 NE 30 Negative caching 44 NS 12 Opcode 16 PTR 12 QCLASS 16 QTYPE 16 RDATA 13 Recursive 4 Recursive service 22 Relative names 7 Resolvers 6 RR 12 Safety belt 33 Sections 16 SOA 12 Standard queries 22 Status queries 18 Stub resolvers 32 TTL 12, 13 Wildcards 25 Zone transfers 28 Zones 19