Internet DRAFT - draft-crocker-unique-assign

draft-crocker-unique-assign



     Network Working Group                                    D. Crocker
     Internet-Draft:                         Brandenburg InternetWorking
     Expiration <1/02>                                      15 July 2001
     
     
     
                                    
                                    
                     Unique Assignment (Hierarchies)
                   draft-crocker-unique-assign-01.txt
                                     
     
     
     STATUS OF THIS MEMO
     
     This document is an Internet-Draft and is in full conformance with
     all provisions of Section 10 of RFC2026. 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.
     
     
     COPYRIGHT NOTICE
     
     Copyright (C) The Internet Society (2001).  All Rights Reserved.
     
     
     SUMMARY
     
     The Internet relies on a combination of technical development,
     administrative assignment and operational interconnection.  This
     paper evolves the Internet Architecture BoardÆs [RFC2826], which
     focused on the technical requirement for a unique root to the DNS
     administrative hierarchy.  The current paper expands the scope of
     the discussion, applying the requirements to relevant areas of
     Internet administration.  The paper seeks IETF BCP status, since it
     describes basic requirements for the practise of Internet
     administration.
     
     The Internet requires the existence of globally unique public
     assignment spaces, such as the DNS name space and the IP address
     space.  Each of these is designed as a hierarchy, deriving from a
     single, globally unique assignment root. This is a technical
     constraint inherent in the design of hierarchical assignment spaces.
     Therefore it is not technically feasible to have more than one
     assignment root in a single public assignment space.  For real-time
     mapping between an assignment and its associated values, an
     operational mapping service is required.  For scaling and
     reliability the one assignment root of a hierarchy MUST have a
     mapping service that is supported by a set of coordinated
     operational servers, administered by that unique assignment
     authority.
     
     Competing assignment activities that offer public, yet independent,
     assignment spaces introduce the likelihood of ambiguous reference.
     By definition they create multiple, overlapping assignment spaces.
     Hence in the long-term, users of different Internet service
     providers will get different responses for the same assignment
     value.  Users who click on the same link on a web page will end up
     at different destinations.  Email senders specifying the same
     destination address will have their mail delivered to different
     systems. Users specifying the same, Internet-based telephone number
     will call different stations.  Because different providers will
     refer to different servers of different administrative authorities,
     they will resolve the same administrative string to different
     values.
     
     This does not preclude private networks from operating their own
     private assignment spaces.  However if they wish to make use of
     assignments uniquely defined for the global Internet, they MUST
     fetch that information from the associated global mapping service,
     such as the global DNS naming hierarchy, and in particular from the
     coordinated servers associated with that global DNS naming
     hierarchy.



1.   INTRODUCTION
     
     Once an Internet technology is specified and developed, it must be
     deployed and operated. Success of the Internet has relied on the
     combination of technical development, administrative assignment and
     operational interconnection. Just as Internet success frequently
     relies on central coordination for the creation of interoperable
     technologies, it frequently relies on central coordination for
     deployment and operation of the interoperable services that use
     those technologies.
     
     However ôfrequentlyö does not mean ôalwaysö.  Internet culture
     strongly advocates competitive activities, which means activities
     that are not centrally coordinated.  This tension between
     competition and cooperation has been resolved reasonably well for
     the process of creating technical specifications.
     
     Growth of the Internet has brought a wide range of participation in
     Internet technical and operations discussions, with an attendant,
     wide range of administrative models being proposed.  Some of these
     models directly contradict established Internet practise and even
     contradict basic technical principals.
     
     This paper describes technical requirements for centralized
     administration that represent Internet Best Current Practise.  It
     distinguishes between scenarios that require such administration and
     those that do not.  It explores proposals that appear to violate
     those requirements, and therefore either must fail or must find a
     way to introduce centralization, albeit possibly indirectly.  The
     paper also distinguishes administration from operation, since they
     are substantially independent phases of activity and can be subject
     to very different styles.
     
     This paper evolves [RFC2826], ôIAB Technical Comment on the Unique
     DNS Rootö which focused on the top of the DNS administrative
     hierarchy.  The current paper is compatible with RFC 2826, and
     incorporates the text from it, while expanding the scope of
     discussion.  It applies the principals behind RFC 2826 to the
     general domain of Internet administration, and it seeks to clarify
     some points in RFC 2826 that were misunderstood.  It further seeks
     IETF BCP status, to provide a clear statement from the technical
     community about the nature and support for these administrative and
     operational principals.



2.   TERMINOLOGY AND SCOPE
     
     Assignment and operation are separate, complementary activities.
     
     *    Assignment allocates (registers) a value from the assignment space,
          giving usage rights to an assignee (registrant).

     *    Operation provides a service that maps between the assigned value
          and some set of information.

     *    Unless otherwise noted, for any assignment space that is partitioned
          into a hierarchy, the principles and constraints described at one 
          node in the hierarchy apply to every node of the hierarchy.


2.1  Assignment
     
     Correct operation of Internet services requires coordinated
     assignment of various values, such as protocol IDs, port numbers, IP
     addresses and domain names.  A purpose for coordination is to ensure
     that values are not ambiguous.  That is, values must be assigned
     uniquely.  If more than one assignment of a value is made, there is
     no way to know which assignment to use at a particular time.
     
     
     Assignment Space
     
     Values are assigned out of a pre-defined range, or ôassignment
     spaceö.  Typically, the assignment space is determined by the size
     and syntax of the assignment field.  For example a 16-bit binary
     field can provide up to 2**16 values, with some values such as the
     lowest and highest often declared unusable.
     
     For domain names, the range of values that can be assigned is called
     a ôname spaceö.  Because the Domain Names Service uses a tree-
     structured hierarchy, the term domain name space can refer to a
     particular node within the domain name hierarchy, or to the entire
     hierarchy.  In most discussions, the reference is to a particular
     node, such as the root, with the subordinate nodes being implied.
     
     The term ôzoneö is often used confusingly in public discussion of
     the DNS.  The term means the set of contiguous nodes of the DNS
     hierarchy, supported by a single DNS server.  Hence it is an
     operational term, and has no meaning with respect to DNS name
     assignment.  However the term ôroot zoneö is often used to refer to
     the root node of the DNS.  This does not distinguish between
     assignments of values for the root node, versus operation of a
     server that uses the root node database.
     
     
     Assignment Authority
     
     An assignment authority (registry) administers an assignment space.
     For administrative convenience an assignment authority might
     delegate portions of the assignment space.  With delegation,
     subordinate assignment agencies are acting on behalf of the
     assignment authority doing the delegation.  A registry may delegate
     to registrars the ôfront-endö process of doing assignments to users
     (registrants).
     
     
     Independent Assignment
     
     Independent assignment efforts MUST use separate assignment spaces.
     Separate means separate.  It means that there is no linkage
     whatsoever between the two (or more) independent processes and no
     linkage between the set of values that are assigned by the
     independent processes.
     
     Hence it means that each is free û and likely û to assign the same
     value.
     
     *    If it is guaranteed that assignment efforts for separate assignment
          spaces will never assign the same value, then they are not independent
          efforts and the assignment spaces are not separate.  Some type of
          coordination mechanism is operating ôaboveö both efforts, rendering them
          logically one, with one logical assignment space.
     
     It can be reasonable to have multiple, independent assignment
     processes, when there is no likelihood that activities deriving from
     the assignments will overlap.  For example a private network that
     does not have access to the public Internet can reasonably assign
     whatever IP addresses it wishes.  However experience has taught that
     the likelihood of eventually connecting to the public Internet is
     quite high.  That is the reason that this otherwise benign
     circumstance warranted reservation of special IP addresses, per
     [RFC1918].  Hence there is experience that warrants questioning
     whether legitimate independence at one point in time will be
     maintained over the long term.
     
     
     Assignment Tracking
     
     A variation on complete independence is to have two, independent
     assignment authorities, with one choosing a policy of tracking the
     other, for a portion of the assignment space.  The authority that
     does the tracking is attempting to create a superset of the values
     assigned by the other authority.
     
     Because this is only partial coordination, it cannot succeed.
     
     *    It is guaranteed that the assignment authority being tracked will,
          eventually, assign a value that the tracking authority already assigned.

     *    It is essential to understand that the source of the problem is in
          this tracking model and not with actions by the authority being tracked.
          The tracking authority unilaterally declared a relationship to the
          tracked authority.  That declaration represented an attempt to claim some
          authority higher than the tracked authority, thereby attempting to
          eliminate the original independence.


