Internet DRAFT - draft-francis-ipngwg-unique-site-local

draft-francis-ipngwg-unique-site-local



                                                                     
Internet Draft                                                P. Francis
<draft-francis-ipngwg-unique-site-local-00.txt>           TAHOE Networks
Category: Standards Track                                      Feb. 2001
 
 
                 IPv6 Near-Unique Site-Local Addresses 
                                     
                                     
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. 
    
    
Abstract 
    
   For many or most sites, site-local addresses are used for packets 
   between nodes within the site.  The fact that site-local addresses 
   are not globally unique makes their usage and administration more 
   difficult than they would be if there were globally unique (or 
   nearly globally unique).  For instance, before two sites can be 
   merged, one of them has to be renumbered.  The meaning of site-local 
   addresses becomes ambiguous when they are taken out of the immediate 
   context of the IPv6 layer, for instance when they are conveyed in 
   email or stored in text files. 
    
   All other things being equal, it would be preferable if the prefix 
   of addresses with site-local scope were as globally unique as 
   possible.  This draft expands the format of the site-local address 
   to allow them to be near-unique.  It does not, however, change the 
   definition or usage of the site-local address.  This draft describes 
   the format and assignment method of near-unique site-local prefixes.  
   It also outlines some usage scenarios. 
    
1  Introduction 
    
   One of the purposes for using site-local addresses within a site is 
   to allow internal communications to continue while global addresses 
 
