]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
new draft
authorMark Andrews <marka@isc.org>
Thu, 4 Jul 2002 00:30:38 +0000 (00:30 +0000)
committerMark Andrews <marka@isc.org>
Thu, 4 Jul 2002 00:30:38 +0000 (00:30 +0000)
doc/draft/draft-hall-dns-datatypes-00.txt [new file with mode: 0644]

diff --git a/doc/draft/draft-hall-dns-datatypes-00.txt b/doc/draft/draft-hall-dns-datatypes-00.txt
new file mode 100644 (file)
index 0000000..21eef1b
--- /dev/null
@@ -0,0 +1,2036 @@
+
+
+  INTERNET-DRAFT                                             Eric A. Hall 
+  Document: draft-hall-dns-datatypes-00.txt                     June 2002 
+  Expires: December 2002                                                  
+      
+      
+                           Domain Name Data-Types 
+      
+      
+     Status of this Memo 
+      
+     This document is an Internet-Draft and is in full conformance with 
+     all provisions of Section 10 of RFC 2026. 
+      
+     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. 
+      
+      
+  1.      Abstract 
+      
+     This document defines syntax and structural rules for a namespace 
+     of internationalized domain names, and also clarifies the syntax 
+     and structural rules for the existing DNS namespace. Furthermore, 
+     this document defines syntax and structural rules for specific 
+     types of labels and domain names, and also defines usage rules for 
+     specific resource records within the domain name system. This 
+     document specifically does not describe any mechanisms for 
+     interacting with these namespaces, domain names or resource 
+     records, but instead focuses exclusively on the syntax and 
+     structural rules. 
+      
+
+
+
+
+   
+   \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+      
+     Table of Contents 
+      
+     1.     Abstract.................................................1 
+     2.     Introduction.............................................3 
+     3.     Background and Overview..................................3 
+     4.     The Namespaces...........................................7 
+       4.1.   The Class IN Hierarchy.................................7 
+       4.2.   The DNS Namespace......................................9 
+         4.2.1. Length Restrictions in the DNS Namespace.............9 
+         4.2.2. Characters Restrictions in the DNS Namespace........10 
+         4.2.3. The DNS Namespace Escape Syntax.....................11 
+       4.3.   The Internationalized Namespace.......................13 
+         4.3.1. Length Restrictions in the i18n Namespace...........14 
+         4.3.2. Character Restrictions in the i18n Namespace........15 
+     5.     The DNS Data-Types......................................16 
+       5.1.   Syntax Validation.....................................16 
+       5.2.   Defining New Data-Types...............................17 
+       5.3.   The Root Label and Domain Name........................18 
+       5.4.   The Hostname Labels and Domain Names..................19 
+         5.4.1. Legacy Hostnames....................................19 
+         5.4.2. Internationalized Hostnames.........................20 
+       5.5.   The Octet Label and Domain Name.......................21 
+       5.6.   The Mailbox Labels and Domain Names...................22 
+         5.6.1. Legacy Mailboxes....................................23 
+         5.6.2. Internationalized Mailboxes.........................24 
+       5.7.   The Service Locator Labels and Domain Names...........24 
+         5.7.1. Legacy Service Locators.............................24 
+         5.7.2. Internationalized Service Locators..................25 
+     6.     Resource Records and Query Types........................25 
+       6.1.   Resource Records......................................25 
+       6.2.   Query Types...........................................34 
+     7.     Security Considerations.................................35 
+     8.     IANA Considerations.....................................35 
+     9.     References..............................................36 
+     10.    Acknowledgements........................................38 
+     11.    Author's Address........................................39 
+      
+      
+
+
+
+
+
+
+
+
+
+   
+  Hall                  I-D Expires: December 2002             [page 2] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+      
+  2.      Introduction 
+      
+     The IDN working group has been developing mechanisms for 
+     supporting and interacting with internationalized domain names, 
+     although a prerequisite to the completion of any such work is the 
+     description of the internationalized namespace itself. During this 
+     work, it has also been determined that certain clarifications to 
+     the existing DNS namespace are also necessary. 
+      
+     Encodings, protocols and other mechanisms for accessing domain 
+     names and resource records within the internationalized namespace 
+     are purposefully not described in this document. 
+      
+     Discussion of this document and related work items is currently 
+     being held on the "idn@ops.ietf.org" mailing list. To join the 
+     list, send a message to <idn-request@ops.ietf.org> with the single 
+     word "subscribe" in the body of the message. 
+      
+     Subsequent versions of this draft will be brought to DNSEXT for 
+     standards-track development, and will be discussed on the 
+     "namedroppers@ops.ietf.org" mailing list. To join that list, send 
+     a message to <namedroppers-request@ops.ietf.org> with the single 
+     word of "subscribe" in the body of the message. 
+      
+      
+  3.      Background and Overview 
+      
+     The Internet (and the ARPANET before it) has had a formal 
+     namespace of network resources since RFC 608 [RFC608]. Over the 
+     years, however, the syntax rules associated with the global 
+     namespace have been changed, with various updates and 
+     clarifications being provided in RFC 810 [RFC810], RFC 882 
+     [RFC882], RFC 952 [RFC952], RFC 1034 [RFC1034], RFC 1123 [RFC1123] 
+     and RFC 2181 [RFC2181], with each revision expanding upon the 
+     namespace syntax to accommodate a more flexible usage model. 
+      
+     The original namespace of network resources defined in [RFC608] 
+     used a flat HOSTS.TXT database as a simple list of systems and 
+     their network addresses, using a limited subset from the seven-bit 
+     US-ASCII charset [ASCII] for the system names. Essentially, the 
+     database format was the namespace, with all network services using 
+     this one-dimensional namespace for the purpose of specifying 
+     systems by name, regardless of whether these hostnames were used 
+     for intra-protocol services or for subsequent lookup operations. 
+      
+
+   
+  Hall                  I-D Expires: December 2002             [page 3] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     The format of the underlying database (and thus the namespace) was 
+     redefined by [RFC810] to reflect the coexistence of ARPANET and 
+     Internet networks and nodes, redefined again by [RFC952] to allow 
+     for multi-label hostnames, and updated in [RFC1123] to slightly 
+     expand the allowable character repertoire. Throughout these 
+     revisions, the syntax of the namespace was changed somewhat, 
+     although it continued to be one-dimensional in nature, reflecting 
+     the limitations of the underlying HOSTS.TXT database file. 
+      
+     Once the Domain Name System (DNS) specifications were published 
+     (first in [RFC882] and RFC 883 [RFC883], then later in [RFC1034] 
+     and RFC 1035 [RFC1035]), the database of network resources and the 
+     hostname syntax separated into distinct entities. Although DNS 
+     uses an eight-bit syntax internally and allows any of the eight-
+     bit codepoint values to be used for any purposes, most 
+     applications and protocols restrict their usage of the namespace 
+     to well-known data-types which only use subsets of the available 
+     namespace. This has resulted in a distinctly layered namespace, 
+     where applications and protocols use the data-type subsets, while 
+     the DNS itself uses the full range of characters. 
+      
+     For example, [RFC1034] states that "the old rules for HOSTS.TXT 
+     should be followed" for domain names which reference host systems, 
+     and most of the application protocols have followed this advice. 
+     For all practical purposes, this means that the legacy hostname 
+     syntax is implicitly a strong data-type with formal syntax rules, 
+     even though it only represents a subset of the global DNS 
+     namespace. Meanwhile, a variety of protocol-specific data-types 
+     have also been defined for network resources which are not hosts, 
+     and these data-types have also been implemented by applications 
+     which work with those kinds of resources. 
+      
+     In the end, the DNS namespace essentially exists as two separate 
+     layers, with the namespace at large being defined by the 
+     underlying DNS service, but with applications and protocols using 
+     the data-types and syntax rules which reflect their usage. 
+      
+     Moving forward, the IDN working group has developed an 
+     internationalized namespace which uses characters from the 
+     Universal Character Set (UCS) [ISO-10646] (a.k.a. Unicode 
+     [UNICODE])]. Note that the UCS (and thus the namespace) only 
+     defines characters and their logical codepoint values, while 
+     external codecs are required to encode the canonical UCS 
+     characters into sequences which are suitable for specific 
+     environments. As such, the canonical UCS characters cannot be 
+
+
+   
+  Hall                  I-D Expires: December 2002             [page 4] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     exchanged in their raw form, but instead can be only exchanged in 
+     their encoded form. 
+      
+     Furthermore, there are no characters in the UCS character 
+     repertoire for "octet value 0xHH", so the internationalized 
+     namespace cannot directly support the eight-bit values used in the 
+     DNS namespace. For these reasons, the internationalized and DNS 
+     namespaces have to be defined and managed separately, with the 
+     internationalized namespace representing logical UCS characters, 
+     and with the DNS namespace representing raw and uninterpreted 
+     eight-bit values. However, these namespaces can coexist within the 
+     class IN database hierarchy as long as the underlying domain names 
+     are encoded in a compatible and consistent form. At that point, 
+     the only substantive difference between the two namespaces is in 
+     the canonical characters which are used by the presentation-layer 
+     namespaces at large. 
+      
+     Cumulatively, this means that the internationalized namespace 
+     operates at three distinct layers. First of all, applications and 
+     protocols have to choose an internationalized data-type which is 
+     capable of supporting the characters they need for their domain 
+     names, while the protocols also have to choose the encoding 
+     formats they will use for the domain names that they exchange. 
+     Meanwhile, the end-system applications may need to use another 
+     encoding format whenever they map these domain names to the 
+     available lookup service(s). 
+      
+                     |   HOSTS.TXT   |   DNS Names   |     IDNs      | 
+       --------------+---------------+---------------+---------------+ 
+         Application |   database    |   protocol    |   data-type   | 
+        Presentation |    subset     |    subset     |   specific    | 
+                     |               |               |  (UCS range)  | 
+       --------------+---------------+---------------+---------------+ 
+          Protocol   |   database    |   data-type   |   protocol    | 
+          Transfer   |    subset     |   specific    |   encoding    | 
+                     |               | (7- or 8-bit) | (7- or 8-bit) | 
+       --------------+---------------+---------------+---------------+ 
+         Subsequent  |  HOSTS.TXT    |   8-bit DNS   |   8-bit DNS   | 
+          Lookups    |    subset     | or HOSTS.TXT  | or HOSTS.TXT  | 
+                     |               |    subset     |    subset     | 
+       --------------+---------------+---------------+---------------+ 
+      
+       Figure 1: Logical namespace layers and their representations. 
+      
+     The different models which have been described in this section are 
+     illustrated in Figure 1 above. As can be seen, the hostname syntax 
+
+   
+  Hall                  I-D Expires: December 2002             [page 5] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     defined for use with the HOSTS.TXT database essentially provided a 
+     monolithic and one-dimensional namespace for applications to use, 
+     while the DNS namespace provides multiple data-types for 
+     applications and protocols to use, with these data-types 
+     representing logical subsets of the underlying eight-bit 
+     namespace. Finally, the internationalized namespace also uses 
+     logical data-types for the applications and protocols, but also 
+     requires that protocols define encoding formats for the domain 
+     names they use internally, and for the domain names they pass to 
+     the underlying lookup services. 
+      
+     Collectively, there are a variety of different data elements 
+     discussed above which require definitions or clarifications. 
+     Originally, this document was only meant to provide definitions 
+     for the internationalized namespace and its associated data-types, 
+     although several issues with the DNS namespace and data-types have 
+     also been encountered which require clarifications and definitions 
+     of their own. In particular, since the internationalized namespace 
+     is unable to use the eight-bit codepoint values from the DNS 
+     namespace, the legacy hostname data-type must be defined with an 
+     explicit syntax and its usage must be restricted to specific 
+     scenarios in order for those domain names to be accessible from 
+     the internationalized namespace. Subsequently, this requires that 
+     DNS resource records also be redefined to use the data-types which 
+     are appropriate to the data they represent, thereby ensuring that 
+     host resources in the common hierarchy are always accessible to 
+     both namespaces. 
+      
+     On the surface, some of this work may appear to be a reversal of 
+     existing standards, since the DNS specifications and the 
+     clarifications made in [RFC2181] explicitly allow eight-bit 
+     codepoint values to be used with any domain name. In truth, 
+     however, this redefinition is a codification of existing practices 
+     and recommendations. Specifically, this document encourages 
+     applications to define their own data-types and syntax rules when 
+     needed but also requires that the common hostname syntax be 
+     supported in those places where hosts are specifically referenced, 
+     which is essentially a restatement of the [RFC1034] requirements. 
+      
+     The only real difference here is that this document also requires 
+     that resource records be explicitly restricted to use the 
+     appropriate data-types, rather than being allowed to diverge at 
+     will. While this is a reversal of policy as defined in [RFC2181], 
+     this is necessary in order to ensure basic interoperability across 
+     the different namespaces, and is also necessary in order to 
+
+
+   
+  Hall                  I-D Expires: December 2002             [page 6] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     prevent basic interoperability problems from developing due to 
+     fragmentation of the class IN hierarchy. 
+      
+      
+  4.      The Namespaces 
+      
+     Conceptually, the DNS namespace and the internationalized 
+     namespace are separate, in that they allow for different ranges of 
+     characters, with the namespaces containing different identifiers. 
+     However, both of the namespaces reside in the class IN hierarchy 
+     and share a common root in that class, and are effectively the 
+     same namespace when the identifiers have been encoded into a 
+     compatible and consistent form. 
+      
+     Applications and protocols which specifically utilize any of the 
+     data-types defined in this document MUST conform to the syntax 
+     rules associated with the parent namespace for that data-type. For 
+     example, if an application specifically claims to support the 
+     internationalized hostname data-type then that application MUST 
+     conform to the requirements associated with the internationalized 
+     namespace at large, while applications which claim to conform to 
+     the legacy mailbox data-type MUST conform to the requirements of 
+     the DNS namespace. 
+      
+     If a protocol supports some other external namespace (such as LDAP 
+     directories), then the syntax rules for that protocol SHOULD 
+     define specific handling rules which clearly state how that 
+     protocol will use each of the namespaces defined here. 
+      
+      
+  4.1.    The Class IN Hierarchy 
+      
+     The IN class use a hierarchical structure, where each domain name 
+     is represented by a series of labels, and where the entire 
+     sequence of labels represents a globally-unique domain name in the 
+     hierarchy. Essentially, the IN class hierarchy represents the 
+     database portion of the DNS, and therefore represents the storage, 
+     transfer and processing services which are used to construct the 
+     DNS namespace. Note that the namespace syntax (such as length and 
+     character restrictions) is discussed separately in section 4.2. 
+     Also note that alternative classes may have their own structural 
+     rules which are different from those used in the IN class. 
+      
+     When a domain name from the IN class is used in the DNS, the 
+     constituent labels are typically treated as binary sequences (but 
+     not always), with each label being prefaced by a length indicator. 
+
+   
+  Hall                  I-D Expires: December 2002             [page 7] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     The labels are ordered from right-to-left, with the least-specific 
+     label at the right edge of the domain name, and with the most-
+     specific labels at the left edge. The right-most label will have a 
+     length indicator with the value of zero (it is truly a null 
+     label), and represents the root of the class IN hierarchy which is 
+     by definition the least-specific label in the hierarchy. 
+      
+     When a domain name is used for lookups, the entire sequence of 
+     labels act as a lookup key against a globally-distributed 
+     hierarchy of database partitions and their leaf-nodes. Some or all 
+     of the labels will identify a specific database partition in the 
+     hierarchy, while any remaining labels will identify a particular 
+     leaf-node within a partition. As a lookup is processed, the input 
+     domain name is matched against the contents of the current 
+     partition, with the results of this comparison operation either 
+     being a referral to another partition, an answer, or an error. If 
+     a referral is returned, the matching process is restarted at the 
+     referenced partition, with this process repeating until either an 
+     answer or an error is returned. 
+      
+     Domain names from the DNS namespace which are written out in 
+     longhand form are usually written as character sequences, with the 
+     labels typically being separated by a Full-Stop character (0x2E) 
+     from [ASCII]. When used with longhand domain names in the 
+     internationalized namespace, the separator mark is either a 
+     trailing Full-Stop (U+002E), an Ideographic Full-Stop (U+3002), an 
+     Ideographic Full-Width Full-Stop (U+FF0E), or an Ideographic Half-
+     Width Full-Stop (U+FF61) from the UCS. When any of the ideographic 
+     forms are used, they MUST be converted to the traditional Full-
+     Stop character when the domain name labels are normalized, and 
+     MUST NOT be exchanged with other applications or protocols in 
+     their provided form. 
+      
+     Although the separator frequently appears to represent the length 
+     indicators in the domain name system, this is not always true. For 
+     example, domain names which are written out in longhand form do 
+     not typically use a Full-Stop character at the beginning of the 
+     domain name to represent the length indicator from the first 
+     label, nor do they typically provide a trailing Full-Stop 
+     character to represent the root of the hierarchy. 
+      
+     Outside of the domain name system, domain names are typically 
+     treated as simple identifiers, with no database context being 
+     implied. Humans normally treat domain names as simple identifiers 
+     of named network resources, without concern for the leaf-node or 
+     partitions which may be referenced. Meanwhile, most applications 
+
+   
+  Hall                  I-D Expires: December 2002             [page 8] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     and protocols also treat domain names as simple identifiers, 
+     although many of them apply syntactical analysis to the domain 
+     name before performing any additional processing (even in these 
+     situations, however, the domain name will not normally be analyzed 
+     for database context). 
+      
+     Note that a one-to-one match between labels, partitions and leaf-
+     nodes is neither required nor implied. Multiple labels may be used 
+     to refer to a partition or a leaf-node, as desired. In most cases, 
+     the specific database context of a domain name cannot be 
+     determined without querying DNS directly. 
+      
+      
+  4.2.    The DNS Namespace 
+      
+     These rules represent the allowable syntax of all domain names 
+     within the IN class hierarchy as defined by [RFC1034] and 
+     [RFC1035]. Alternative classes may define their own namespaces and 
+     rules. Subsets of these rules are defined for specific labels and 
+     domain names in section 5. The rules provided in this section 
+     specifically apply to the DNS namespace at large, and do not 
+     define any formal data-types. 
+      
+      
+  4.2.1.  Length Restrictions in the DNS Namespace 
+      
+     A label from the DNS namespace is restricted to a minimum of one 
+     octet and a maximum of 63 octets, inclusive. 
+      
+     A domain name from the DNS namespace is restricted to a minimum of 
+     one octet and a maximum of 255 octets, inclusive. Any number of 
+     labels may be provided in a domain name, but the maximum length 
+     restriction MUST NOT be exceeded. 
+      
+     Note that many delegation bodies have defined their own minimum 
+     length rules for their zones. For example, the historic generic 
+     top-level domains (such as com, net and org) require a minimum of 
+     two characters for all immediate delegations, while some of the 
+     newer generic TLDs have three- and four-character minimums. Since 
+     these rules only affect the delegations within those zones (and 
+     not the subordinate delegations from the child zones), this usage 
+     is not in conflict with any of the other rules defined in this 
+     document, and is expressly allowed. 
+      
+     Whenever a domain name is written in longhand form, it SHOULD be 
+     restricted to a maximum length which allows a direct conversion to 
+
+   
+  Hall                  I-D Expires: December 2002             [page 9] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     the DNS format. In particular, a longhand domain name SHOULD allow 
+     a length indicator to be added to the first label in the DNS 
+     domain name, and SHOULD allow a length indicator to be added to 
+     the end of the domain name (representing the root domain), if 
+     necessary. In the common case, a longhand domain name will only 
+     allow for 253 octets of data so that it can be directly converted 
+     to the DNS format. 
+      
+     If a longhand domain name uses the escape syntax described in 
+     section 4.2.3, the allowable length of the longhand domain name 
+     MAY be extended to accommodate the escape sequence, since a multi-
+     byte escape sequence will generally collapse to a single octet in 
+     the DNS message. 
+      
+     Applications and protocols which need to specify the root domain 
+     explicitly MUST allow a single Full-Stop character to be specified 
+     in the longhand domain name for this purpose. Other application- 
+     or protocol-specific syntaxes MAY also be supported for this 
+     purpose, if necessary. Note that this usage is not required to be 
+     supported unless the application needs to explicitly reference the 
+     root domain for some purpose, but since the root domain is not 
+     addressable as a host system, this is not a common scenario. 
+      
+      
+  4.2.2.  Characters Restrictions in the DNS Namespace 
+      
+     The lower seven-bit range of values (0x00 through 0x7F) from the 
+     DNS namespace MUST be interpreted as characters from [ASCII]. 
+      
+     The eight-bit range of values (0x80 through 0xFF) are defined in 
+     [RFC1034] as opaque octets, with no default character assignments. 
+     Therefore, eight-bit values from the DNS namespace MUST NOT be 
+     interpreted as any specific charset, characters or encoding, and 
+     SHOULD NOT be rendered as such unless the protocol in use has 
+     defined a specific data-type which explicitly states otherwise. 
+      
+     When a domain name from the DNS namespace is stored, transferred 
+     or compared, the capitalization of the [ASCII] characters in that 
+     domain name MUST be preserved as they were provided to the current 
+     operation. Secondarily, whenever two domain names from the DNS 
+     namespace are compared, the [ASCII] characters in the domain names 
+     MUST be treated as case-neutral for the purposes of comparison. 
+      
+     Note that these rules combine such that the capitalization of the 
+     input domain name will be preserved across a search operation. For 
+     example, the search input of "A.example.COM" MUST match the stored 
+
+   
+  Hall                  I-D Expires: December 2002            [page 10] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     domain name of "a.EXAMPLE.com", and the capitalization of the 
+     input domain name MUST be used for the resulting output. However, 
+     if the queried domain name referenced "HOST.c.EXAMPLE.net", that 
+     domain name MUST be provided in its original capitalization. 
+      
+     In those scenarios where the input and output domain names are 
+     different but they exist in the same branch of the class IN 
+     hierarchy, the secondary references to the common domains MUST 
+     inherit the capitalization of the input domain name. For example, 
+     if the search input of "A.example.COM" matches with 
+     "a.EXAMPLE.com" but that domain name only exists as an alias for 
+     the domain name of "HOST.b.EXAMPLE.com", then the output domain 
+     name MUST be provided as "HOST.b.example.COM", with the 
+     capitalization of the input domain name being used to construct 
+     the overlapping domain names in the output. 
+      
+     These rules guarantee that the output from the compression 
+     algorithm defined in [RFC1035] is always valid. Unless a protocol 
+     specifically states otherwise, these rules MUST be followed for 
+     all applications and protocols which use domain names and labels 
+     from the DNS namespace as specific data. 
+      
+      
+  4.2.3.  The DNS Namespace Escape Syntax 
+      
+     Although DNS uses raw eight-bit codepoint values, less than half 
+     of the codepoint values have defined character equivalents from 
+     [ASCII] which can be rendered, which means that most of the 
+     codepoint values cannot be written in a longhand domain name which 
+     supports those values. 
+      
+     For example, the octet label data-type supports 256 possible 
+     codepoint values (0x00 through 0xFF), while the mailbox label 
+     data-type supports all 128 of the seven-bit character codes 
+     defined in [ASCII] (0x00 through 0x7F), but only the printable 
+     subset of characters from [ASCII] have defined character 
+     representations (0x21 through 0x7E). As such, longhand domain 
+     names which use these data-types are generally restricted to the 
+     printable subset. 
+      
+     Furthermore, some of these domain names make use of characters 
+     which are "confusing" to applications and/or their resolvers. For 
+     example, many email addresses make use of the Full-Stop character 
+     within the local-part element, although this character can easily 
+     be misinterpreted as a label separator rather than an embedded 
+     Full-Stop character. 
+
+   
+  Hall                  I-D Expires: December 2002            [page 11] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+      
+     [RFC1035] defined a syntax for escaping these characters within 
+     the zone database, but it does not require (nor imply) that this 
+     mechanism should be supported in other applications, with the 
+     result being that most of these applications do not adequately 
+     support the necessary syntax. This document corrects this 
+     shortcoming by requiring that any application which supports the 
+     octet label or mailbox label data-types MUST allow longhand domain 
+     names to use the escaping syntax defined herein. 
+      
+     Note that these syntax rules only apply to the octet label and 
+     mailbox label data-types. The remaining data-types have tighter 
+     character ranges, and do not contain characters which require 
+     escaping. Furthermore, applications MUST NOT allow these other 
+     data-types to use the escaping syntax whatsoever, as this could 
+     result in unexpected characters being inserted into the label or 
+     domain name, thereby triggering unexpected failures in other 
+     applications or systems. 
+      
+     The escape syntax uses the Reverse-Solidus (0x5C) character as an 
+     escape flag, with this flag preceding a printable [ASCII] 
+     character or a three-digit decimal value for a specific codepoint 
+     value. For example, if a label contains an embedded Full-Stop 
+     character, that character may be escaped as either "\." or "\046" 
+     (where "46" is the decimal value of the Full-Stop character's 
+     codepoint value from [ASCII]). 
+      
+     This escape syntax MUST be used to encapsulate Full-Stop (0x2E), 
+     Reverse-Solidus (0x5C), Double-Quote (0x22), a non-printing 
+     character from [ASCII] (0x00 through 0x20, or 0x7F) or any of the 
+     eight-bit codepoint values (0x80 through 0xFF) whenever one of 
+     these domain names is written in longhand form. Protocols which 
+     exchange the octet or mailbox data-types as textual data MUST 
+     support the use of this escaping syntax within that data. Other 
+     application- or protocol-specific syntaxes MAY also be supported 
+     for this purpose, if necessary. 
+      
+     However, DNS messages MUST NOT contain the escape sequences, and 
+     MUST always use the raw octet value of the escaped character. As 
+     such, the escape syntax MUST be interpreted by an application or a 
+     resolver (depending on the resolver's capabilities) before these 
+     characters are passed into DNS. 
+      
+
+
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 12] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+      
+  4.3.    The Internationalized Namespace 
+      
+     These rules represent the allowable syntax of all domain names 
+     within the internationalized IN class namespace. Alternative 
+     classes may define their own namespaces and rules. Subsets of 
+     these rules are defined for specific labels and domain names in 
+     section 5. Conversely, the rules provided in this section apply to 
+     the internationalized namespace at large, and do not define any 
+     formal data-types. 
+      
+     Note that the internationalized namespace is a logical namespace, 
+     and does not exist in the same way that the DNS namespace exists. 
+     Instead of being a direct mapping to the underlying database, the 
+     internationalized namespace is defined as a range of UCS character 
+     codes which may be accessed or represented with any of several 
+     different encoding mechanisms. 
+      
+     Mechanisms which have been discussed for this purpose include 
+     codecs that convert the UCS character codes into seven-bit [ASCII] 
+     sequences compatible with the legacy hostname syntax, UCS transfer 
+     encodings such as UTF-8, and legacy charsets which can be mapped 
+     to the UCS repertoire. Any of these mechanisms (or any others) can 
+     be used to represent, store, transfer and compare domain names in 
+     the internationalized namespace, as is necessary for the 
+     application or protocol at hand. 
+      
+     For example, an internationalized protocol may use UTF-8 domain 
+     names as protocol data or arguments, although it may be necessary 
+     to convert a domain name into a hostname-compatible encoding 
+     whenever a lookup operation is performed. In this scenario, the 
+     logical internationalized namespace will be accessed through two 
+     different mechanisms, although the canonical domain name will 
+     still be represented as the UCS characters. Similarly, conversion 
+     between two or more access mechanisms will likely require an 
+     intermediate conversion to UCS first, and in this regard, the 
+     canonical UCS characters will represent the logical namespace. 
+      
+     Note that this document does not define or describe any codecs or 
+     namespace-access mechanisms. However, these different mechanisms 
+     have affected the structure and syntax rules of the 
+     internationalized namespace at large. 
+      
+
+
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 13] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+      
+  4.3.1.  Length Restrictions in the i18n Namespace 
+      
+     For the purposes of defining boundary conditions, a label in the 
+     internationalized namespace is restricted to a minimum of one UCS 
+     character and a maximum of 63 UCS characters, while a domain name 
+     in the internationalized namespace is restricted to a maximum of 
+     255 UCS characters, inclusive. Note that this rule specifically 
+     refers to the canonical UCS characters, rather than any encoded 
+     form. Encoding will often result in labels and domain names with a 
+     fewer or greater number of octets, depending on the encoding 
+     algorithm in use. For example, an application which uses UCS-4 to 
+     represent internationalized domain names will require 32 bits for 
+     each UCS character, while an application which uses UTF-8 can 
+     require up to 48 bits for each character. 
+      
+     The canonical UCS characters will frequently require conversion 
+     into a transfer encoding which will be subject to its own length 
+     requirements. For example, the ASCII-compatible encoding mechanism 
+     defined in [PUNYCODE] and [IDNA] is subject to the length 
+     restrictions inherent in the DNS namespace. Although all encodings 
+     have their own requirements, [IDNA] is the only encoding which is 
+     known to have hard limits beyond its control. As such, labels in 
+     the internationalized namespace MUST be restricted to lengths 
+     which can be encoded in their [IDNA] encoded form, with the 
+     resulting sequence being limited to the DNS namespace restrictions 
+     defined in section 4.2.1. This rule MUST be enforced regardless of 
+     any other codecs or access mechanisms which may be available that 
+     offer larger sizes. 
+      
+     These rules combine so that an application can restrict the input 
+     of a label or domain name (such as in a form) to a certain number 
+     of characters, but once the internationalized domain name has been 
+     provided and normalized into its canonical form, any subsequent 
+     verification of that domain name MUST ensure that the [IDNA] 
+     encoded form of that domain name will comply with the DNS 
+     namespace limits, which is a maximum of 63 octets for a label, and 
+     255 octets for a domain name. 
+      
+     As with the DNS namespace, domain names written in longhand form 
+     MUST leave room for any omitted length indicators when these 
+     boundary conditions are tested. In particular, this includes the 
+     length indicator at the beginning of the first label and the 
+     length indicator at the end of the domain name, both of which are 
+     frequently omitted from longhand domain names. 
+      
+
+   
+  Hall                  I-D Expires: December 2002            [page 14] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+      
+  4.3.2.  Character Restrictions in the i18n Namespace 
+      
+     The logical internationalized namespace uses the entire UCS, 
+     including character codes which are currently unassigned. 
+     Currently the UCS occupies a 21-bit range of character code 
+     values, containing tens of thousands of assigned characters, and 
+     hundreds of thousands of unassigned characters, although this 
+     repertoire is expected to grow in size over time. 
+      
+     Internationalized label and domain name data-types MUST declare 
+     their own specific ranges of supportable UCS characters, and MUST 
+     also define any normalization, case-conversion, and any other 
+     transformations which are needed for that data-type. The 
+     guidelines and rules for the development of these 
+     internationalized domain name data-types are provided in 
+     STRINGPREP [STRINGPREP]. 
+      
+     In the normal scenario, the data-type rules will result in labels 
+     and domain names containing case-specific, strongly-normalized UCS 
+     characters. As a result, the internationalized namespace is case-
+     specific, meaning that all storage, transfer, comparison and 
+     conversion operations MUST always preserve the capitalization and 
+     normalization of the data as it is processed. 
+      
+     Since the domain name provided to the original application can be 
+     significantly different from the domain name which is subsequently 
+     passed to the underlying protocol, the original domain name MUST 
+     NOT be provided to any other applications or protocols if at all 
+     possible. Note that certain situations are unavoidable, such as a 
+     user copying the hostname from a manually-entered URL into an 
+     email message, where the original sequence will not reflect any 
+     subsequent normalization. However, this type of bleed-over MUST 
+     NOT occur if it can be presented by an application with simple 
+     measures. 
+      
+     If a label ONLY contains character codes from the seven-bit 
+     [ASCII] range of characters (U+0000 through U+007F), then that 
+     label MUST be treated as a legacy label from the DNS namespace for 
+     the purposes of comparison. In other words, labels which only 
+     contain seven-bit [ASCII] MUST be compared as case-neutral 
+     sequences, while all other labels MUST be compared as case-exact 
+     sequences. In all situations, the output capitalization MUST 
+     reflect the capitalization of the input domain name (since these 
+     labels will have been capitalized and normalized according to 
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 15] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     their domain name syntax rules, the answer data will also be 
+     provided in the appropriate form if this rule is always followed). 
+      
+      
+  5.      The DNS Data-Types 
+      
+     As part of the efforts towards strongly defining strict data-
+     types, this document defines syntax rules for different kinds of 
+     domain names and labels. Some of the domain name data-types will 
+     only contain labels of a single data-type, while some domain name 
+     data-types may contain multiple label data-types. For example, a 
+     legacy hostname domain name can only contain legacy hostname 
+     labels, while an internationalized service locator domain name can 
+     contain a mix of different label types. 
+      
+     When one of the internationalized data-types is used with an 
+     internationalized protocol, one or more encoding syntaxes MUST be 
+     specified by the underlying protocol before the data can be 
+     exchanged in a meaningful form. Note that RFC 2277 [RFC2277] 
+     states that the preferred encoding for internationalized protocol 
+     data is UTF-8. 
+      
+     When one of the internationalized data-types is used with a legacy 
+     protocol which only has explicit support for [ASCII], the 
+     internationalized data-type MUST be encoded into an ASCII-
+     compatible form before the data can exchanged. The [IDNA] 
+     specification describes one such mechanism, and is the preferred 
+     encoding form whenever legacy protocols are required to be used. 
+      
+      
+  5.1.    Syntax Validation 
+      
+     Each label in a domain name has specific syntax rules which 
+     reflect on the data provided in that label. Therefore, 
+     applications which validate domain names against a particular 
+     data-type SHOULD apply the appropriate syntax rules to each label, 
+     as well as validating the domain name in its entirety. 
+      
+     While it may appear that this model is overtly ambiguous, the 
+     process of determining the appropriate syntax can be fairly simple 
+     if the data-types are consistently enforced. For example, most of 
+     the domain name data-types use relatively simple sequences of 
+     label data-types, and most applications only support a single 
+     domain name data-type for any particular protocol usage. Thus, it 
+     is a simple matter to determine if the domain name is valid by 
+     comparing it to the syntax rules for the expected usage. 
+
+   
+  Hall                  I-D Expires: December 2002            [page 16] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+      
+     In those cases where the application or protocol allows multiple 
+     kinds of domain name to be used, it is still possible to apply 
+     some fairly simple lexical analysis to determine the domain name 
+     which is in use (a service location label is different from a 
+     hostname label, while mailbox labels and octet labels may contain 
+     specific escape sequences, and so forth). In those cases where 
+     multiple data-types are supported and the domain name data-type 
+     cannot be determined (this may happen with an application such as 
+     "dig" or "nslookup", for example), then the application MAY choose 
+     to simply validate the domain name against the relevant namespace 
+     and leave it at that. However, this level of detachment SHOULD NOT 
+     be the default behavior; applications SHOULD attempt to validate 
+     the labels and domain names to the best of their ability using the 
+     available syntax rules. 
+      
+     Specifically, the syntax of a label SHOULD be validated whenever a 
+     resource record is added to the replication master for a zone, or 
+     whenever an application first creates a domain name for use within 
+     that application or its associated network service. These rules 
+     are specifically designed to avoid garbage-in, garbage-out 
+     syndrome. Subsequent applications and protocol end-points MAY 
+     perform syntax validation of any domain names, and specific 
+     application protocols MAY require verification by the application 
+     end-points, although this will not be required if the 
+     participating end-points have performed the necessary validation. 
+      
+      
+  5.2.    Defining New Data-Types 
+      
+     Application protocols MAY define any new label or domain name 
+     data-types which are needed, although these data-types MUST 
+     conform to the rules which govern the controlling namespace, as 
+     described in section 4. 
+      
+     Application protocols SHOULD reuse one of the hostname syntaxes if 
+     at all possible, since these syntaxes have the widest deployment, 
+     and this will facilitate faster adoption of the protocol. 
+      
+     If a protocol needs to support a broader syntax for uses other 
+     than referring to hostnames in the DNS or internationalized 
+     namespaces, then the protocol SHOULD indicate which operations or 
+     external syntaxes require specific exceptions, and document those 
+     exception syntaxes separately if possible. For example, if a 
+     protocol is capable of using DNS and LDAP equally, this SHOULD be 
+     stated explicitly when the protocol-specific data-types are 
+
+   
+  Hall                  I-D Expires: December 2002            [page 17] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     defined, and a subset data-type which applies specifically to DNS 
+     lookups SHOULD also be defined. 
+      
+      
+  5.3.    The Root Label and Domain Name 
+      
+     Whenever the DNS message format is used to transport a domain 
+     name, [RFC1034] requires the root domain to be specified. However, 
+     most applications and protocols do not require or even allow the 
+     root domain to be specified as part of the domain names they use 
+     internally. In these cases, the applications and protocols will 
+     typically leave it up to the local resolver to fully-qualify the 
+     domain name as provided, although this process can fail and cause 
+     unexpected domain name to be used (see RFC 1535 [RFC1535] for an 
+     example and a discussion of this problem). 
+      
+     There are two separate considerations here. First is that an 
+     application may need to fully-qualify the domain name in order to 
+     prevent misinterpretation. Secondarily, some applications and 
+     protocols require that the root domain be provided as the complete 
+     domain name, or as part of a domain name (such as a service 
+     locator domain name associated with the root zone). The root label 
+     is defined to suit both of those purposes, where this is needed. 
+     It can be used to explicitly terminate a fully-qualified domain 
+     name, and it can be used to explicitly represent the root domain 
+     as a standalone entity. 
+      
+     In a multi-label domain name, the root label is represented by a 
+     trailing separator mark. The root label MAY be used at the end of 
+     any domain name, regardless of its data-type.  
+      
+     In those cases where the root label is provided by itself, the 
+     separator mark will specifically represent the root domain of the 
+     class IN hierarchy. Note that the root domain is not currently 
+     defined as a host (it does not have an IP address), so it cannot 
+     currently be used as a connection identifier. 
+      
+     Application protocols SHOULD support the use of a standalone root 
+     label as an explicit domain name, although this is specifically 
+     not required. Where a protocol defines this usage, it SHOULD NOT 
+     be a mandatory requirement for all implementations. Other 
+     application- or protocol-specific syntaxes MAY also be supported 
+     for this purpose, if necessary. Applications MUST follow the 
+     protocol-specific guidelines on this subject. 
+      
+      
+
+   
+  Hall                  I-D Expires: December 2002            [page 18] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+  5.4.    The Hostname Labels and Domain Names 
+      
+     Hostnames identify specific systems and zone partitions by name, 
+     and are the most widely used of all the data-types. Hostnames are 
+     used as the owner name and data values of almost all the common 
+     resource records, are used as the connection identifier for almost 
+     all protocol-specific syntaxes and generalized applications, and 
+     are used for storing system names in local hosts databases, among 
+     other purposes. 
+      
+     Since hostnames have such a broad number of uses and potential 
+     storage formats, they also have the strictest syntax rules. A 
+     hostname is not valid unless each label and the entire domain 
+     validate successfully. 
+      
+      
+  5.4.1.  Legacy Hostnames 
+      
+     A legacy hostname domain name is a sequence of one or more legacy 
+     hostname labels, with an optional root label at the end. 
+     Applications which use legacy "hostnames" as specific data-types 
+     MUST validate the hostname domain name and label sequences 
+     separately and cumulatively. 
+      
+     Note that the syntax for legacy hostnames has undergone many 
+     subtle and varied shifts over the years, with multiple updates and 
+     revisions allowing for slightly different syntaxes. This document 
+     unifies these definitions and clarifies some ambiguities, and is 
+     to be considered the definitive reference on the definition of a 
+     valid legacy hostname label and domain name. 
+      
+     A legacy hostname label may only contain the Hyphen (0x2D), the 
+     numerals "0" through "9" (0x30 through 0x39), the uppercase 
+     letters "A" through "Z" (0x41 through 0x5A), and the lowercase 
+     letters "a" through "z" (0x61 through 0x7A) from [ASCII]. The 
+     first and last character in a hostname label MUST NOT be a Hyphen 
+     character, but any other character sequence is valid within the 
+     confines of a hostname label. 
+      
+     A legacy hostname domain name is a sequence of one or more legacy 
+     hostname labels. However, at least one of the labels MUST contain 
+     at least one alphabetic character (a domain name which consists 
+     entirely of numeric values has the potential to be confused with 
+     an IP address, and this rule prevents this ambiguity). A legacy 
+     hostname domain name MAY contain an optional root label at the end 
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 19] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     of the domain name, although this usage MUST be explicitly allowed 
+     by the application protocol in use. 
+      
+     With the exception of the optional root label at the end of a 
+     domain name, a legacy hostname domain name MUST NOT contain any 
+     other label data-types. If any of the labels do not validate as 
+     legacy hostname labels, or if the entire domain name does not 
+     validate as a legacy hostname domain name, then the entire domain 
+     name MUST be rejected for use as a legacy hostname domain name. 
+      
+     The length rules associated with the DNS namespace are 
+     specifically adopted as the length rules for the legacy hostname 
+     label and domain name data-types. This definition updates the 
+     definitions provided in [RFC952] and [RFC1123], which had set 
+     these lengths at different values. As such, any system which 
+     implements a HOSTS.TXT database (or a local equivalent, such as 
+     the "/etc/hosts" file on traditional UNIX systems) MUST conform to 
+     the length restrictions defined in section 4.2.1. 
+      
+     The syntax rules defined above are somewhat tighter than the 
+     syntax allowed in [RFC2181]. However, no standards-track network 
+     services have defined hostname syntax rules to use the allowable 
+     syntax from [RFC2181]. Instead, almost all application protocols 
+     and network services use stricter rules which are highly similar 
+     to those defined here. 
+      
+     Applications and protocols which need to support internationalized 
+     hostnames MUST use the syntax defined in section 5.4.2. 
+      
+     Applications and protocols which need to support eight-bit octets 
+     in their domain names MUST either use the octet label syntax 
+     described in section 5.5 or define a new syntax specifically for 
+     use with that network service. In either event, new resource 
+     records are also likely to be required. 
+      
+      
+  5.4.2.  Internationalized Hostnames 
+      
+     An internationalized hostname domain name is a sequence of one or 
+     more internationalized hostname labels, with an optional root 
+     label at the end. Applications MUST validate the domain name and 
+     label sequences separately and cumulatively. 
+      
+     The syntax for internationalized hostname labels is defined in 
+     NAMEPREP [NAMEPREP], while this document defines the syntax for 
+     internationalized hostname domain names. 
+
+   
+  Hall                  I-D Expires: December 2002            [page 20] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+      
+     The international hostname label rules defined in NAMEPREP require 
+     that a label be lowercased and normalized with Unicode 
+     normalization form KC prior to use. Due to the massive number of 
+     characters which are available for use with internationalized 
+     hostname labels, this document cannot summarize the entire set. 
+      
+     Note that an internationalized hostname label which only contains 
+     seven-bit codepoint values from the [ASCII] range MUST also 
+     validate as a legacy hostname label, using the rules described in 
+     section 5.4.1. This is necessary in order for a label to be 
+     reusable in both namespaces. 
+      
+     An internationalized hostname domain name is a sequence of 
+     internationalized hostname labels, with the additional requirement 
+     that at least one of the labels MUST contain a non-numeric 
+     character. An internationalized hostname domain name MAY contain 
+     an optional root label at the end of the domain name, although 
+     this usage MUST be explicitly allowed by the application protocol 
+     in use. 
+      
+     With the exception of the optional root label at the end of a 
+     domain name, an internationalized hostname domain name MUST NOT 
+     contain any other label data-types. If any of the labels do not 
+     validate as internationalized hostname labels, or if the entire 
+     domain name does not validate as an internationalized hostname 
+     domain name, then the entire domain name MUST be rejected for use 
+     as an internationalized hostname domain name. 
+      
+      
+  5.5.    The Octet Label and Domain Name 
+      
+     The DNS namespace allows labels to contain eight-bit codepoint 
+     values, although no standardized representation or interpretation 
+     of these values is defined. While [RFC2181] allows these codepoint 
+     values to be used with any domain name or label, this document 
+     restricts the usage of these values to the octet label data-type. 
+      
+     A octet label essentially provides a direct pass-thru mapping to 
+     the underlying DNS namespace. No additional restrictions or 
+     interpretations are defined. Multiple octet labels may be used in 
+     conjunction with multiple legacy hostname labels (with an optional 
+     root label at the end of the end of the domain name) to form an 
+     octet domain name. 
+      
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 21] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     The UCS character repertoire does not provide any mechanisms for 
+     specifying raw octet values, but instead only identifies 
+     characters and their codepoint values. As such, eight-bit 
+     codepoint values are not accessible to applications which use the 
+     internationalized namespace. Instead, those applications will be 
+     required to use the DNS namespace directly whenever an octet 
+     domain name contains eight-bit codes. However, if the domain name 
+     only contains seven-bit characters, then that label can be 
+     accessed from the internationalized namespace. 
+      
+     For this reason, applications and protocols SHOULD give preference 
+     to the range of characters defined for legacy hostname labels, as 
+     this allows the domain name to be accessed from the largest number 
+     of sources. However, applications MUST allow the full eight-bit 
+     range of values to be specified if the octet domain name data-type 
+     is required for the protocol at hand, with the caveat that these 
+     labels will be inaccessible from the internationalized namespace. 
+      
+     If a octet label contains a Full-Stop (0x2E), Reverse-Solidus 
+     (0x5C), Double-Quote (0x22), a non-printing character from [ASCII] 
+     (0x00 through 0x20, or 0x7F) or any of the eight-bit codepoint 
+     values (0x80 through 0xFF), then those characters MUST be escaped 
+     (using the syntax rules provided in section 4.2.3) whenever the 
+     domain name is written in longhand form. 
+      
+     Any number of octet labels may be assigned to a leaf-node in the 
+     DNS namespace. However, zone delegations use NS and SOA resource 
+     records which use hostname labels, so a fully-qualified domain 
+     name outside of the root zone MUST contain at least one legacy 
+     hostname label. Since this usage allows for a variable number of 
+     octet labels, and since applications outside of the domain name 
+     system cannot determine the database context of any given label, 
+     this can result in some ambiguity. However, no standards-track 
+     network services outside of the DNS currently require the use of 
+     octets, so this is fairly narrow area. 
+      
+      
+  5.6.    The Mailbox Labels and Domain Names 
+      
+     A variety of resource records make use of mailbox label and domain 
+     name data-types in order to encapsulate email addresses into the 
+     domain name system (this model allows email addresses to use the 
+     DNS compression service). Although there are no known application 
+     protocols outside of DNS which use this data-type, the label type 
+     still has to be defined for use with DNS, and is therefore defined 
+     with its own syntax in this document. 
+
+   
+  Hall                  I-D Expires: December 2002            [page 22] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+      
+      
+  5.6.1.  Legacy Mailboxes 
+      
+     The legacy mailbox domain name consists of a single legacy mailbox 
+     label followed by one or more legacy hostname labels. In this 
+     model, the legacy mailbox label represents the local-part element 
+     from an RFC 2822 [RFC2822] email address, while the legacy 
+     hostname labels represent the mail domain element from an 
+     [RFC2822] email address. When a legacy mailbox domain name is 
+     expanded and mapped to an [RFC2822] email address, the legacy 
+     mailbox label goes on the left of the "@" separator, while the 
+     hostname labels go on the right of the "@" separator. 
+      
+     The local-part element is defined in [RFC2822] as being either a 
+     dot-atom or a quoted-string. The dot-atom syntax allows for a 
+     relatively complete set of [ASCII] punctuation, numbers and 
+     alphabetic characters, while the quoted-string syntax allows for 
+     nearly all of the other characters from [ASCII] (certain control 
+     characters are globally prohibited in [RFC2822], and these apply 
+     to the quoted-string syntax as well). 
+      
+     In order to accommodate as many email addresses as possible, these 
+     characters are defined as valid for a legacy mailbox label as 
+     well. However, if a legacy mailbox label contains a Full-Stop 
+     (0x2E), Reverse-Solidus (0x5C), Double-Quote (0x22), or any non-
+     printing character from [ASCII] (0x00 through 0x20, or 0x7F), then 
+     those characters MUST be escaped using the syntax rules provided 
+     in section 4.2.3 whenever the domain name is written out in 
+     longhand form. 
+      
+     Note that [RFC2821] defines the maximum length of a local-part 
+     element as 64 characters, although the maximum length of a legacy 
+     label is 63 characters. As a result, not all local-parts can be 
+     supported by the legacy mailbox label. 
+      
+     Also note that [RFC2822] also defines the syntax of a "mail 
+     domain" as the dot-atom data-type, which allows for a larger 
+     subset of [ASCII] characters than the legacy hostname data-type 
+     allows. However, [RFC2821] also requires that mail domains be 
+     queried through DNS with MX and A resource records, both of which 
+     specify host systems. As such, the dot-atom syntax has never been 
+     usable with the legacy hostname data-type for the purpose of mail 
+     routing. The requirements for stronger data-types and syntax 
+     checks defined in this document do not affect this fundamental 
+     conflict other than to highlight its presence. 
+
+   
+  Hall                  I-D Expires: December 2002            [page 23] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+      
+      
+  5.6.2.  Internationalized Mailboxes 
+      
+     Legacy mailbox labels MAY be used with internationalized hostname 
+     labels to form an internationalized mailbox domain name. In this 
+     model, the legacy mailbox label represents a legacy local-part, 
+     while the internationalized hostname labels represent an 
+     international mail domain. 
+      
+     However, note that an internationalized local-part syntax has not 
+     yet been defined, and until such a time, an internationalized 
+     mailbox label syntax cannot be defined. 
+      
+      
+  5.7.    The Service Locator Labels and Domain Names 
+      
+     The service locator label and domain name syntax is used to 
+     provide service-specific redirection functions for a particular 
+     domain name. This usage is specific to DNS, so it does not have 
+     general applicability outside of the domain name system, although 
+     the label type still has to be supported, and is therefore defined 
+     with its own syntax in this document. 
+      
+      
+  5.7.1.  Legacy Service Locators 
+      
+     The service locator label and domain name syntax is defined in RFC 
+     2782 [RFC2782]. In summary, a legacy service locator domain name 
+     consists of two legacy service locator labels which uniquely 
+     identify a specific network service, with the remainder of the 
+     domain name containing hostname and/or root labels. 
+      
+     The service locator labels are identical to the legacy hostname 
+     label syntax, with the additional requirement that a service 
+     locator label MUST begin with an Underscore (0x5F) character (this 
+     usage prevents the SRV resource record's owner domain name from 
+     colliding with other owner domain names). In this model, a 
+     registered network service is assigned a _service._proto label 
+     sequence, with this sequence being appended to the left of a 
+     legacy hostname domain name. Application clients can then issue 
+     queries for the fully-qualified service locator domain name, with 
+     the resulting answer data providing indicating which hosts offer 
+     that service on behalf of the queried domain name. 
+      
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 24] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     Note that zone delegation requires the use of legacy hostname 
+     labels, so a fully-qualified domain name for an SRV resource 
+     record associated with a domain name outside of the root zone MUST 
+     contain at least one legacy hostname label. However, an 
+     application can also query for an SRV resource record associated 
+     with the root domain itself, and in that scenario, the fully-
+     qualified domain name would be "_service._proto.", with the 
+     trailing separator mark explicitly representing the root domain. 
+      
+      
+  5.7.2.  Internationalized Service Locators 
+      
+     Service locator labels MAY be used with internationalized hostname 
+     labels. In this model, the legacy service locator labels represent 
+     a known service associated with an international domain. 
+      
+     Note that [RFC2277] says that protocol identifiers do not need to 
+     be internationalized. As such, there is no requirement foreseen to 
+     allow non-ASCII characters in the service locator label syntax. 
+      
+      
+  6.      Resource Records and Query Types 
+      
+     This section describes the domain name data-types in use with all 
+     of the registered resource records and query-types. These 
+     definitions include the valid owner domain names for a particular 
+     kind of resource record, and also include the valid domain names 
+     for the resource record data sections. Note that each of these 
+     rules only use domain name data-types, while those data-types are 
+     defined by constituent sets of label data-types. 
+      
+      
+  6.1.    Resource Records 
+      
+     Resource records may be provided in any section of a DNS message. 
+     When they are provided in the question section as the query 
+     question, they only have owner names. When they are provided in 
+     any other section, they have owner names and resource record data. 
+     All resource records have owner name syntax rules, while those 
+     resource records which also provide domain names in resource 
+     record data also have syntax rules for those domain names. 
+      
+     All new resource records MUST be defined with syntax rules 
+     appropriate to that resource record. 
+      
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 25] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     Resource Record Name: IPv4 Address 
+     Resource Record Mnemonic: A 
+     Resource Record Code: 1 
+     Defined In: [RFC1035] 
+     Owner Name: Hostname 
+     Resource Record Data: (no domain name data-types) 
+      
+     Resource Record Name: Name Server 
+     Resource Record Mnemonic: NS 
+     Resource Record Code: 2 
+     Defined In: [RFC1035] 
+     Owner Name: Hostname (delegated zone partition) 
+     Resource Record Data: Hostname (authoritative server) 
+     Note: All domain delegations MUST use the hostname data-type. 
+      
+     Resource Record Name: Mail Destination 
+     Resource Record Mnemonic: MD 
+     Resource Record Code: 3 
+     Defined In: [RFC1035] 
+     Owner Name: Hostname (mail domain) 
+     Resource Record Data: Hostname (delivery server) 
+     Note: Obsoleted and deprecated by RFC1035 in favor of MX 
+      
+     Resource Record Name: Mail Forwarder 
+     Resource Record Mnemonic: MF 
+     Resource Record Code: 4 
+     Defined In: [RFC1035] 
+     Owner Name: Hostname (mail domain) 
+     Resource Record Data: Hostname (relay server) 
+     Note: Obsoleted and deprecated by RFC1035 in favor of MX 
+      
+     Resource Record Name: Canonical Name 
+     Resource Record Mnemonic: CNAME 
+     Resource Record Code: 5 
+     Defined In: [RFC1035] 
+     Owner Name: inherited from target owner name 
+     Resource Record Data: inherited from target owner name 
+     Note: The owner domain name and resource record data are both 
+           inherited from the target of the CNAME resource record. For 
+           example, if a CNAME resource record references an A resource 
+           record, then the owner name and the resource record data 
+           both use the Hostname domain name data-type. However, if a 
+           CNAME resource record references an SRV resource record, 
+           then the owner name and the resource record data both use 
+           the Service Locator domain name data-type. 
+      
+
+   
+  Hall                  I-D Expires: December 2002            [page 26] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     Resource Record Name: Start-of-Authority 
+     Resource Record Mnemonic: SOA 
+     Resource Record Code: 6 
+     Defined In: [RFC1035] 
+     Owner Name: Hostname 
+     Resource Record Data: multiple fields (see below) 
+           MNAME:         Hostname (replication master server) 
+           RNAME:         Mailbox (administrator's email address) 
+           SERIAL:       (no domain name data-types) 
+           REFRESH:      (no domain name data-types) 
+           RETRY:         (no domain name data-types) 
+           EXPIRE:               (no domain name data-types) 
+           MINIMUM:      (no domain name data-types) 
+      
+     Resource Record Name: Mailbox 
+     Resource Record Mnemonic: MB 
+     Resource Record Code: 7 
+     Defined In: [RFC1035] 
+     Owner Name: Mailbox (recipient email address) 
+     Resource Record Data: Hostname (delivery server) 
+      
+     Resource Record Name: Mail Group 
+     Resource Record Mnemonic: MG 
+     Resource Record Code: 8 
+     Defined In: [RFC1035] 
+     Owner Name: Mailbox (original email address) 
+     Resource Record Data: Mailbox (expanded email address) 
+      
+     Resource Record Name: Mail Rename 
+     Resource Record Mnemonic: MR 
+     Resource Record Code: 9 
+     Defined In: [RFC1035] 
+     Owner Name: Mailbox (original email address) 
+     Resource Record Data: Mailbox (new email address) 
+      
+     Resource Record Name: Null 
+     Resource Record Mnemonic: NULL 
+     Resource Record Code: 10 
+     Defined In: [RFC1035] 
+     Owner Name: Legacy Octets 
+     Resource Record Data: (no domain name data-types) 
+      
+
+
+
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 27] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     Resource Record Name: Well-Known Services 
+     Resource Record Mnemonic: WKS 
+     Resource Record Code: 11 
+     Defined In: [RFC1035] 
+     Owner Name: Hostname 
+     Resource Record Data: (no domain name data-types) 
+      
+     Resource Record Name: Pointer 
+     Resource Record Mnemonic: PTR 
+     Resource Record Code: 12 
+     Defined In: [RFC1035] 
+     Owner Name: inherited from target owner name 
+     Resource Record Data: inherited from target owner name 
+     Note: Although PTR resource records are most often used to provide 
+           reverse-lookup mappings, the data can be used for any domain 
+           name which needs to point to another domain name. As such, 
+           the owner name and the resource record data must both 
+           inherit the domain name data-type in use with the 
+           destination. 
+      
+     Resource Record Name: Host Information 
+     Resource Record Mnemonic: HINFO 
+     Resource Record Code: 13 
+     Defined In: [RFC1035] 
+     Owner Name: Hostname 
+     Resource Record Data: (no domain name data-types) 
+      
+     Resource Record Name: Mail List Information 
+     Resource Record Mnemonic: MINFO 
+     Resource Record Code: 14 
+     Defined In: [RFC1035] 
+     Owner Name: Mailbox (mailing list primary address) 
+     Resource Record Data: multiple fields (see below) 
+           RMAILBOX:     Mailbox / Root (responsible party address) 
+           EMAILBOX:     Mailbox / Root (error-handler mailbox) 
+     Note: MINFO defines an application-specific interpretation for the 
+           root domain in the resource record as an alternative to the 
+           Mailbox data-type. 
+      
+
+
+
+
+
+
+
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 28] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     Resource Record Name: Mail Exchange 
+     Resource Record Mnemonic: MX 
+     Resource Record Code: 15 
+     Defined In: [RFC1035] 
+     Owner Name: Hostname (mail domain) 
+     Resource Record Data: multiple fields (see below) 
+           PREFERENCE:   (no domain name data-types) 
+           DESTINATION:  Hostname (mail server) 
+      
+     Resource Record Name: Text 
+     Resource Record Mnemonic: TXT 
+     Resource Record Code: 16 
+     Defined In: [RFC1035] 
+     Owner Name: Legacy Octets 
+     Resource Record Data: (no domain name data-types) 
+     Note: The TXT resource record is commonly used as a proving ground 
+           for new resource records, and this must continue to be 
+           supported. 
+      
+     Resource Record Name: Responsible Person 
+     Resource Record Mnemonic: RP 
+     Resource Record Code: 17 
+     Defined In: RFC 1183 [RFC1183] 
+     Owner Name: Hostname 
+     Resource Record Data: multiple fields (see below) 
+           RMAILBOX:     Mailbox (responsible person contact address) 
+           DETAILS:      Legacy Octets (pointer to TXT record) 
+     Note: Binding this resource record to the hostname data-type may 
+           artificially limits its usefulness, although it results in 
+           greater predictability and consistency in the 
+           internationalized namespace. 
+      
+     Resource Record Name: AFS Database Entry 
+     Resource Record Mnemonic: AFSDB 
+     Resource Record Code: 18 
+     Defined In: [RFC1183] 
+     Owner Name: Hostname 
+     Resource Record Data: multiple fields (see below) 
+           PREFERENCE:   (no domain name data-types) 
+           DESTINATION:  Hostname (AFS server) 
+      
+
+
+
+
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 29] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     Resource Record Name: X.25 Number 
+     Resource Record Mnemonic: X.25 
+     Resource Record Code: 19 
+     Defined In: [RFC1183] 
+     Owner Name: Hostname (host) 
+     Resource Record Data: (no domain name data-types) 
+      
+     Resource Record Name: ISDN Number 
+     Resource Record Mnemonic: ISDN 
+     Resource Record Code: 20 
+     Defined In: [RFC1183] 
+     Owner Name: Hostname (host) 
+     Resource Record Data: (no domain name data-types) 
+      
+     Resource Record Name: Route-Through 
+     Resource Record Mnemonic: RT 
+     Resource Record Code: 21 
+     Defined In: [RFC1183] 
+     Owner Name: Hostname (host) 
+     Resource Record Data: multiple fields (see below) 
+           PREFERENCE:   (no domain name data-types) 
+           DESTINATION:  Hostname (next-hop host) 
+      
+     Resource Record Name: OSI NSAP Address 
+     Resource Record Mnemonic: NSAP 
+     Resource Record Code: 22 
+     Defined In: RFC 1706 [RFC1706] 
+     Owner Name: Hostname 
+     Resource Record Data: (no domain name data-types) 
+      
+     Resource Record Name: OSI NSAP Pointer 
+     Resource Record Mnemonic: NSAP-PTR 
+     Resource Record Code: 23 
+     Defined In: [RFC1706] 
+     Owner Name: Hostname (hexadecimal NSAP address) 
+     Resource Record Data: Hostname (host) 
+      
+     Resource Record Name: Signature 
+     Resource Record Mnemonic: SIG 
+     Resource Record Code: 24 
+     Defined In: RFC 2535 [RFC2535] and RFC 2931 [RFC2931] 
+     Owner Name: Hostname (?) 
+     Resource Record Data: (no domain name data-types) 
+      
+
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 30] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     Resource Record Name: Public Key 
+     Resource Record Mnemonic: KEY 
+     Resource Record Code: 25 
+     Defined In: [RFC2535] 
+     Owner Name: Legacy Octets 
+     Resource Record Data: (no domain name data-types) 
+     Note: The owner name must be treated as unstructured, since the 
+           KEY resource record may be bound to any domain name. 
+      
+     Resource Record Name: Pointer to X.400 Mapping 
+     Resource Record Mnemonic: PX 
+     Resource Record Code: 26 
+     Defined In: RFC 2163 [RFC2163] 
+     Owner Name: Hostname (encoded X.400 mail domain) 
+     Resource Record Data: multiple fields (see below) 
+           RFC822-MAIL:  Hostname (mail domain) 
+           X400-MAIL:    Hostname (mail domain) 
+      
+     Resource Record Name: Geographical Position 
+     Resource Record Mnemonic: GPOS 
+     Resource Record Code: 27 
+     Defined In: RFC 1712 [RFC1712] 
+     Owner Name: Hostname 
+     Resource Record Data: (no domain name data-types) 
+      
+     Resource Record Name: IPv6 Simple Address 
+     Resource Record Mnemonic: AAAA 
+     Resource Record Code: 28 
+     Defined In: RFC 1886 [RFC1886] 
+     Owner Name: Hostname 
+     Resource Record Data: (no domain name data-types) 
+      
+     Resource Record Name: Location 
+     Resource Record Mnemonic: LOC 
+     Resource Record Code: 29 
+     Defined In: RFC 1876 [RFC1876] 
+     Owner Name: Hostname 
+     Resource Record Data: (no domain name data-types) 
+      
+
+
+
+
+
+
+
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 31] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     Resource Record Name: Next Record 
+     Resource Record Mnemonic: NXT 
+     Resource Record Code: 30 
+     Defined In: [RFC2535] 
+     Owner Name: Legacy Octets 
+     Resource Record Data: multiple fields (see below) 
+           NEXT-OWNER:   Legacy Octets (the next domain name) 
+           TYPE:         (no domain name data-types) 
+     Note: The owner name must be treated as unstructured, since the 
+           NXT resource record may be bound to any domain name. 
+      
+     Resource Record Name: Service Locator 
+     Resource Record Mnemonic: SRV 
+     Resource Record Code: 33 
+     Defined In: [RFC2782] 
+     Owner Name: Service Locator 
+     Resource Record Data: multiple fields (see below) 
+           PRIORITY:     (no domain name data-types) 
+           WEIGHT:               (no domain name data-types) 
+           PORT:         (no domain name data-types) 
+           TARGET:               Hostname (target server) 
+      
+     Resource Record Name: ATM Address 
+     Resource Record Mnemonic: ATMA 
+     Resource Record Code: 34 
+     Defined In: N/A (see ATM Forum standards) 
+     Owner Name: Hostname 
+     Resource Record Data: (no domain name data-types) 
+      
+     Resource Record Name: Naming Authority Pointer 
+     Resource Record Mnemonic: NAPTR 
+     Resource Record Code: 35 
+     Defined In: RFC 2915 [RFC2915] 
+     Owner Name: Hostname 
+     Resource Record Data: multiple fields (see below) 
+           ORDER:         (no domain name data-types) 
+           PREFERENCE:   (no domain name data-types) 
+           FLAGS:         (no domain name data-types) 
+           SERVICE:      (no domain name data-types) 
+           REGEXPS:      (no domain name data-types) 
+           REPLACEMENT:  Hostname / Service Locator (see notes) 
+     Note: The domain name provided in the REPLACEMENT sub-field can 
+           reference a NAPTR, SRV or A resource record by its owner 
+           name, depending on the value of the FLAGS sub-field. 
+      
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 32] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     Resource Record Name: Key Exchange 
+     Resource Record Mnemonic: KX 
+     Resource Record Code: 36 
+     Defined In: RFC 2230 [RFC2230] 
+     Owner Name: Legacy Octets (any domain name) 
+     Resource Record Data: multiple fields (see below) 
+           PREFERENCE:   (no domain name data-types) 
+           DESTINATION:  Hostname (key server) 
+     Note: The owner name must be treated as unstructured, since the KX 
+           resource record may be bound to any domain name. 
+      
+     Resource Record Name: Certificate 
+     Resource Record Mnemonic: CERT 
+     Resource Record Code: 37 
+     Defined In: RFC 2538 [RFC2538] 
+     Owner Name: Hostname 
+     Resource Record Data: (no domain name data-types) 
+     Note: The owner name must be treated as unstructured, since the 
+           CERT resource record may be bound to any domain name. 
+      
+     Resource Record Name: IPv6 Complex Address 
+     Resource Record Mnemonic: A6 
+     Resource Record Code: 38 
+     Defined In: RFC 2874 [RFC2874] 
+     Owner Name: Hostname (host) 
+     Resource Record Data: (no domain name data-types) 
+      
+     Resource Record Name: Domain Name Redirection 
+     Resource Record Mnemonic: DNAME 
+     Resource Record Code: 39 
+     Defined In: RFC 2672 [RFC2672] 
+     Owner Name: Hostname 
+     Resource Record Data: Hostname 
+      
+     Resource Record Name: Extended Option 
+     Resource Record Mnemonic: OPT 
+     Resource Record Code: 41 
+     Defined In: RFC 2671 [RFC2671] 
+     Owner Name: Root 
+     Resource Record Data: (no domain name data-types) 
+      
+
+
+
+
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 33] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     Resource Record Name: Transaction Key 
+     Resource Record Mnemonic: TKEY 
+     Resource Record Code: 249 
+     Defined In: RFC 2930 [RFC2930] 
+     Owner Name: Legacy Octets 
+     Resource Record Data: (no domain name data-types) 
+     Note: The owner name must be treated as unstructured, since the 
+           TKEY resource record may be bound to any domain name. 
+      
+     Resource Record Name: Transaction Signature 
+     Resource Record Mnemonic: TSIG 
+     Resource Record Code: 250 
+     Defined In: RFC 2845 [RFC2845] 
+     Owner Name: Legacy Octets 
+     Resource Record Data: (no domain name data-types) 
+     Note: The owner name must be treated as unstructured, since the 
+           TSIG resource record may be bound to any domain name. 
+      
+      
+  6.2.    Query Types 
+      
+     Apart from the resource records defined in section 6.1 above, 
+     there are also a handful of query types. Query types are only 
+     provided in the question section of a DNS message, and do not have 
+     resource record data. However, their owner names have domain name 
+     data-types which require standardization. 
+      
+     All new query-types MUST be defined with syntax rules appropriate 
+     to that query-type. 
+      
+     Query Name: Incremental Transfer 
+     Query Mnemonic: IXFR 
+     Query Code: 251 
+     Defined In: RFC 1995 [RFC1995] 
+     Owner Name: Hostname 
+      
+     Query Name: Zone Transfer 
+     Query Mnemonic: AXFR 
+     Query Code: 252 
+     Defined In: [RFC1035] 
+     Owner Name: Hostname 
+      
+
+
+
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 34] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+     Query Name: Mailbox Records 
+     Query Mnemonic: MAILB 
+     Query Code: 253 
+     Defined In: [RFC1035] 
+     Owner Name: Mailbox 
+     Note: This query-type requests all of the Mailbox, Mail Group, 
+           Mail Rename and Mail List resource records associated with 
+           an email address. 
+      
+     Query Name: Mail Transfer Records 
+     Query Mnemonic: MAILA 
+     Query Code: 254 
+     Defined In: [RFC1035] 
+     Owner Name: Hostname 
+     Note: Obsoleted and deprecated by RFC1035 in favor of MX, but used 
+           to request all of the Mail Forwarder and Mail Destination 
+           resource records associated with a mail domain. 
+      
+     Query Name: All Records 
+     Query Mnemonic: "*" or ALL 
+     Query Code: 255 
+     Defined In: [RFC1035] 
+     Owner Name: Hostname 
+      
+      
+  7.      Security Considerations 
+      
+     This document does not change any on-the-wire formats, and 
+     therefore does not introduce any new security risks within the 
+     affected protocols. However, it is the author's hope that by 
+     defining strict syntaxes for domain names and labels that overall 
+     security can be improved as a result of higher predictability and 
+     better development practices. 
+      
+      
+  8.      IANA Considerations 
+      
+     This document requires the use of an EDNS extended label type 
+     identification code. This document uses the b000011 ELT code. 
+      
+
+
+
+
+
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 35] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+      
+  9.      References 
+      
+           
+          [RFC608] RFC 608, "HOST NAMES ON-LINE", M. Kudlick, January 
+            1974. 
+           
+          [RFC810] RFC 810, "DoD INTERNET HOST TABLE SPECIFICATION", E. 
+            Feinler et al, March 1982. 
+           
+          [RFC882] RFC 882, "DOMAIN NAMES - CONCEPTS and FACILITIES", 
+            P. Mockapetris, November 1983. 
+           
+          [RFC952] RFC 952, "DOD INTERNET HOST TABLE SPECIFICATION", K. 
+            Harrenstien et al, October 1985. 
+           
+          [RFC1034] RFC 1034, "DOMAIN NAMES - CONCEPTS and FACILITIES", 
+            P. Mockapetris, November 1987. 
+           
+          [RFC1123] RFC 1123, "Requirements for Internet Hosts -- 
+            Application and Support", R. Braden, October 1989. 
+           
+          [RFC2181] RFC 2181, "Clarifications to the DNS 
+            Specification", R. Elz et al, July 1997. 
+           
+          [ASCII] "ANSI X3.4-1968. USA Standard Code for Information 
+            Interchange", ANSI. 
+           
+          [RFC883] RFC 883, "DOMAIN NAMES - IMPLEMENTATION AND 
+            SPECIFICATION", P. Mockapetris, November 1983. 
+           
+          [RFC1035] RFC 1035, "DOMAIN NAMES - IMPLEMENTATION AND 
+            SPECIFICATION", P. Mockapetris, November 1987. 
+           
+          [ISO-10646] "ISO/IEC 10646-1:2000. International Standard -- 
+            Information technology -- Universal Multiple-Octet Coded 
+            Character Set (UCS) -- Part 1: Architecture and Basic 
+            Multilingual Plane" and "Part 2: Supplementary Planes", 
+            ISO. 
+           
+          [UNICODE] "The Unicode Consortium, The Unicode Standard, 
+            Version 3.0", Addison-Wesley: Reading, MA, 2000. Update to 
+            version 3.1, 2001. Update to version 3.2, 2002. 
+           
+          [PUNYCODE] Internet-Draft, "Punycode:An encoding of Unicode 
+            for use with IDNA", A. Costello, May 2002. 
+
+   
+  Hall                  I-D Expires: December 2002            [page 36] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+           
+          [IDNA] Internet-Draft, "Internationalizing Domain Names In 
+            Applications (IDNA)", P. Faltstrom et al, May 2002. 
+           
+          [STRINGPREP] Internet-Draft, "Preparation of 
+            Internationalized Strings", P. Hoffman et al, May 2002. 
+           
+          [NAMEPREP] Internet-Draft, "Nameprep: A Stringprep Profile 
+            for Internationalized Domain Names", P. Hoffman et al, May 
+            2002. 
+           
+          [RFC1535] RFC 1535, "A Security Problem and Proposed 
+            Correction With Widely Deployed DNS Software", E. Gavron, 
+            October 1993. 
+           
+          [RFC2821] RFC 2821, "Simple Mail Transfer Protocol", J. 
+            Klensin, April 2001. 
+           
+          [RFC2822] RFC 2822, "Internet Message Format", P. Resnick, 
+            April 2001. 
+           
+          [RFC2782] RFC 2782, "A DNS RR for specifying the location of 
+            services (DNS SRV)", A. Gulbrandsen et al, February 2000. 
+           
+          [RFC2277] RFC 2277, "IETF Policy on Character Sets and 
+            Languages", H. Alvestrand, January 1998. 
+           
+          [RFC1183] RFC 1183, "New DNS RR Definitions", C. Everhart et 
+            al, October 1990. 
+           
+          [RFC1706] RFC 1706, "DNS NSAP Resource Records", B. Manning 
+            et al, October 1994. 
+           
+          [RFC2535] RFC 2535, "Domain Name System Security Extensions", 
+            D. Eastlake, March 1999. 
+           
+          [RFC2931] RFC 2931, "DNS Request and Transaction Signatures ( 
+            SIG(0)s )", D. Eastlake, September 2000. 
+           
+          [RFC2163] RFC 2163, "Using the Internet DNS to Distribute 
+            MIXER Conformant Global Address Mapping (MCGAM)", C. 
+            Allocchio, January 1998. 
+           
+          [RFC1712] RFC 1712, "DNS Encoding of Geographical Location", 
+            C. Farrell et al, November 1994. 
+           
+
+   
+  Hall                  I-D Expires: December 2002            [page 37] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+          [RFC1886] RFC 1886, "DNS Extensions to support IP version 6", 
+            S. Thomson et al, December 1995. 
+           
+          [RFC1876] RFC 1876, "A Means for Expressing Location 
+            Information in the Domain Name System", C. Davis et al, 
+            January 1996. 
+           
+          [RFC2915] RFC 2915, "The Naming Authority Pointer (NAPTR) DNS 
+            Resource Record", M. Mealling et al, September 2000. 
+           
+          [RFC2230] RFC 2230, "Key Exchange Delegation Record for the 
+            DNS", R. Atkinson, November 1997. 
+           
+          [RFC2538] RFC 2538, "Storing Certificates in the Domain Name 
+            System (DNS)", D. Eastlake et al, March 1999. 
+           
+          [RFC2874] RFC 2874, "DNS Extensions to Support IPv6 Address 
+            Aggregation and Renumbering", M. Crawford et al, July 2000. 
+           
+          [RFC2672] RFC 2672, "Non-Terminal DNS Name Redirection", M. 
+            Crawford, August 1999. 
+           
+          [RFC2671] RFC 2671, "Extension Mechanisms for DNS (EDNS0)", 
+            P. Vixie, August 1999. 
+           
+          [RFC2930] RFC 2930, "Secret Key Establishment for DNS (TKEY 
+            RR)", D. Eastlake, September 2000. 
+           
+          [RFC2845] RFC 2845, "Secret Key Transaction Authentication 
+            for DNS (TSIG)", P. Vixie et al, May 2000. 
+           
+          [RFC1995] RFC 1995, "Incremental Zone Transfer in DNS", M. 
+            Ohta, August 1996. 
+      
+      
+  10.     Acknowledgements 
+      
+     The author made multiple attempts at avoiding this work. David 
+     Hopwood and Mark Andrews are credited with arguing that it needed 
+     to be done, and John Klensin is credited with providing helpful 
+     feedback on how it should be done. 
+      
+
+
+
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 38] \f
+  INTERNET-DRAFT     draft-hall-dns-datatypes-00.txt          June 2002 
+   
+   
+      
+  11.     Author's Address 
+      
+     Eric A. Hall 
+     ehall@ehsco.com 
+      
+      
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+  Hall                  I-D Expires: December 2002            [page 39] \f