2.2  Operation
     
     An operational service maps between the assignment value and
     whatever other information is associated.  For example, IP addresses
     are used in different contexts.  One service maps between IP address
     and the name of the device to which the address is assigned.
     Another maps between IP address and ôrouteö -- or, rather, it uses
     an initial portion of the address, to determine which transmission
     port to send a packet down.  Domain names are principally mapped to
     IP addresses.
     
     For IP datagram transport, the mapping between IP address and route
     is performed by a distributed routing service, with each IP router
     making its own calculations and decisions.  However, each shares its
     information with its neighbors.  The operational routing process is,
     therefore, fully distributed.  Each node is computationally
     independent, but correct system behavior requires that all nodes
     conform to the same rules.  That is, the logical routing service is
     administratively centralized by virtue of its using common,
     standardized algorithms.
     
     
     Replication
     
     Replication is an operations activity.  It means that an exact copy
     of a database is maintained on a separate operating platform, and
     typically by a separate operating service.  Hence replication
     permits independence of an access service operation, but not
     independence of data assignment. This operational independence
     improves overall service reliability and performance, without
     creating any assignment space conflicts, resulting from
     administrative independence.  For reliability the DNS requires each
     node at every level of the DNS hierarchy to be replicated.
     
     
     Mapping (Lookup) Vs. Searching
     
     The process of mapping a value û or looking it up û is technically
     distinct from the process of searching that is performed in a
     directory service.
     
     *    Mapping and searching differ in the nature of their input and their
          output.
     
     Mapping uses an entire, single assigned identifier value and obtains
     the entry associated with that one value.  If the value is not yet
     assigned, a mapping operation will fail.
     
     In contrast, a searching process takes some string or partial string
     V possibly an identifier, but more typically a non-unique, naturally
     occurring string, such as personal name û and returns the range of
     information associated with the range of matching values.
     
     
     Abbreviations
     
     As a convenience to users, an operational system might permit
     specification of an assigned value in abbreviated form.  For example
     it might permit users to refer to systems within the same
     organization by omitting the trailing, common portion of the domain
     name.
     
     In the non-Internet world, the most common example of this type of
     abbreviation is making a local telephone call, without including the
     country code or area code.  Such operational conveniences MUST NOT
     be mistaken for differences in the assigned value.  When dialing a
     telephone that is not local, we know to include area code and, as
     appropriate, the country code.  When referring to a machine in
     another domain, we know to include the complete domain name.
     
     The difficulty with abbreviations is in having users distinguish
     when they work correctly and when they do not (and with failing to
     understand that the abbreviation is not the entire string.)



3.   ASSIGNMENT FUNDAMENTALS
     
     There are several distinct reasons why an administrative hierarchy
     requires a single administrative authority.  For the DNS this is
     often referred to as the requirement for a single (administrative)
     root.


3.1  Maintenance Of A Common Symbol Set
     
     Effective communications between two parties requires two essential
     preconditions:
     
     *    The existence of a common symbol set, and

     *    The existence of a common semantic interpretation of these symbols.
     
     Failure to meet the first condition implies a failure to communicate
     at all, while failure to meet the second implies that the meaning of
     the communication is lost.
     
     In the case of a public communications system this condition of a
     common symbol set with a common semantic interpretation must be
     further strengthened to that of a unique symbol set with a unique
     semantic interpretation.  This condition of uniqueness allows any
     party to initiate a communication that can be received and
     understood by any other party.  Such a condition rules out the
     ability to define a symbol within some bounded context.  In such a
     case, once the communication moves out of the context of
     interpretation in which it was defined, the meaning of the symbol
     becomes lost.
     
     Within public digital communications networks, such as the Internet,
     this requirement for a uniquely defined symbol set with a uniquely
     defined meaning exists at many levels, commencing with the binary
     encoding scheme, extending to packet headers and payload formats and
     the protocol that an application uses to interact.  In each case a
     variation of the symbol set or a difference of interpretation of the
     symbols being used within the interaction causes a protocol failure,
     and the communication fails.  The property of uniqueness allows a
     symbol to be used unambiguously in any context, allowing the symbol
     to be passed on, referred to, and reused, while still preserving the
     meaning of the original use.
     
     The DNS is an exemplar service that fulfills an essential role
     within the Internet protocol environment, allowing network locations
     to be referenced using a label other than a protocol address.  As
     with any other such symbol set, DNS names are designed to be
     globally unique:  For any one DNS name, at any one time, there must
     be a single set of DNS records uniquely describing protocol
     addresses, network resources and services associated with that DNS
     name.  All of the Internet applications that use the DNS assume
     this, and Internet users expect such behavior from DNS names.  Names
     are then constant symbols, whose interpretation does not
     specifically require knowledge of the context of any individual
     party.  A DNS name can be passed from one party to another without
     altering the semantic intent of the name.
     
     *    Since the DNS is hierarchically structured into domains, the
          uniqueness requirement for DNS names in their entirety implies that each
          of the names (sub-domains) defined within a domain has a unique meaning
          (that is, set of DNS records) within that domain.

     *    This is as true for any subordinate domains as it is for the
          administrative root domain.
     
     The requirement for uniqueness within a domain further implies that
     there be some mechanism to prevent name conflicts within a domain.
     In DNS this is accomplished by assigning a single owner or
     maintainer to every domain, including the root domain, who is
     responsible for ensuring that each sub-domain of that domain has the
     proper records associated with it.  This is a technical requirement,
     not a policy choice.


