⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 draft-ietf-dnsext-wcard-clarify-08.txt

📁 bind 源码 最新实现 linux/unix/windows平台
💻 TXT
📖 第 1 页 / 共 3 页
字号:
DNSEXT Working Group                                          E. LewisINTERNET DRAFT                                                 NeuStarExpiration Date: January 6, 2006                          July 6, 2005Updates RFC 1034, RFC 2672                             The Role of Wildcards                           in the Domain Name System                     draft-ietf-dnsext-wcard-clarify-08.txtStatus of this Memo     By submitting this Internet-Draft, each author represents that     any applicable patent or other IPR claims of which he or she is     aware have been or will be disclosed, and any of which he or she     becomes aware will be disclosed, in accordance with Section 6 of     BCP 79.     Internet-Drafts are working documents of the Internet Engineering     Task Force (IETF), its areas, and its working groups.  Note that     other groups may also distribute working documents as Internet-     Drafts.     Internet-Drafts are draft documents valid for a maximum of six     months and may be updated, replaced, or obsoleted by other     documents at any time.  It is inappropriate to use Internet-Drafts     as reference material or to cite them other than as "work in     progress."     The list of current Internet-Drafts can be accessed at       http://www.ietf.org/ietf/1id-abstracts.txt     The list of Internet-Draft Shadow Directories can be accessed at       http://www.ietf.org/shadow.html     This Internet-Draft will expire on January 6, 2006.Copyright Notice     Copyright (C) The Internet Society (2005).Abstract     This is an update to the wildcard definition of RFC 1034.  The     interaction with wildcards and CNAME is changed, an error     condition removed, and the words defining some concepts central     to wildcards are changed.  The overall goal is not to change     wildcards, but to refine the definition of RFC 1034.Table of Contents1.    Introduction1.1   Motivation1.2   The Original Definition1.3   Roadmap to This Document1.3.1 New Terms1.3.2 Changed Text1.3.3 Considerations with Special Types1.4   Standards Terminology2.    Wildcard Syntax2.1   Identifying a Wildcard2.1.1 Wild Card Domain Name and Asterisk Label2.1.2 Asterisks and Other Characters2.1.3 Non-terminal Wild Card Domain Names2.2   Existence Rules2.2.1 An Example2.2.2 Empty Non-terminals2.2.3 Yet Another Definition of Existence2.3   When is a Wild Card Domain Name Not Special3.    Impact of a Wild Card Domain Name On a Response3.1   Step 23.2   Step 33.3   Part 'c'3.3.1 Closest Encloser and the Source of Synthesis3.3.2 Closest Encloser and Source of Synthesis Examples3.3.3 Type Matching4.    Considerations with Special Types4.1   SOA RRSet at a Wild Card Domain Name4.2   NS RRSet at a Wild Card Domain Name4.2.1 Discarded Notions4.3   CNAME RRSet at a Wild Card Domain Name4.4   DNAME RRSet at a Wild Card Domain Name4.5   SRV RRSet at a Wild Card Domain Name4.6   DS RRSet at a Wild Card Domain Name4.7   NSEC RRSet at a Wild Card Domain Name4.8   RRSIG at a Wild Card Domain Name4.9   Empty Non-terminal Wild Card Domain Name5.    Security Considerations6.    IANA Considerations7.    References8.    Editor9.    Others Contributing to the Document10.   Trailing Boilerplate1. Introduction     In RFC 1034 [RFC1034], sections 4.3.2 and 4.3.3 describe the     synthesis of answers from special resource records called     wildcards.  The definition in RFC 1034 is incomplete and has     proven to be confusing.  This document describes the wildcard     synthesis by adding to the discussion and making limited     modifications.  Modifications are made to close inconsistencies     that have led to interoperability issues.  This description     does not expand the service intended by the original definition.     Staying within the spirit and style of the original documents,     this document avoids specifying rules for DNS implementations     regarding wildcards.  The intention is to only describe what is     needed for interoperability, not restrict implementation choices.     In addition, consideration is given to minimize any backwards     compatibility issues with implementations that comply with RFC     1034's definition.     This document is focused on the concept of wildcards as defined     in RFC 1034.  Nothing is implied regarding alternative means of     synthesizing resource record sets, nor are alternatives discussed.1.1 Motivation     Many DNS implementations diverge, in different ways, from the     original definition of wildcards.  Although there is clearly a     need to clarify the original documents in light of this alone,     the impetus for this document lay in the engineering of the DNS     security extensions [RFC4033].  With an unclear definition of     wildcards the design of authenticated denial became entangled.     This document is intended to limit its changes, documenting only     those based on implementation experience, and to remain as close     to the original document as possible.  To reinforce that this     document is meant to clarify and adjust and not redefine wildcards,     relevant sections of RFC 1034 are repeated verbatim to facilitate     comparison of the old and new text.1.2 The Original Definition     The defintion of the wildcard concept is comprised by the     documentation of the algorithm by which a name server prepares     a response (in RFC 1034's section 4.3.2) and the way in which     a resource record (set) is identified as being a source of     synthetic data (section 4.3.3).     This is the definition of the term "wildcard" as it appears in     RFC 1034, section 4.3.3.# 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.     This passage follows the algorithm in which the term wildcard     is first used.   In this definition, wildcard refers to resource     records.  In other usage, wildcard has referred to domain names,     and it has been used to describe the operational practice of     relying on wildcards to generate answers.  It is clear from this     that there is a need to define clear and unambiguous terminology     in the process of discussing wildcards.     The mention of the use of wildcards in the preparation of a     response is contained in step 3c of RFC 1034's section 4.3.2     entitled "Algorithm."  Note that "wildcard" does not appear in     the algorithm, instead references are made to the "*" label.     The portion of the algorithm relating to wildcards is     deconstructed in detail in section 3 of this document, this is     the beginning of the relevant portion of the "Algorithm."#    c. If at some label, a match is impossible (i.e., the#       corresponding label does not exist), look to see if [...]#       the "*" label exists.     The scope of this document is the RFC 1034 definition of     wildcards and the implications of updates to those documents,     such as DNSSEC.  Alternate schemes for synthesizing answers are     not considered.  (Note that there is no reference listed.  No     document is known to describe any alternate schemes, although     there has been some mention of them in mailing lists.)1.3 Roadmap to This Document     This document accomplishes these three items.     o Defines new terms     o Makes minor changes to avoid conflicting concepts     o Describes the actions of certain resource records as wildcards1.3.1 New Terms     To help in discussing what resource records are wildcards, two     terms will be defined - "asterisk label" and "wild card domain     name".  These are defined in section 2.1.1.     To assist in clarifying the role of wildcards in the name server     algorithm in RFC 1034, 4.3.2, "source of synthesis" and "closest     encloser" are defined.  These definitions are in section 3.3.2.     "Label match" is defined in section 3.2.     The new terms are used to make discussions of wildcards clearer.     Terminology doesn't directly have an impact on implementations.1.3.2 Changed Text     The definition of "existence" is changed superficially.  This     change will not be apparent to implementations; it is needed to     make descriptions more precise.  The change appears in section     2.2.3.     RFC 1034, section 4.3.3., seems to prohibit having two asterisk     labels in a wildcard owner name.  With this document the     restriction is removed entirely.  This change and its implications     are in section 2.1.3.     The actions when a source of synthesis owns a CNAME RR are     changed to mirror the actions if an exact match name owns a     CNAME RR.  This is an addition to the words in RFC 1034,     section 4.3.2, step 3, part c.  The discussion of this is in     section 3.3.3.     Only the latter change represents an impact to implementations.     The definition of existence is not a protocol impact.  The change     to the restriction on names is unlikely to have an impact, as     RFC 1034 contained no specification on when and how to enforce the     restriction.1.3.3 Considerations with Special Types     This document describes semantics of wildcard RRSets for     "interesting" types as well as empty non-terminal wildcards.     Understanding these situations in the context of wildcards has     been clouded because these types incur special processing if     they are the result of an exact match.  This discussion is in     section 4.     These discussions do not have an implementation impact, they cover     existing knowledge of the types, but to a greater level of detail.1.4 Standards Terminology     This document does not use terms as defined in "Key words for use     in RFCs to Indicate Requirement Levels." [RFC2119]     Quotations of RFC 1034 are denoted by a '#' in the leftmost     column.  References to section "4.3.2" are assumed to refer     to RFC 1034's section 4.3.2, simply titled "Algorithm."2. Wildcard Syntax     The syntax of a wildcard is the same as any other DNS resource     record, across all classes and types.  The only significant     feature is the owner name.     Because wildcards are encoded as resource records with special     names, they are included in zone transfers and incremental zone     transfers[RFC1995] just as non-wildcard resource records are.     This feature has been underappreciated until discussions on     alternative approaches to wildcards appeared on mailing lists.2.1 Identifying a Wildcard     To provide a more accurate description of wildcards, the     definition has to start with a discussion of the domain names     that appear as owners.  Two new terms are needed, "Asterisk     Label" and "Wild Card Domain Name."2.1.1 Wild Card Domain Name and Asterisk Label     A "wild card domain name" is defined by having its initial     (i.e., left-most or least significant) label be, in binary format:          0000 0001 0010 1010 (binary) = 0x01 0x2a (hexadecimal)     The first octet is the normal label type and length for a 1 octet     long label, the second octet is the ASCII representation [RFC20]     for the '*' character.     A descriptive name of a label equaling that value is an "asterisk     label."     RFC 1034's definition of wildcard would be "a resource record     owned by a wild card domain name."2.1.2 Asterisks and Other Characters     No label values other than that in section 2.1.1 are asterisk     labels, hence names beginning with other labels are never wild     card domain names.  Labels such as 'the*' and '**' are not     asterisk labels so these labels do not start wild card domain     names.2.1.3 Non-terminal Wild Card Domain Names     In section 4.3.3, the following is stated:# ..........................  The owner name of the wildcard RRs is of# the form "*.<anydomain>", where <anydomain> is any domain name.# <anydomain> should not contain other * labels......................     The restriction is now removed.  The original documentation of it     is incomplete and the restriction does not serve any purpose given     years of operational experience.     There are three possible reasons for putting the restriction in     place, but none of the three has held up over time.  One is     that the restriction meant that there would never be subdomains     of wild card domain names, but the restriciton as stated still     permits "example.*.example." for instance.  Another is that     wild card domain names are not intended to be empty non-terminals,     but this situation does not disrupt the algorithm in 4.3.2.     Finally, "nested" wild card domain names are not ambiguous once     the concept of the closest encloser had been documented.     A wild card domain name can have subdomains.  There is no need     to inspect the subdomains to see if there is another asterisk     label in any subdomain.     A wild card domain name can be an empty non-terminal.  (See the     upcoming sections on empty non-terminals.)  In this case, any     lookup encountering it will terminate as would any empty     non-terminal match.2.2 Existence Rules

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -