]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
add
authorMark Andrews <marka@isc.org>
Thu, 23 Aug 2007 06:25:44 +0000 (06:25 +0000)
committerMark Andrews <marka@isc.org>
Thu, 23 Aug 2007 06:25:44 +0000 (06:25 +0000)
doc/draft/draft-ietf-dnsext-rfc2672bis-dname-04.txt

index a643f3f94ec83bf435eafc97ff5684ca665005b3..b37d625722d1f475446e060898355570acca443e 100644 (file)
@@ -836,6 +836,902 @@ Authors' Addresses
 
 
 
+Rose & Wijngaards       Expires February 11, 2008              [Page 15]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+Full Copyright Statement
+
+   Copyright (C) The IETF Trust (2007).
+
+   This document is subject to the rights, licenses and restrictions
+   contained in BCP 78, and except as set forth therein, the authors
+   retain all their rights.
+
+   This document and the information contained herein are provided on an
+   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
+   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
+   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
+   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Intellectual Property
+
+   The IETF takes no position regarding the validity or scope of any
+   Intellectual Property Rights or other rights that might be claimed to
+   pertain to the implementation or use of the technology described in
+   this document or the extent to which any license under such rights
+   might or might not be available; nor does it represent that it has
+   made any independent effort to identify any such rights.  Information
+   on the procedures with respect to rights in RFC documents can be
+   found in BCP 78 and BCP 79.
+
+   Copies of IPR disclosures made to the IETF Secretariat and any
+   assurances of licenses to be made available, or the result of an
+   attempt made to obtain a general license or permission for the use of
+   such proprietary rights by implementers or users of this
+   specification can be obtained from the IETF on-line IPR repository at
+   http://www.ietf.org/ipr.
+
+   The IETF invites any interested party to bring to its attention any
+   copyrights, patents or patent applications, or other proprietary
+   rights that may cover technology that may be required to implement
+   this standard.  Please address the information to the IETF at
+   ietf-ipr@ietf.org.
+
+Acknowledgement
+
+   Funding for the RFC Editor function is provided by the IETF
+   Administrative Support Activity (IASA).
+
+
+
+
+
+
+
+Rose & Wijngaards       Expires February 11, 2008              [Page 16]
+\f
+
+
+
+DNS Extensions Working Group                                     S. Rose
+Internet-Draft                                                      NIST
+Intended status: Standards Track                           W. Wijngaards
+Expires: February 11, 2008                                    NLnet Labs
+                                                         August 10, 2007
+
+
+                 Update to DNAME Redirection in the DNS
+                 draft-ietf-dnsext-rfc2672bis-dname-04
+
+Status 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 February 11, 2008.
+
+Copyright Notice
+
+   Copyright (C) The IETF Trust (2007).
+
+Abstract
+
+   The DNAME record provides redirection for a sub-tree of the domain
+   name tree in the DNS system.  That is, all names that end with a
+   particular suffix are redirected to another part of the DNS.  This is
+   an update to the original specification in RFC 2672.
+
+
+
+
+
+
+Rose & Wijngaards       Expires February 11, 2008               [Page 1]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+Requirements Language
+
+   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+   document are to be interpreted as described in RFC 2119 [RFC2119].
+
+Table of Contents
+
+   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
+
+   2.  The DNAME Resource Record  . . . . . . . . . . . . . . . . . .  3
+     2.1.  Format . . . . . . . . . . . . . . . . . . . . . . . . . .  3
+     2.2.  The DNAME Substitution . . . . . . . . . . . . . . . . . .  4
+     2.3.  DNAME Apex not Redirected itself . . . . . . . . . . . . .  5
+     2.4.  Names Next to and Below a DNAME Record . . . . . . . . . .  5
+     2.5.  Compression of the DNAME record. . . . . . . . . . . . . .  6
+
+   3.  Processing . . . . . . . . . . . . . . . . . . . . . . . . . .  6
+     3.1.  Wildcards  . . . . . . . . . . . . . . . . . . . . . . . .  6
+     3.2.  CNAME synthesis  . . . . . . . . . . . . . . . . . . . . .  6
+     3.3.  Acceptance and Intermediate Storage  . . . . . . . . . . .  7
+     3.4.  Server algorithm . . . . . . . . . . . . . . . . . . . . .  7
+
+   4.  DNAME Discussions in Other Documents . . . . . . . . . . . . .  9
+
+   5.  Other Issues with DNAME  . . . . . . . . . . . . . . . . . . . 11
+     5.1.  MX, NS and PTR Records Must Point to Target of DNAME . . . 11
+     5.2.  Dynamic Update and DNAME . . . . . . . . . . . . . . . . . 11
+     5.3.  DNSSEC and DNAME . . . . . . . . . . . . . . . . . . . . . 11
+       5.3.1.  DNAME bit in NSEC/NSEC3 type map . . . . . . . . . . . 11
+       5.3.2.  Other issues with NSEC3 and DNAME  . . . . . . . . . . 12
+       5.3.3.  Validators Must Understand DNAME . . . . . . . . . . . 12
+         5.3.3.1.  DNAME in Bitmap Causes Invalid Name Error  . . . . 12
+         5.3.3.2.  Valid Name Error Response Involving DNAME in
+                   Bitmap . . . . . . . . . . . . . . . . . . . . . . 12
+         5.3.3.3.  Response With Synthesized CNAME  . . . . . . . . . 13
+
+   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 13
+
+   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 13
+
+   8.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 14
+
+   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
+     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 14
+     9.2.  Informative References . . . . . . . . . . . . . . . . . . 15
+
+
+
+
+
+Rose & Wijngaards       Expires February 11, 2008               [Page 2]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+1.  Introduction
+
+   DNAME is a DNS Resource Record type.  DNAME provides redirection from
+   a part of the DNS name tree to another part of the DNS name tree.
+
+   For example, given a query for foo.example.com and a DNAME from
+   example.com to example.net, the query would be redirected to
+   foo.example.net.  With the same DNAME a query for foo.bar.example.com
+   would be redirected to foo.bar.example.net.
+
+   The DNAME RR is similar to the CNAME RR in that it provides
+   redirection.  The CNAME RR only provides redirection for exactly one
+   name while the DNAME RR provides redirection for all names in a sub-
+   tree of the DNS name tree.
+
+   This document is an update to the original specification of DNAME in
+   RFC 2672 [RFC2672].  DNAME was conceived to help with the problem of
+   maintaining address-to-name mappings in a context of network
+   renumbering.  So that with a careful set-up a renumbering event in
+   the network causes no change to the authoritative server that has the
+   address-to-name mappings.  Examples in practice are classless reverse
+   address space delegations and punycode alternates for domain spaces.
+
+   Other usage of DNAME lies in redirection of name spaces.  For
+   example, a zone administrator may want subtrees of the DNS to contain
+   the same information.  DNAME is also used for redirection of ENUM
+   domains to another maintaining party.
+
+   This update to DNAME does not change the wire format or the handling
+   of DNAME Resource Records by existing software.  A new UD (Understand
+   Dname) bit in the EDNS flags field can be used to signal that CNAME
+   synthesis is not needed.  Discussion is added on problems that may be
+   encountered when using DNAME.
+
+2.  The DNAME Resource Record
+
+2.1.  Format
+
+   The DNAME RR has mnemonic DNAME and type code 39 (decimal).
+
+   The format of the DNAME record has not changed from the original
+   specification in RFC 2672.  DNAME has the following format:
+
+           <owner> <ttl> <class> DNAME <target>
+
+   The format is not class-sensitive.  All fields are required.  The
+   RDATA field target is a domain name.  The RDATA field target name
+   MUST be sent uncompressed [RFC3597].
+
+
+
+Rose & Wijngaards       Expires February 11, 2008               [Page 3]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+   The DNAME RR causes type NS additional section processing.
+
+2.2.  The DNAME Substitution
+
+   DNAMEs cause a name substitution to happen to query names.  This is
+   called the DNAME substitution.  The suffix owner name of the DNAME is
+   replaced by the target of the DNAME.  The owner name of the DNAME is
+   not itself redirected, only domain names below the owner name are
+   redirected.  Only whole labels are replaced.  A name is considered
+   below the owner name if it has more labels than the owner name, and
+   the labels of the owner name appear as the suffix of the name.  See
+   the table of examples for common cases and corner cases.
+
+   In the table below, the QNAME refers to the query name.  The owner is
+   the DNAME owner domain name, and the target refers to the target of
+   the DNAME record.  The result is the resulting name after performing
+   the DNAME substitution on the query name. "no match" means that the
+   query did not match the DNAME and thus no substitution is performed
+   and a possible error message is returned (if no other result is
+   possible).  In the examples below, 'cyc' and 'shortloop' contain
+   loops.
+
+    QNAME            owner  DNAME   target         result
+    ---------------- -------------- -------------- -----------------
+    com.             example.com.   example.net.   <no match>
+    example.com.     example.com.   example.net.   <no match>
+    a.example.com.   example.com.   example.net.   a.example.net.
+    a.b.example.com. example.com.   example.net.   a.b.example.net.
+    ab.example.com.  b.example.com. example.net.   <no match>
+    foo.example.com. example.com.   example.net.   foo.example.net.
+    a.x.example.com. x.example.com. example.net.   a.example.net.
+    a.example.com.   example.com.   y.example.net. a.y.example.net.
+    cyc.example.com. example.com.   example.com.   cyc.example.com.
+    cyc.example.com. example.com.   c.example.com. cyc.c.example.com.
+    shortloop.x.x.   x.             .              shortloop.x.
+    shortloop.x.     x.             .              shortloop.
+
+                   Table 1. DNAME Substitution Examples.
+
+   It is possible for DNAMEs to form loops.  Just like CNAMEs can form
+   loops.  DNAMEs and CNAMEs can chain together to form loops.  A single
+   corner case DNAME can form a loop.  Resolvers and servers should be
+   cautious in devoting resources to a query, but be aware that fairly
+   long chains of DNAMEs may be valid.  Zone content administrators
+   should take care to insure that there are no loops that could occur
+   when using DNAME or DNAME/CNAME redirection.
+
+   The domain name can get too long during substitution.  For example,
+
+
+
+Rose & Wijngaards       Expires February 11, 2008               [Page 4]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+   suppose the target name of the DNAME RR is 250 octets in length
+   (multiple labels), if an incoming QNAME that has a first label over 5
+   octets in length, the result of the result would be a name over 255
+   octets.  If this occurs the server returns an RCODE of YXDOMAIN
+   [RFC2136].  The DNAME record and its signature (if the zone is
+   signed) are included in the answer as proof for the YXDOMAIN (value
+   6) RCODE.
+
+2.3.  DNAME Apex not Redirected itself
+
+   The owner name of a DNAME is not redirected itself.  The reason for
+   the original decision was that one can have a DNAME at the zone apex
+   without problem.  Then use this DNAME at the zone apex to point
+   queries to the target zone.  There still is a need to have the
+   customary SOA and NS resource records at the zone apex.  This means
+   that DNAME does not mirror a zone completely, as it does not mirror
+   the zone apex.
+
+   Another reason for excluding the DNAME owner from the DNAME
+   substitution is that one can then query for the DNAME through RFC
+   1034 [RFC1034] caches.
+
+   This means that a DNAME RR is not allowed at the same domain name as
+   NS records unless there is also a SOA record present.  DNAME RRs are
+   not allowed at the parent side of a delegation point but are allowed
+   at a zone apex.
+
+2.4.  Names Next to and Below a DNAME Record
+
+   Other resource records MUST NOT exist below the owner of a DNAME RR.
+   To get the contents for names subordinate to that owner, the DNAME
+   redirection must be invoked and the resulting target queried.  A
+   server SHOULD refuse to load a zone that has data below a domain name
+   owning a DNAME RR.  Also a server SHOULD refuse to load a zone
+   subordinate to the owner of a DNAME record in the ancestor zone.
+
+   DNAME is a singleton type, meaning only one DNAME is allowed per
+   name.  The owner name of a DNAME can only have one DNAME RR, and no
+   CNAME RRs can exist at that name.  These rules make sure that for a
+   single domain name only one redirection exists, and thus no confusion
+   which one to follow.  A server SHOULD refuse to load a zone that
+   violates these rules.
+
+   The domain name that owns a DNAME record is allowed to have other
+   resource record types at that domain name, except DNAMEs or CNAMEs.
+
+   These rules allow DNAME records to be queried through DNAME unaware
+   caches.
+
+
+
+Rose & Wijngaards       Expires February 11, 2008               [Page 5]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+2.5.  Compression of the DNAME record.
+
+   The DNAME owner name can be compressed like any other owner name.
+   The DNAME RDATA target name MUST NOT be sent out in compressed form,
+   so that a DNAME RR can be treated as an unknown type.
+
+   Although the previous specification [RFC2672] talked about signaling
+   to allow compression of the target name, no such signaling is
+   explicitly specified.
+
+   RFC2672 stated that the EDNS version had a meaning for understanding
+   of DNAME and DNAME target name compression.  This document updates
+   RFC2672, in that there is no EDNS version signaling for DNAME as of
+   yet.  However, the flags section of EDNS(0) is updated with a
+   Understand-DNAME flag by this document (See Section 3.2).
+
+3.  Processing
+
+3.1.  Wildcards
+
+   The use of DNAME in conjunction with wildcards is discouraged
+   [RFC4592].  Thus records of the form "*.example.com DNAME
+   example.net" SHOULD NOT be used.
+
+   The interaction between the expansion of the wildcard and the
+   redirection of the DNAME is non-deterministic.  Because the
+   processing is non-deterministic, DNSSEC validating resolvers may not
+   be able to validate a wildcarded DNAME.
+
+   A server MAY give a warning that the behavior is unspecified if such
+   a wildcarded DNAME is loaded.
+
+3.2.  CNAME synthesis
+
+   On the server side, the DNAME RR record is always included in the
+   answer section of a query.  A CNAME RR record with TTL 0 is
+   synthesized for old resolvers, specifically for the QNAME in the
+   query.  DNSSEC [RFC4033], [RFC4034], [RFC4035] says that the
+   synthesized CNAME does not have to be signed.  The DNAME has an RRSIG
+   and a validating resolver can check the CNAME against the DNAME
+   record and validate the DNAME record.
+
+   It does not make sense for the authoritative server to follow the
+   chain of DNAMEs, CNAMEs and wildcards outside of the zone of the
+   query, as modern resolvers will remove out-of-zone information from
+   the answer.
+
+   Resolvers MUST be able to handle a synthesized CNAME TTL of zero or
+
+
+
+Rose & Wijngaards       Expires February 11, 2008               [Page 6]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+   equal to the TTL of the corresponding DNAME record.  The TTL of zero
+   means that the CNAME can be discarded immediately after processing
+   the answer.  DNSSEC aware resolvers can set the Understand-DNAME (UD
+   bit) to receive a response with only the DNAME RR and no synthesized
+   CNAMEs.
+
+   The UD bit is part of the EDNS extended RCODE and Flags field.  It is
+   used to omit server processing, transmission and resolver processing
+   the unsigned synthesized CNAMEs when DNSSEC validation is performed.
+   Resolvers can set this in a query to request omission of the
+   synthesized CNAMEs.  Servers copy the UD bit to the response, and can
+   omit synthesized CNAMEs from the answer.  Older resolvers do not set
+   the UD bit, and older servers do not copy the UD bit to the answer,
+   and will not omit synthesized CNAMEs.
+
+   Updated EDNS extended RCODE and Flags field.
+
+               +0 (MSB)                +1 (LSB)
+      +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+   0: |   EXTENDED-RCODE      |       VERSION         |
+      +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+   2: |DO|UD|                 Z                       |
+      +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+   Servers MUST be able to answer a query for a synthesized CNAME.  An
+   answer containing the synthesized CNAME cannot contain an error
+   (since a CNAME has been followed), as per RFC 1034 CNAME rules.
+
+3.3.  Acceptance and Intermediate Storage
+
+   DNS Caches MUST NOT allow data to be cached below the owner of a
+   DNAME RR, except CNAME records or perhaps NSEC3 records and their
+   signatures.  CNAME records below the owner of a DNAME MUST be re-
+   synthesized from the DNAME, or checked against the DNAME record
+   before sending them out.  This improves consistency of the DNAME and
+   CNAME records below the owner of the DNAME.
+
+   DNS Caches MUST perform CNAME synthesis on behalf of DNAME-ignorant
+   clients.  A DNS Cache that understands DNAMEs can send out queries on
+   behalf of clients with the UD bit set.  After receiving the answers
+   the DNS Cache sends replies to DNAME ignorant clients that include
+   DNAMEs and synthesized CNAMEs.
+
+3.4.  Server algorithm
+
+   Below the server algorithm, which appeared in RFC 2672 Section 4.1,
+   is expanded to handle the UD bit.
+
+
+
+
+Rose & Wijngaards       Expires February 11, 2008               [Page 7]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+   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.
+   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.
+   3.  Start matching down, label by label, in the zone.  The matching
+       process can terminate several ways:
+       A.  If the whole of QNAME is matched, we have found the node.
+
+           If the data at the node is a CNAME, and QTYPE does not 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.
+
+           Otherwise, copy all RRs which match QTYPE into the answer
+           section and go to step 6.
+       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.
+
+           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.
+       C.  If at some label, a match is impossible (i.e., the
+           corresponding label does not exist), look to see whether the
+           last label matched has a DNAME record.
+
+           If a DNAME record exists at that point, copy that record into
+           the answer section.  If substitution of its <target> for its
+           <owner> in QNAME would overflow the legal size for a <domain-
+           name>, set RCODE to YXDOMAIN [RFC2136] and exit; otherwise
+           perform the substitution and continue.  If the EDNS OPT
+           record is present in the query and the UD bit is set, the
+           server MAY copy the UD bit to the answer EDNS OPT record, and
+           omit CNAME synthesis.  Else the server MUST synthesize a
+           CNAME record as described above and include it in the answer
+           section.  Go back to step 1.
+
+           If there was no DNAME record, look to see if the "*" label
+           exists.
+
+           If the "*" label does not exist, check whether the name we
+           are looking for is the original QNAME in the query or a name
+
+
+
+Rose & Wijngaards       Expires February 11, 2008               [Page 8]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+           we have followed due to a CNAME or DNAME.  If the name is
+           original, set an authoritative name error in the response and
+           exit.  Otherwise just exit.
+
+           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.  If the data at the node with the "*" label is
+           a CNAME, and QTYPE doesn't match CNAME, copy the CNAME RR
+           into the answer section of the response changing the owner
+           name to the QNAME, change QNAME to the canonical name in the
+           CNAME RR, and go back to step 1.  Otherwise, Go to step 6.
+
+   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 QNAME is not found in the cache but a DNAME
+       record is present at an ancestor of QNAME, copy that DNAME record
+       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.
+   5.  Use the local resolver or a copy of its algorithm to answer the
+       query.  Store the results, including any intermediate CNAMEs and
+       DNAMEs, in the answer section of the response.
+   6.  Using local data only, attempt to add other RRs which may be
+       useful to the additional section of the query.  Exit.
+
+   Note that there will be at most one ancestor with a DNAME as
+   described in step 4 unless some zone's data is in violation of the
+   no-descendants limitation in section 3.  An implementation might take
+   advantage of this limitation by stopping the search of step 3c or
+   step 4 when a DNAME record is encountered.
+
+4.  DNAME Discussions in Other Documents
+
+   In [RFC2181], in Section 10.3., the discussion on MX and NS records
+   touches on redirection by CNAMEs, but this also holds for DNAMEs.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Rose & Wijngaards       Expires February 11, 2008               [Page 9]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+   Excerpt from 10.3.  MX and NS records (in RFC 2181).
+
+           The domain name used as the value of a NS resource record,
+           or part of the value of a MX resource record must not be
+           an alias.  Not only is the specification clear on this
+           point, but using an alias in either of these positions
+           neither works as well as might be hoped, nor well fulfills
+           the ambition that may have led to this approach.  This
+           domain name must have as its value one or more address
+           records.  Currently those will be A records, however in
+           the future other record types giving addressing
+           information may be acceptable.  It can also have other
+           RRs, but never a CNAME RR.
+
+   The DNAME RR is discussed in RFC 3363, section 4, on A6 and DNAME.
+   [RFC3363] does NOT RECOMMENDED the use of DNAME in the IPv6 reverse
+   tree.  (Hence, all references to DNAME should have been removed from
+   [RFC4294].)  Based on the experience gained in the meantime, RFC 3363
+   should be revised, dropping all constraints on having DNAME RRs in
+   these zones.  This would greatly improve the manageability of the
+   IPv6 reverse tree.  These changes are made explicit below.
+
+   In [RFC3363], section 4, DNAME is not recommended for the IPv6
+   reverse tree.  The opening premise of this section is demonstrably
+   wrong.  Everything that follows from that premise is also invalid.
+
+   In [RFC3363], the paragraph
+
+     "The issues for DNAME in the reverse mapping tree appears to be
+     closely tied to the need to use fragmented A6 in the main tree: if
+     one is necessary, so is the other, and if one isn't necessary, the
+     other isn't either.  Therefore, in moving RFC 2874 to experimental,
+     the intent of this document is that use of DNAME RRs in the reverse
+     tree be deprecated."
+
+   is to be replaced with the word "DELETED".
+
+   In [RFC4294], the reference to DNAME was left in as a editorial
+   oversight.  The paragraph
+
+     "Those nodes are NOT RECOMMENDED to support the experimental A6 and
+     DNAME Resource Records [RFC3363]."
+
+
+
+
+
+
+
+
+
+Rose & Wijngaards       Expires February 11, 2008              [Page 10]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+   is to be replaced by
+
+     "Those nodes are NOT RECOMMENDED to support the experimental
+     A6 Resource Record [RFC3363]."
+
+5.  Other Issues with DNAME
+
+   There are several issues to be aware of about the use of DNAME.
+
+5.1.  MX, NS and PTR Records Must Point to Target of DNAME
+
+   The names listed as target names of MX, NS and PTR records must be
+   canonical hostnames.  This means no CNAME or DNAME redirection may be
+   present during DNS lookup of the address records for the host.  This
+   is discussed in RFC 2181 [RFC2181], section 10.3, and RFC 1912
+   [RFC1912], section 2.4.
+
+   The upshot of this is that although the lookup of a PTR record can
+   involve DNAMEs, the name listed in the PTR record can not fall under
+   a DNAME.  The same holds for NS and MX records.  For example, when
+   punycode alternates for a zone use DNAME then the NS, MX and PTR
+   records that point to that zone must use names without punycode in
+   their RDATA.  What must be done then is to have the domain names with
+   DNAME substitution already applied to it as the MX, NS, PTR data.
+   These are valid canonical hostnames.
+
+5.2.  Dynamic Update and DNAME
+
+   Zones containing a DNAME RR MUST NOT accept a dynamic update message
+   that would add a record or delegation with a name existing under a
+   DNAME.
+
+   A server MUST return an error message with RCODE=REFUSED [RFC2136] in
+   response to a dynamic update message that would add a resource record
+   under a DNAME in the zone.
+
+5.3.  DNSSEC and DNAME
+
+5.3.1.  DNAME bit in NSEC/NSEC3 type map
+
+   When a validator checks the NSEC/NSEC3 RRs returned on a name error
+   response, it SHOULD check that the DNAME bit is not set.  If the
+   DNAME bit is set then the DNAME substitution should have been done,
+   but has not.
+
+
+
+
+
+
+
+Rose & Wijngaards       Expires February 11, 2008              [Page 11]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+5.3.2.  Other issues with NSEC3 and DNAME
+
+   NSEC3 records and their signatures are allowed to exist below the
+   owner name of a DNAME RR.  This is because of the nature of NSEC3 RRs
+   in DNSSEC, which creates hashed owner names that exist below the apex
+   name of the zone.  This is an exception to the rule that there MUST
+   NOT be any other RRs under the owner name of a DNAME RR, if the DNAME
+   RR is owned by the zone apex domain name.
+
+   Queries for NSEC3 owner names are redirected as if there were no such
+   NSEC3 present.
+
+   There is no significant extra hashing cost for NSEC3 signed zones
+   when answering queries with DNAME substitution.
+
+5.3.3.  Validators Must Understand DNAME
+
+   Examples of why DNSSEC validators MUST understand DNAME.
+
+5.3.3.1.  DNAME in Bitmap Causes Invalid Name Error
+
+   ;; Header: QR AA DO RCODE=3(NXDOMAIN)
+   ;; Question
+   foo.bar.example.com. IN A
+   ;; Answer
+   bar.example.com. NSEC dub.example.com. A DNAME
+   bar.example.com. RRSIG NSEC [valid signature]
+
+   If this is the response, then only by understanding that the DNAME
+   bit means that foo.bar.example.com needed to have been redirected by
+   the DNAME, the validator can see that it is a BOGUS reply from an
+   attacker that collated existing records from the DNS to create a
+   confusing reply.
+
+   If the DNAME bit had not been set in the NSEC record above then the
+   answer would have validated as a correct name error response.
+
+5.3.3.2.  Valid Name Error Response Involving DNAME in Bitmap
+
+
+
+
+
+
+
+
+
+
+
+
+
+Rose & Wijngaards       Expires February 11, 2008              [Page 12]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+   ;; Header: QR AA DO RCODE=3(NXDOMAIN)
+   ;; Question
+   cee.example.com. IN A
+   ;; Answer
+   bar.example.com. NSEC dub.example.com. A DNAME
+   bar.example.com. RRSIG NSEC [valid signature]
+
+   If the query had been cee.example.com as shown above, then this
+   answer would have been validated, because 'cee' does not get
+   redirected by the DNAME at 'bar'.
+
+5.3.3.3.  Response With Synthesized CNAME
+
+   ;; Header: QR AA DO RCODE=0(NOERROR)
+   ;; Question
+   foo.bar.example.com. IN A
+   ;; Answer
+   bar.example.com. DNAME bar.example.net.
+   bar.example.com. RRSIG DNAME [valid signature]
+   foo.bar.example.com. CNAME foo.bar.example.net.
+
+   The answer shown above has the synthesized CNAME included.  However,
+   the CNAME has no signature, since the server does not sign online (it
+   is a slow operation and exposes the signing key).  So it cannot be
+   trusted.  It could be altered by an attacker to be
+   foo.bar.example.com CNAME bla.bla.example.  The DNAME record does
+   have its signature included, since it does not change for every query
+   name.  The validator must verify the DNAME signature and then
+   recursively resolve further to query for the foo.bar.example.net A
+   record.
+
+6.  IANA Considerations
+
+   The main purpose of this draft is to discuss issues related to the
+   use of DNAME RRs in a DNS zone.  The original document registered the
+   DNAME Resource Record type code 39 (decimal).  IANA should update the
+   DNS resource record registry by adding a pointer to this document for
+   RR type 39.
+
+   This draft requests the second highest bit in the EDNS flags field
+   for the Understand-DNAME (UD) flag.
+
+7.  Security Considerations
+
+   DNAME redirects queries elsewhere, which may impact security based on
+   policy and the security status of the zone with the DNAME and the
+   redirection zone's security status.
+
+
+
+
+Rose & Wijngaards       Expires February 11, 2008              [Page 13]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+   If a validating resolver accepts wildcarded DNAMEs, this creates
+   security issues.  Since the processing of a wildcarded DNAME is non-
+   deterministic and the CNAME that was substituted by the server has no
+   signature, the resolver may choose a different result than what the
+   server meant, and consequently end up at the wrong destination.  Use
+   of wildcarded DNAMEs is discouraged in any case [RFC4592].
+
+   A validating resolver MUST understand DNAME, according to [RFC4034].
+   In Section 5.3.3 examples are given that illustrate this need.  These
+   examples are shown with NSEC records, but similar cases exist for
+   NSEC3.
+
+8.  Acknowledgments
+
+   The authors of this draft would like to acknowledge Matt Larson for
+   beginning this effort to address the issues related to the DNAME RR
+   type.
+
+9.  References
+
+9.1.  Normative References
+
+   [RFC1034]  Mockapetris, P., "Domain names - concepts and facilities",
+              STD 13, RFC 1034, November 1987.
+
+   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
+              Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+   [RFC2136]  Vixie, P., Thomson, S., Rekhter, Y., and J. Bound,
+              "Dynamic Updates in the Domain Name System (DNS UPDATE)",
+              RFC 2136, April 1997.
+
+   [RFC2181]  Elz, R. and R. Bush, "Clarifications to the DNS
+              Specification", RFC 2181, July 1997.
+
+   [RFC2672]  Crawford, M., "Non-Terminal DNS Name Redirection",
+              RFC 2672, August 1999.
+
+   [RFC3597]  Gustafsson, A., "Handling of Unknown DNS Resource Record
+              (RR) Types", RFC 3597, September 2003.
+
+   [RFC4033]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
+              Rose, "DNS Security Introduction and Requirements",
+              RFC 4033, March 2005.
+
+   [RFC4034]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
+              Rose, "Resource Records for the DNS Security Extensions",
+              RFC 4034, March 2005.
+
+
+
+Rose & Wijngaards       Expires February 11, 2008              [Page 14]
+\f
+Internet-Draft              DNAME Redirection                August 2007
+
+
+   [RFC4035]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
+              Rose, "Protocol Modifications for the DNS Security
+              Extensions", RFC 4035, March 2005.
+
+   [RFC4592]  Lewis, E., "The Role of Wildcards in the Domain Name
+              System", RFC 4592, July 2006.
+
+9.2.  Informative References
+
+   [RFC1912]  Barr, D., "Common DNS Operational and Configuration
+              Errors", RFC 1912, February 1996.
+
+   [RFC3363]  Bush, R., Durand, A., Fink, B., Gudmundsson, O., and T.
+              Hain, "Representing Internet Protocol version 6 (IPv6)
+              Addresses in the Domain Name System (DNS)", RFC 3363,
+              August 2002.
+
+   [RFC4294]  Loughney, J., "IPv6 Node Requirements", RFC 4294,
+              April 2006.
+
+Authors' Addresses
+
+   Scott Rose
+   NIST
+   100 Bureau Dr.
+   Gaithersburg, MD  20899
+   USA
+
+   Phone: +1-301-975-8439
+   Fax:   +1-301-975-6238
+   EMail: scottr@nist.gov
+
+
+   Wouter Wijngaards
+   NLnet Labs
+   Kruislaan 419
+   Amsterdam  1098 VA
+   The Netherlands
+
+   Phone: +31-20-888-4551
+   EMail: wouter@nlnetlabs.nl
+
+
+
+
+
+
+
+
+
+
 Rose & Wijngaards       Expires February 11, 2008              [Page 15]
 \f
 Internet-Draft              DNAME Redirection                August 2007