3.2  Coordination Of Updates
     
     Both the design and implementation of assignment hierarchies, such
     as the DNS, assume that there is a single owner or maintainer at
     each level of the hierarchy.  For maintenance of the information
     associated with an assigned value, such as the resources records
     associated with a domain, the assumption is that modification is
     performed in a single-copy serializable fashion.
     
     Continuing the example with the DNS this means that, even assuming
     that a single domain could somehow be "shared" among non-cooperating
     parties, there is no means within the DNS protocol by which a user
     or client could discover, and choose between, conflicting
     definitions of a DNS name made by different parties.  The client
     will simply return the first set of resource records that it finds
     that matches the requested domain, and assume that these are valid.
     
     *    This protocol is embedded in the operating software of hundreds of
          millions of computer systems, and is not easily updated to support a
          shared domain scenario.

     *    Discussions about easily changing client software are referring to a
          change that selects a SINGLE, ALTERNATIVE AUTHORITY, rather than any sort
          of shared arrangement.
     
     Moreover, even supposing that some other means of resolving
     conflicting definitions could be provided in the future, it would
     have to be based on objective rules established in advance.  For
     example, zone A.B could declare that naming authority Y had been
     delegated all subdomains of A.B with an odd number of characters,
     and that naming authority Z had been delegated authority to define
     subdomains of A.B with an even number of characters.
     
     Thus, a single set of rules would have to be agreed upon, to prevent
     Y and Z from making conflicting assignments, and with this train of
     actions a single unique space has been created in any case.  Hence
     even this would not allow multiple non-cooperating authorities to
     assign arbitrary sub-domains within a single domain.
     
     *    To repeat:  A degree of cooperation and agreed technical rules are
          required in order to guarantee the uniqueness of names.
     
     In the DNS, these rules are established independently for each part
     of the naming hierarchy, and the administrative root domain is no
     exception.  Thus, there must be a generally agreed single set of
     rules for the root, as for each, subordinate node.


3.3  Difficulty Of Relocating An Operational Root Service
     
     The top of an operational hierarchy, such as the DNS root servers,
     has a bootstrapping requirement that makes it different from all
     subordinate nodes:  the addresses of the operational root servers
     come from out-of-band information.  This out-of-band information is
     often poorly maintained and, unlike all other data in the DNS, the
     out-of-band information has no automatic timeout or modification
     mechanism.
     
     *    It is not uncommon for this information to be years out of date at
          many sites around the Internet.  Hence it is likely to take years to
          revise this bootstrapping information.
     
     Continuing the DNS example:  Like any other zone, the root zone
     contains a set of "name server" resource records listing its
     servers, but a resolver with no valid addresses for the current set
     of root servers will never be able to obtain these records.  More
     insidiously, a resolver that has a mixed set of partially valid and
     partially stale out-of-band configuration information will not be
     able to tell which are the "real" root servers if it gets back
     conflicting answers.
     
     *    Thus, it is very difficult to revoke the status of a malicious
          operational root server, or even to route around a buggy root server.
     
     In effect, every full-service resolver in the world "delegates" the
     root of the public tree to the public root server(s) of its choice.
     
     As a direct consequence, any change to the list of IP addresses that
     specifies the public root zone is significantly more difficult than
     a change to any other aspect of the DNS delegation chain.   Thus,
     stability of the system calls for extremely conservative and
     cautious management of the public root zone: the frequency of
     updates to the root zone must be kept low, and the servers for the
     root zone must be closely coordinated.
     
     To some extent DNS Security Extensions [DNSSEC] can ameliorate these
     problems, but a similar out-of-band configuration problem exists for
     the cryptographic signature key to the root zone, so the root zone
     still requires tight coupling and coordinated management even in the
     presence of DNSSEC.