Francis          Standards Track - Expires Aug. 2001            Page 1  
                IPv6 Near-Unique Site Local Addresses         Feb 2001 
 
   are being renumbered.  Site-local addresses as defined today are not 
   globally unique --- they all share a common prefix (FEC0::/48) [1].  
   In other words, they are re-used addresses in much the same way that 
   IPv4 net 10 addresses are re-used (with two key differences:  First, 
   because of the uniqueness of IPv6 interface ID field, individual 
   addresses are less likely to be exactly identical.  Second, IPv6 
   nodes in non-isolated sites will have global addresses in addition 
   to the site-locals.) 
    
   These differences not-with-standing, the use of site-locals creates 
   ambiguities that can result in errors and increased administration.  
   For instance, for two sites to merge, one of them almost certainly 
   must be renumbered before site-local addresses may be exchanged by 
   routing protocols.  The host identified by a site-local address may 
   not be known if that address is read out of context --- that is, in 
   a text file or email message. 
    
   All things being equal, it is better if site-local addresses are as 
   globally unique as possible.  This suggestion has been raised and 
   discussed repeatedly on the IPv6 mailing list (in May 1997, Dec 
   1998, Nov 1999, Feb 2000), though never with conclusive results.  In 
   the opinion of the author, one of the reasons no conclusion has been 
   reached is that multiple issues were often mixed together in these 
   discussions --- whether or not to get rid of (non-unique) site-
   locals, whether or not to use two-faced DNS, and what the new role 
   of site-locals should be.  Another reason is that there was never a 
   complete and concise proposal on which to base the discussion, so it 
   was never fully clear what was being proposed. 
    
   The purpose of this internet-draft is to provide that complete and 
   concise proposal in order to allow progress to be made on this 
   issue. 
    
   In a nutshell, the proposal is this: 
    
   1.  Make site-local addresses near-unique by putting allowing the 
   current 38-bit all-zeros field of the site-local address to contain 
   any value.  This field is called the site-local identifier.  The 
   all-zeros value is used as is by sites that don't require near-
   uniqueness. 
   2.  For all remaining (non-zero) values, the site-local identifier 
   is selected randomly by each site that wants one (if necessary by 
   literally tossing 38 coins).  Thus the site-local is only 
   statistically unique.  In particular, there is no registry for site-
   local identifiers.   
   3.  Make no changes to existing host or router implementations.  
   (Assuming that existing host and router implementations correctly 
   recognize the site-local prefix as a /10 as defined in section 2.4 
   of RFC 2373 [1], and not incorrectly as a /48 (as might be assumed 
   from section 2.5.8 of RFC 2373). 
    
    
 
Francis           Standards Track - Expires Aug 2001            Page 2  
                IPv6 Near-Unique Site Local Addresses         Feb 2001 
 
    
1.1 Conventions used in this document 
 
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in 
   this document are to be interpreted as described in RFC 2119 [2]. 
    
    
2  Terminology 
    
   This document defines the following new terms: 
    
   Near-unique site-local:   
      A site-local IPv6 address with a non-zero value in the 38-bit 
      field following the FEC0::/10 prefix. 
       
   Default site-local 
      A site-local IPv6 address with a zero value in the 38-bit field 
      following the FEC0::/10 prefix. 
       
   Site-Local 
      Either a near-unique site-local or a default site-local. 
 
   Site-Local Identifier 
      The 38-bit field in the site-local address. 
       
   Duplicate Site-Local Identifier 
      A site-local identifier used by more than one site. 
       
   Registry 
      For the purposes of this document, a registry is defined as an 
      entity that assigns identifiers in such a way as to guarantee 
      uniqueness.  They do this by remembering which numbers have been 
      assigned, and checking new assignments against previous 
      assignments to insure no duplicates.  This checking may be either 
      explicit (an actual list is kept), or implicit (by keeping a 
      counter and assigning consecutive values).  By contrast, an 
      entity that provides a site with true random identifiers as a 
      service is not considered a registry as defined here. 
       
 
       
3  Goals and Non-goals 
    
   The goals of this proposal are quite modest.  Indeed there is only 
   one goal:  to allow a site to use site-local addresses that are 
   globally unique with high probability. 
    
   More interesting are the non-goals (and the reasons why they are 
   non-goals). 
    
 
Francis           Standards Track - Expires Aug 2001            Page 3  
                IPv6 Near-Unique Site Local Addresses         Feb 2001 
 
   It is not a goal to completely obviate the need for renumbering of 
   site-local addresses.  While it will be possible for two merged 
   sites to operate indefinitely without renumbering their near-unique 
   site-locals, some sites may not wish to run DNS or routing in such a 
   way that allows this.  Such sites may prefer to renumber. 
    
   It is not a goal to allow a host to always know if a destination 
   host can or cannot be reached intra-site by comparing their near-
   unique site-local addresses.  Two near-unique site-locals with the 
   same /48 prefix may be unreachable, and two near-unique site-locals 
   with different prefixes may be reachable.  Therefore we still rely 
   on DNS returning addresses that the requesting host can use to reach 
   the destination. 
    
   Put more succinctly, a site-local identifier does not identify a 
   site. 
    
   It is not a goal for all site-local identifiers to be absolutely 
   100% guaranteed to be globally unique.  (Which is fortunate because 
   it is impossible to make this guarantee even with a registry.)  
   Rather, non-zero site-local identifiers are globally unique with 
   high probability (as long as they have been chosen randomly). 
    
   It is not a goal that an administration actually "owns", in some 
   legal sense, the site-local identifier(s) it uses.  Because near-
   unique site-locals are only used internally, the existence of a 
   duplicate in another site causes no problem unless the two sites 
   choose to merge.  Once they choose to merge, the damage is done --- 
   one or the other must renumber.  Since the decision to merge implies 
   that the two administrations are cooperating, there is little value 
   in allowing one or the other to claim ownership on the site-local 
   identifier. 
    
      
    
    
4  Details of the Proposal 
    
   RFC 2373 defines all addresses with the prefix FEC0::/10 as being a 
   site-local [1].  It further defines the 38 bits immediately 
   following this prefix as containing all zeros: 
    
   |   10     | 
   |  bits    |   38 bits   |  16 bits  |         64 bits            | 
   +----------+-------------+-----------+----------------------------+ 
   |1111111011|    0        | subnet ID |       interface ID         | 
   +----------+-------------+-----------+----------------------------+ 
    
   This proposal expands the format but not the definition of the site-
   local.  Specifically, the 38-bit site-local identifier field may 
   take on any value, not only value 0. 
    
 
Francis           Standards Track - Expires Aug 2001            Page 4  
                IPv6 Near-Unique Site Local Addresses         Feb 2001 
 
   It is important to note that only the format and not the definition 
   of the field is changing.  The site-local address is treated the 
   same by IPv6 nodes and by DNS whether it has zero or non-zero values 
   in the site-local identifier field. 
    
   A site-local with a 0 value site-local identifier is the default 
   site-local.  Because many sites will use the default value, this 
   will continue to be a heavily re-used prefix. 
    
   All other values are valid values.  They MUST be assigned randomly.  
   There SHOULD NOT be any large-scale attempt to insure their 
   uniqueness other than random assignment.  In particular, there MUST 
   NOT be any notion of ownership attached to the values.  Any site has 
   as much right to use any given value as any other.   
    
   A site may of course check with other sites it expects to 
   interconnect with in the future before selecting a given value. 
    
4.1 Choosing a random value 
    
   It is in the best interests of every site to choose a number that is 
   as random as possible.  Any non-randomness in the number only 
   increases the probability that it is a duplicate. 
    
   Given that the random number generation is a one-time event per 
   site, if a site generates its own number it is strongly advised that 
   the number SHOULD be generated by tossing a coin 38 times.  This 
   process takes approximately 5 minutes. 
    
   If a service provider wishes to provide random site-local 
   identifiers to its customers, tossing a coin may be inconvenient.  
   In this case, the good techniques described in RFC 1750 [3] are 
   appropriate.  In any event, the service provider MUST NOT use any 
   method other than good random number generation, and the service 
   provider SHOULD NOT attempt to cross-check generated numbers against 
   previous assignments as such attempts are prone to failure and 
   reduce the psychological importance of generating good random 
   numbers. 
    
4.2 Non-compliant host and router implementations 
    
   Any existing IPv6 nodes that do not recognize site-local addresses 
   with non-zero site-local identifier fields as being site-local are 
   in violation of RFC 2373 [1].  These implementations must be fixed 
   so that they interpret FEC0::/10, and not just FEC0::/48, as being 
   site-local. 
    
4.3 IPv6 routers that are not in a site 
    
   All routers that are not in a site (i.e. backbone or core routers) 
   SHOULD treat each interface as being a site boundary.  In other 
 
Francis           Standards Track - Expires Aug 2001            Page 5  
                IPv6 Near-Unique Site Local Addresses         Feb 2001 
 
   words, they SHOULD NOT allow FEC0::/10 addresses to cross those 
   interfaces. 
    
    
5  Scenarios and Discussion 
 
5.1 Why random address assignment? 
    
   It is impossible to 100% guarantee global uniqueness across all 
   site-local identifiers, so it is pointless to go through the 
   tremendous trouble and expense of trying. 
    
   The reason is simple.  If a site splits, and neither half renumbers, 
   then there will be duplicate site-local identifiers.  Over time, 
   both halves will assign duplicate SLAs, so it will be impossible to 
   later merge the halves without renumbering.  Since the number of 
   sites that will have duplicates because of splitting is greater than 
   the number of sites that will have duplicates because of random 
   probabilities, attempting to assign unique numbers through a 
   registry doesn't help. 
    
   Another reason for not using a registry is that it is probable that 
   more duplicates would result using a registry than using random 
   numbers.  This is because there is no innate mechanism of detecting 
   errors in the assignment process.  Since site-local addresses are 
   kept local, there is no global infrastructure equivalent to the DNS 
   or IP routing to detect duplicates.  Therefore errors in the 
   assignment process will go undetected. 
    
   It is likely that errors in a registry process will produce more 
   duplicates than random number generation.  If a registry assigns 
   numbers consecutively (the easiest thing to do), then a mistyping of 
   an identifier during its handling is very likely to result in its 
   duplicating a "legitimate" identifier.  This is because with 
   consecutive numbers the values are all packed together and almost 
   any change in a digit will result in another assigned (or soon-to-
   be-assigned) value.  (In other words, mistyping 12345 as 12344 is 
   much more likely than mistyping 12345 as 1000002345.)  Because 
   random numbers are spread out, mistyping of a random value is much 
   less likely to result in a duplicate. 
    
   If on the other hand the registry assigns values randomly with 
   explicit checks for duplicates, a software error could easily 
   produce duplicates that go undetected for a long time. 
    
   A final advantage for not having a registry is that it makes it 
   harder in the future to justify making near-unique site-locals 
   globally routable.  The facts that any given site-local identifier 
   may be a duplicate, that there is no way to know if it is a 
   duplicate, and that no-one can claim legal ownership to it, adds 
   weight to arguments against trying to advertise it globally. 
    
 
Francis           Standards Track - Expires Aug 2001            Page 6  
                IPv6 Near-Unique Site Local Addresses         Feb 2001 
 
   It is for the above reasons that we don't assign a "spare bit" in 
   the site-local identifier.  That is, define the first bit as 0 for 
   random assignments so that later a registry can be created with 
   jurisdiction over all values where the first bit is 1.   
    
   One downside of random number assignment is that users are going to 
   think it is weird.  Some may choose not to do it, and end up with 
   less-than-random numbers.  Such people are more likely to have 
   duplicates with each other.  People that do properly select random 
   numbers are no more likely (in fact are less likely) to have 
   duplicates with the less-than-random numbers. 
    
5.2 What is the probability of duplicates? 
    
   The probability of a duplicate assignment somewhere is N^2/2^38, 
   where N is the number of assigned site-local identifiers.  This 
   means that there will probably be a duplicate somewhere after 500000 
   assignments, and 3 or 4 duplicates after 1000000 assignments. 
    
   What is important though is not the probability of a duplicate 
   somewhere, but the probability of any given site trying to connect 
   or merge with a site that has a duplicate.  (In other words, what is 
   interesting is not whether someone will win the lottery, but whether 
   you will win the lottery.) 
    
   If over the lifetime of a site it merges (even partially and 
   temporarily) with as many as 10000 other sites, the probability that 
   it will encounter a duplicate is 0.03%.  The probability is 
   correspondingly less if a site merges less. 
    
   This probability is so low that it is negligible next to the 
   probability that a site will split and then later re-merge with the 
   split half. 
    
5.3  Why don't near-unique site-local prefix comparisons identify 
sites? 
    
   If prefix comparisons could determine whether two addresses were in 
   the same site, DNS operation could be made easier. Near-unique site-
   locals could be stored in DNS and put in DNS answers without regard 
   for whether the requester was inside or outside the site. 
    
   Unfortunately this is not the case.  Duplicate site-local 
   identifiers in different sites are quite possible (because of 
   splitting).  So are different site-local identifiers in the same 
   site.  If two sites merge but don't renumber their near-unique site-
   locals, then a comparison of the two prefixes would indicate that 
   they are in different sites when they are not. 
    
   What this means is that DNS must discriminate its answers based on 
   where its requests come from just as it must today with default 
 
Francis           Standards Track - Expires Aug 2001            Page 7  
                IPv6 Near-Unique Site Local Addresses         Feb 2001 
 
   site-locals.  Requests from inside a site may be answered with near-
   unique site-local addresses.  Requests from outside cannot. 
    
      [Author's note:  Could possibly benefit here from a description 
      of how this is done, though on the other hand it could be 
      considered outside the scope of this document.]  
       
   It should be noted that implementations following the address 
   selection rules in draft-ietf-ipngwg-default-addr-select-02.txt [4] 
   will select site-local addresses before global addresses, regardless 
   of whether their prefixes match.  Therefore DNS can safely return 
   both global and site-local addresses to an internal requester. 
    
5.4 How to merge sites without renumbering near-unique site-locals 
    
   When two sites merge, it is not necessary to renumber the near-
   unique site-locals.  All that is necessary is that DNS be 
   reconfigured so that it returns the near-unique site-local addresses 
   of hosts in both halves for internal DNS requests. 
    
   There may be other reasons, however, that renumbering is necessary 
   when two sites merge.  Specifically, if a site wishes to use RFC 
   2894 site-wide router renumbering [5], then all SLAs in the site 
   must be unique.  Even if two sites have different site-local 
   identifiers, one site or the other must renumber the duplicate SLAs 
   (without the benefit of RFC 2894) before adopting a common global 
   address prefix. 
    
    
    
6  Security Considerations  
    
   There are no new security considerations that result from this 
   proposal. 
    
    
7  Acknowledgements 
    
   There are no new ideas in this draft.  The basics of this proposal 
   have been floating around the IPv6 mailing list literally for years.  
   Because I would inevitably get it wrong, I won't even try to give 
   individual credit (or blame, as the case may be) for the ideas.  You 
   know who you are.  The archives speak for themselves. 
    
   I would like to acknowledge Robert Elz for reviewing an early 
   version of this draft. 
    
    
8  Copyright 
    
   The following copyright notice is copied from RFC 2026 [Bradner,  
   1996], Section 10.4, and describes the applicable copyright for this  
 
Francis           Standards Track - Expires Aug 2001            Page 8  
                IPv6 Near-Unique Site Local Addresses         Feb 2001 
 
   document. 
    
   Copyright (C) The Internet Society XXX 0, 0000. 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 assignees. 
    
   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. 
    
    
9  Intellectual Property 
    
   The following notice is copied from RFC 2026 [Bradner, 1996],  
   Section 10.4, and describes the position of the IETF concerning  
   intellectual property claims made against this document. 
    
   The IETF takes no position regarding the validity or scope of any  
   intellectual property or other rights that might be claimed to  
   pertain to the implementation or use other technology described in  
   this document or the extent to which any license under such rights  
   might or might not be available; neither does it represent that it  
   has made any effort to identify any such rights.  Information on the  
   IETF's procedures with respect to rights in standards-track and  
   standards-related documentation can be found in BCP-11.  Copies of  
   claims of rights made available for publication and any assurances  
   of licenses to be made available, or the result of an attempt made  
   to obtain a general license or permission for the use of such  
   proprietary rights by implementers or users of this specification  
   can be obtained from the IETF Secretariat. 
    
   The IETF invites any interested party to bring to its attention any  
   copyrights, patents or patent applications, or other proprietary  
   rights which may cover technology that may be required to practice  
 
Francis           Standards Track - Expires Aug 2001            Page 9  
                IPv6 Near-Unique Site Local Addresses         Feb 2001 
 
   this standard.  Please address the information to the IETF Executive  
   Director. 
    
    
    
10 References 
                     
   1   S. Deering, R. Hinden, Editors, "IP Version 6 Addressing 
   Architecture", RFC 2373, July 1998. 
    
   2   S. Bradner, "Key words for use in RFCs to Indicate Requirement 
   Levels", BCP 14, RFC 2119, March 1997. 
    
   3 D. Eastlake 3rd, S. Crocker, J. Schiller, "Randomness 
   Recommendations for Security", RFC 1750, December 1994. 
    
   4   R. Draves, "Default Address Selection for IPv6", draft-ietf-
   ipngwg-default-addr-select-02.txt, November 2000. 
    
   5 M. Crawford, "Router Renumbering for IPv6", RFC 2894, August 2000. 
 
 
Author Addresses: 
 
   Paul Francis 
   TAHOE Networks 
   paul@francis.com 
 
Francis           Standards Track - Expires Aug 2001           Page 10