4.   CENTRAL VS. DISTRIBUTED ADMINISTRATIVE CONTROL
     
     Connectivity and routing in the Internet are accomplished through
     highly distributed and independent efforts.  There is no central
     coordination for the administration of Internet connectivity.  In
     the early Internet, there was a centrally administered core
     backbone.  Creation of independent backbones has proved to be a
     major enhancement to the Internet.  In particular it created a
     substantially more robust operational environment.
     
     IP address and DNS assignment activities are markedly different,
     with entirely centralized û albeit hierarchically delegated and
     distributed û authority.  It is tempting to look at the history of
     distribution and independence, for Internet connectivity, and seek
     to emulate that history, for address or name assignment.  It could
     then be claimed that multiple assignment activities, for the same
     set of values, somehow would make the Internet more open, more
     competitive or more robust.
     
     The problem is with the difference in semantics.  Multiple backbones
     create multiple routes between locations.  This creates robustness
     in connectivity, not differences in the ômeaningö of that
     connectivity.  Follow any of the different paths and you still reach
     the same destination.
     
     *    Having multiple assignment authorities û and therefore multiple
          assignment spaces û does create different meaning.  It creates ambiguity,
          not robustness.  The ambiguity occurs simply.  Different mapping services
          that are based on assignments by different authorities will produce
          different answers for the same values.
     
     It should also be noted that the benefits of the model allowing
     multiple backbones comes at a considerable cost.  Maintaining
     proper, global routing is very substantially more difficult than
     with a single, centralized routing administration model.



5.   CONCLUSION
     
     This paper has discussed administration of hierarchical spaces, used
     in the Internet for infrastructure identification and mapping.  Such
     administrative spaces have significant technical limitations.  For
     example no amount of policy-making can change the requirement for a
     single administrative authority over an assignment space, if the
     values in that space are to be assigned uniquely.
     
     Policy issues do abound, even for assignment spaces.  For example
     the choice and design of an administrative authority is more a
     matter of policy than technology.  However the requirement that
     there be a single authority is purely technical.
     
     The DNS type of unique naming and name-mapping system is designed
     for a specific set of functions. Such a system may not be ideal for
     a number of purposes for which it was never designed, such as
     locating information when the user does not precisely know the
     complete, correct name. As the Internet continues to expand,
     searching-oriented directory systems are expected to evolve, to
     assist the user in dealing with vague or ambiguous references.
     
     *    There is no getting away from the requirement for unique
          administrative authority for the root of an administrative hierarchy, and
          for each of its subordinate nodes.

     *    Independent operational servers that accurately replicate copies of
          that authoritative data, can improve reliability, but have no effect on
          assignment activities.



6.   SECURITY CONSIDERATIONS
     
     This memo does not introduce any new security issues, but it does
     attempt to identify some of the problems inherent in a family of
     recurring technically naive proposals.



7.   IANA CONSIDERATIONS
     
     This memo is not intended to create any new issues for IANA.



8.   REFERENCES
     [DNS-CONCEPTS] Mockapetris, P., "Domain Names - Concepts and
                    Facilities", STD 13, RFC 1034, November 1987.
     [DNS-IMPLEM]   Mockapetris, P., "Domain Names û Implementation and
                    Specification", STD 13, RFC 1035, November 1987.
     [DNSSEC]       Eastlake, D., "Domain Name System Security
                    Extensions", RFC 2535, March 1999.
     [RFC2826]      IAB, ôIAB Technical Comment on the Unique DNS Rootö,
                    RFC 2826, May 2000
     [RFC1918]      Y. Rekhter, B. Moskowitz, D. Karrenberg, G. J. de
                    Groot, E. Lear.Address ôAllocation for Private
                    Internetsö, RFC1918, February 1996.



9.   AUTHOR'S ADDRESS
     
     Dave Crocker
     Brandenburg InternetWorking
     675 Spruce Drive
     Sunnyvale, CA  94086  USA
     
     +1.408.246.8253
     dcrocker@brandenburg.com



10.  FULL COPYRIGHT STATEMENT
     
     Copyright (C) The Internet Society (2001).  All Rights Reserved.
     
     This document and translations of it may be copied and furnished to
     others, and derivative works that comment on or otherwise explain it
     or assist in its implementation may be prepared, copied, published
     and distributed, in whole or in part, without restriction of any
     kind, provided that the above copyright notice and this paragraph
     are included on all such copies and derivative works.  However, this
     document itself may not be modified in any way, such as by removing
     the copyright notice or references to the Internet Society or other
     Internet organizations, except as needed for the purpose of
     developing Internet standards in which case the procedures for
     copyrights defined in the Internet Standards process must be
     followed, or as required to translate it into languages other than
     English.
     
     The limited permissions granted above are perpetual and will not be
     revoked by the Internet Society or its successors or assigns.
     
     This document and the information contained herein is provided on an
     "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
     TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
     BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
     HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
     MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.



11.  ACKNOWLEDGEMENTS
     
     RFC 2826 was the result of a collective effort by the Internet
     Architecture Board, responding to serious confusion in some public
     discussion forums.  RFC 2826 went a considerable distance towards
     clarifying basic principals of technical administration for the DNS,
     and served well to surface even more basic matters of community
     misunderstanding about Internet administration and operation.