home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_i / draft-ietf-ipngwg-esd-analysis-01.txt < prev    next >
Text File  |  1997-09-16  |  136KB  |  2,911 lines

  1.  
  2. INTERNET-DRAFT                                             Matt Crawford
  3.                                                                 Fermilab
  4. <draft-ietf-ipngwg-esd-analysis-01.txt>                   Allison Mankin
  5.                                                                      ISI
  6.                                                            Thomas Narten
  7.                                                                      IBM
  8.                                                     John W. Stewart, III
  9.                                                                      ISI
  10.                                                              Lixia Zhang
  11.                                                                     UCLA
  12.                                                            July 30, 1997
  13.  
  14.              Separating Identifiers and Locators in Addresses:
  15.                  An Analysis of the GSE Proposal for IPv6
  16.  
  17.                   <draft-ietf-ipngwg-esd-analysis-01.txt>
  18.  
  19.  
  20. Status of this Memo
  21.  
  22.    This document is an Internet-Draft. Internet-Drafts are working
  23.    documents of the Internet Engineering Task Force (IETF), its areas,
  24.    and its working groups. Note that other groups may also distribute
  25.    working documents as Internet-Drafts.
  26.  
  27.    Internet-Drafts are draft documents valid for a maximum of six months
  28.    and may be updated, replaced, or obsoleted by other documents at any
  29.    time. It is inappropriate to use Internet-Drafts as reference
  30.    material or to cite them other than as "work in progress."
  31.  
  32.    To learn the current status of any Internet-Draft, please check the
  33.    "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
  34.    Directories on ds.internic.net (US East Coast), nic.nordu.net
  35.    (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific
  36.    Rim).
  37.  
  38.    Distribution of this memo is unlimited.
  39.  
  40.    This Internet Draft expires January 30, 1997.
  41.  
  42.  
  43. Abstract
  44.  
  45.    On February 27-28, 1997, the IPng Working Group held an interim
  46.    meeting in Palo Alto, California to consider adopting Mike O'Dell's
  47.    'GSE - An Alternate Addressing Architecture for IPv6' proposal [GSE].
  48.    In GSE, 16-byte IPv6 addresses are split into three portions: a
  49.    globally unique End System Designator (ESD), a Site Topology
  50.  
  51.  
  52.  
  53. draft-ietf-ipngwg-esd-analysis-01.txt                           [Page 1]
  54.  
  55. INTERNET-DRAFT                                             July 30, 1997
  56.  
  57.  
  58.    Partition (STP) and a Routing Goop (RG) portion. The STP corresponds
  59.    (roughly) to a site's subnet portion of an IPv4 address, whereas the
  60.    RG identifies the attachment point to the public Internet. Routers
  61.    use the RG+STP portions of addresses (called 'Routing Stuff' in this
  62.    document) to route packets to the link to which the destination is
  63.    directly attached; the ESD is used to deliver the packet across the
  64.    last hop link. An important idea in GSE is that nodes within a site
  65.    do not know the RG portion of their addresses. A border router at the
  66.    site's Internet connect point would dynamically replace the RG part
  67.    of source addresses of all outgoing IP datagrams and the RG part of
  68.    destination addresses on incoming traffic.
  69.  
  70.    This document provides a detailed analysis of the GSE plan. Much of
  71.    the analysis presented here is an expansion of official meeting
  72.    minutes, though it also includes issues uncovered by the authors in
  73.    the process of fully fleshing out the analysis. In summary, the
  74.    working group eventually decided that the full addresses of nodes
  75.    within a site should not be hidden from those nodes, so as a result
  76.    it is not necessary for routers to rewrite the Routing Goop portion
  77.    of addresses.  However, other parts of the GSE plan were adopted
  78.    (e.g., having 64-bit interface identifiers with an option for
  79.    specifying them as globally unique and easing the renumbering of the
  80.    high-order portion of addresses within DNS).
  81.  
  82.    In addition to analyzing the GSE proposal in particular, the document
  83.    also studies the general issue of separating network layer addresses
  84.    into two separate values satisfying location and identification
  85.    purposes, respectively.
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109. draft-ietf-ipngwg-esd-analysis-01.txt                           [Page 2]
  110.  
  111. INTERNET-DRAFT                                             July 30, 1997
  112.  
  113.  
  114.    Contents
  115.  
  116.    Status of this Memo..........................................    1
  117.  
  118.    1.  Introduction.............................................    4
  119.  
  120.    2.  Addressing and Routing in IPv4...........................    5
  121.       2.1.  The Need for Aggregation............................    7
  122.       2.2.  The Pre-CIDR Internet...............................    7
  123.       2.3.  CIDR and Provider-Based Addressing..................    8
  124.       2.4.  Multi-Homing and Aggregation........................   11
  125.  
  126.    3.  GSE Background...........................................   14
  127.       3.1.  Motivation For GSE..................................   14
  128.       3.2.  GSE Address Format..................................   15
  129.       3.3.  Routing Stuff (RG and STP)..........................   15
  130.       3.4.  End-System Designator...............................   17
  131.       3.5.  Address Rewriting by Border Routers.................   18
  132.       3.6.  Renumbering and Rehoming Mid-Level ISPs.............   19
  133.       3.7.  Support for Multi-Homed Sites.......................   20
  134.       3.8.  Explicit Non-Goals for GSE..........................   21
  135.  
  136.    4.  Analysis of GSE's Advantages and Disadvantages...........   21
  137.       4.1.  End System Designator...............................   21
  138.          4.1.1.  Uniqueness Enforcement in the IPv4 Internet....   21
  139.          4.1.2.  Overloading Addresses: Network Layer Issues....   23
  140.          4.1.3.  Overloading Addresses: Transport Layer Issues..   24
  141.          4.1.4.  Potential Benefits of Globally Unique ESDs.....   25
  142.          4.1.5.  ESD: Network Layer Issues......................   26
  143.          4.1.6.  ESD: Transport Layer Issues....................   28
  144.          4.1.7.  On The Uniqueness Of ESDs......................   34
  145.          4.1.8.  DNS PTR Queries................................   35
  146.          4.1.9.  Reverse Mapping of ESDs........................   37
  147.          4.1.10.  Reverse Mapping of Complete GSE Addresses.....   38
  148.          4.1.11.  The ICMP "Who Are You" Message................   39
  149.       4.2.  Renumbering and Domain Name System (DNS) Issues.....   40
  150.          4.2.1.  How Frequently Can We Renumber?................   40
  151.          4.2.2.  Efficient DNS support for Site Renumbering.....   41
  152.          4.2.3.  Two-Faced DNS..................................   42
  153.          4.2.4.  Bootstrapping Issues...........................   43
  154.          4.2.5.  Renumbering and Reverse DNS Lookups............   44
  155.       4.3.  Address Rewriting Routers...........................   44
  156.          4.3.1.  Load Balancing.................................   45
  157.          4.3.2.  End-To-End Argument: Don't Hide RG from Hosts..   45
  158.       4.4.  Multi-Homing........................................   46
  159.  
  160.    5.  Results..................................................   48
  161.  
  162.  
  163.  
  164.  
  165. draft-ietf-ipngwg-esd-analysis-01.txt                           [Page 3]
  166.  
  167. INTERNET-DRAFT                                             July 30, 1997
  168.  
  169.  
  170.    6.  Security Considerations..................................   49
  171.  
  172.    7.  Acknowledgments..........................................   49
  173.  
  174.    8.  References...............................................   49
  175.  
  176.    9.  Authors' Addresses.......................................   51
  177.  
  178.  
  179. 1.  Introduction
  180.  
  181.    In October of 1996, Mike O'Dell published an Internet-Draft (dubbed
  182.    "8+8") that proposed significant changes to the IPv6 addressing
  183.    architecture. The 8+8 proposal was the topic of considerable
  184.    discussion at the December 1996 IETF meeting in San Jose. Because the
  185.    proposal offered both potential benefits (e.g., enhanced routing
  186.    scalability) and risks (e.g., changes to the basic IPv6
  187.    architecture), the IPng Working Group held an interim meeting on
  188.    February 27-28, 1997 to consider adopting the 8+8 proposal. The
  189.    meeting, at which over 45 persons attended, was held at Sun
  190.    Microsystems' PAL1 facility in Palo Alto, CA.
  191.  
  192.    Shortly before the interim meeting, an updated version of the
  193.    Internet-Draft was produced, in which the name of the proposal was
  194.    changed from "8+8" to "GSE," to identify the three separate
  195.    components of the address:  Global, site and End-System Designator.
  196.    This last version of the GSE proposal was published as an
  197.    Informational RFC [GSE] for historical purposes.
  198.  
  199.    The purpose of the meeting was to evaluate the GSE proposal and
  200.    decide whether to adopt it in whole or in part or to reject it.
  201.  
  202.    The well-attended meeting generated high caliber, focused technical
  203.    discussions on the issues involved, with participation by almost all
  204.    of the attendees. By the middle of the second day there was unanimous
  205.    agreement by the attendees that the GSE proposal as written presented
  206.    too many risks and should not be adopted as the basis for IPv6.
  207.    However, the attendees also concluded that some of the issues
  208.    discussed in the GSE proposal were equally applicable to the current
  209.    IPv6 provider-based addressing plan and had enough benefit to warrant
  210.    further consideration apart from the GSE address format. These
  211.    changes include:
  212.  
  213.      1) Making changes to the IPv6 provider-based addressing document to
  214.         facilitate increased aggregation.
  215.  
  216.      2) Creating hard boundaries in IPv6 addresses to clearly
  217.         distinguish between the portions used for identifying hosts and
  218.  
  219.  
  220.  
  221. draft-ietf-ipngwg-esd-analysis-01.txt                           [Page 4]
  222.  
  223. INTERNET-DRAFT                                             July 30, 1997
  224.  
  225.  
  226.         for routing.
  227.  
  228.      3) Having an option to indicate that the low-order 8 bytes of an
  229.         IPv6 address is a globally unique End System Designator (ESD).
  230.         This change has potential benefits to future transport protocols
  231.         (e.g., TCPng).
  232.  
  233.      4) Making a clear distinction between the "locator" part of an
  234.         address and the "identifier" part of the address. The former is
  235.         used to route a packet to its end-point, the latter is used to
  236.         identify an end-point, independent of the path used to deliver
  237.         the packet.
  238.  
  239.      5) Making changes to the way AAAA records are stored within the
  240.         DNS, so that renumbering a site (e.g., when a site changes ISPs)
  241.         requires few changes to the DNS database in order to effectively
  242.         change all of a site's address AAAA RRs.
  243.  
  244.    While this document does contain an analysis of the specific
  245.    mechanisms of the GSE proposal, much of document's analysis applies
  246.    to any proposal in which the identifying and locating properties of
  247.    an address (which are combined in IPv4) are split apart into
  248.    separable pieces.
  249.  
  250.  
  251. 2.  Addressing and Routing in IPv4
  252.  
  253.    Before dealing with details of GSE, we present some background about
  254.    how routing and addressing works in "classical IP" (i.e., IPv4). We
  255.    present this background because the GSE proposal proposes a fairly
  256.    major change to the base model. In order to properly evaluate the
  257.    benefits of GSE, one must understand what problems in IPv4 it alleges
  258.    to improve or fix.
  259.  
  260.    The structure and semantics of a network layer protocol's addresses
  261.    are absolutely core to that protocol. Addressing substantially
  262.    impacts the way packets are routed, the ability of a protocol to
  263.    scale and the kinds of functionality higher layer protocols can
  264.    provide. Indeed, addressing is intertwined with both routing and
  265.    transport layer issues; a change in any one of these can impact
  266.    another. Issues of administration and operation (e.g., address
  267.    allocation and required renumbering), while not part of the pure
  268.    exercise of engineering a network layer protocol, turn out to be
  269.    critical to the scalability of that protocol in a global and
  270.    commercial network. The interaction between addressing, routing and
  271.    especially aggregation is particularly relevant to this document, so
  272.    some time will be spent describing it.
  273.  
  274.  
  275.  
  276.  
  277. draft-ietf-ipngwg-esd-analysis-01.txt                           [Page 5]
  278.  
  279. INTERNET-DRAFT                                             July 30, 1997
  280.  
  281.  
  282.    Addresses in IPv4 serve two purposes:
  283.  
  284.      1) Unique identification of an interface. An IP address by itself
  285.         identifies which interface a packet should be delivered to.
  286.  
  287.      2) Location information of that interface. Routers extract location
  288.         information from a packet's destination address in order to
  289.         route it towards its ultimate destination. That is, addresses
  290.         identify "where" the intended recipient is located within the
  291.         Internet topology.
  292.  
  293.         For scalability, the location information contained in addresses
  294.         must be aggregatable. In practice, this means nodes
  295.         topologically close to each other (e.g., connected to the same
  296.         link, residing at the same site, or customers of the same ISP)
  297.         must use addresses that share a common prefix.
  298.  
  299.    What is important to note is that these identification and location
  300.    requirements have been met through the use of the same value, namely
  301.    the IP address. As will be noted repeatedly in this document, the
  302.    "over-loading" of IPv4 addresses with multiple semantics has some
  303.    undesirable implications. For example, the embedding of IPv4
  304.    addresses within transport protocol addresses that identify the end-
  305.    point of a connection couples those transport protocols with routing.
  306.    This entanglement is inconsistent with a strictly layered model in
  307.    which routing would be a completely independent function of the
  308.    network layer and not directly impact the transport layer.
  309.  
  310.    Combining locator and identifier functions also has the practical
  311.    impact of complicating the support for mobility. In a mobile
  312.    environment, the location of an end-station may change even though
  313.    its identity stays the same; ideally, transport connections should be
  314.    able to survive such changes. In IPv4, however, one cannot change the
  315.    locator without also changing the identifier.  Consequently,
  316.    conventional wisdom for some time has been that having separate
  317.    values for location and identification could be of significant
  318.    benefit. The GSE proposal attempts to make such a separation.
  319.  
  320.    This document frequently uses mobility as an example to demonstrate
  321.    the pros and cons of separating the identifier from the locator.
  322.    However, the reader should note the fundamental equivalence between
  323.    the problems faced by mobile hosts and the problem faced by sites
  324.    that change providers yet don't want to be required to renumber their
  325.    network. When a site changes providers, it moves (topologically) in
  326.    much the same way a mobile node does when it moves from one place to
  327.    another. Consequently, techniques that help (or hinder) mobility are
  328.    often relevant to the issue of site renumbering.
  329.  
  330.  
  331.  
  332.  
  333. draft-ietf-ipngwg-esd-analysis-01.txt                           [Page 6]
  334.  
  335. INTERNET-DRAFT                                             July 30, 1997
  336.  
  337.  
  338. 2.1.  The Need for Aggregation
  339.  
  340.    IPv4 has seen a number of different addressing schemes. Since the
  341.    original specification, the two major additions have been subnetting
  342.    and classless routing. The motivation for adding subnetting was to
  343.    allow a collection of networks located at one site to be viewed from
  344.    afar as being just one IP network (i.e., to aggregate all of the
  345.    individual networks into one bigger network). The practical benefit
  346.    of subnetting was that all of a site's hosts, even if scattered among
  347.    tens or hundreds of LANs, could be represented via a single routing
  348.    table entry in routers located far from the site. In contrast, prior
  349.    to subnetting, a site with ten LANs would advertise ten separate
  350.    network entries, and all routers would have to maintain ten separate
  351.    entries, even though they contained redundant information..
  352.  
  353.    The benefits of aggregation should be clear. The amount of work
  354.    involved in computing forwarding tables from routing tables is
  355.    dependent in part on the number of network routes (i.e.,
  356.    destinations) to which best paths are computed. If each site has 10
  357.    internal networks, and each of those networks is individually
  358.    advertised to the global routing subsystem, the complexity of
  359.    computing forwarding tables can easily be an order of magnitude
  360.    greater than if each site advertised just a single entry that covered
  361.    all of the addresses used within the site.
  362.  
  363.  
  364. 2.2.  The Pre-CIDR Internet
  365.  
  366.    In the early days of the Internet, the Internet's topology and its
  367.    addressing were treated as orthogonal. Specifically, when a site
  368.    wanted to connect to the Internet, it approached a centralized
  369.    address allocation authority to obtain an address and then approached
  370.    a provider about procuring connectivity. This procedure for address
  371.    allocation resulted in a system where the addresses used by customers
  372.    of the same provider bore little relation to the addresses used by
  373.    other customers of that provider. In other words, though the topology
  374.    of the Internet was mostly hierarchical (i.e., customers connected to
  375.    only one provider and the same path was used to reach all customers
  376.    of the same provider), the addressing was not, and little aggregation
  377.    of routes took place. An example of such a topology and addressing
  378.    scheme shown in Figure 1.
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389. draft-ietf-ipngwg-esd-analysis-01.txt                           [Page 7]
  390.  
  391. INTERNET-DRAFT                                             July 30, 1997
  392.  
  393.  
  394.  
  395.                 +----------------+
  396.                 |                |------- Customer1 (192.2.2.0)
  397.                 |                |------- Customer2 (128.128.0.0)
  398.                 |   Provider A   |------- Customer3 (18.0.0.0)
  399.                 |                |------- Customer4 (193.3.3.0)
  400.                 |                |------- Customer5 (194.4.4.0)
  401.                 +----------------+
  402.                         |
  403.                         |
  404.                         |
  405.                         |
  406.                 +----------------+
  407.                 |   Provider B   |
  408.                 +----------------+
  409.  
  410.                                  Figure 1
  411.  
  412.    Figure 1 shows Provider A having 5 customers, each with their own
  413.    independently obtained network addresses. Providers A and B connect
  414.    to each other. In order for Provider B to be able to send traffic to
  415.    Customers1-5, Provider A must announce each of the 5 networks to
  416.    Provider B. That is, the routers within Provider B must have explicit
  417.    routing entries for each of Provider A's customers, 5 separate routes
  418.    in Figure 1.
  419.  
  420.    Experience has shown that this approach scales very poorly. In the
  421.    Default-Free Zone (DFZ) of the Public Internet, where routers must
  422.    maintain routing entries for all reachable destinations, the cost of
  423.    computing forwarding tables quickly becomes unacceptably large. A
  424.    large part of the cost is related to the seemingly redundant
  425.    computations that must be made for each individual network, even
  426.    though the reality is that many reside in the same topological
  427.    location (e.g., the same provider). Looking at Figure 1, the problem
  428.    is that provider B performs 5 separate calculations to construct the
  429.    routing tables needed to reach each of A's customers.
  430.  
  431.  
  432.  
  433.  
  434. 2.3.  CIDR and Provider-Based Addressing
  435.  
  436.    One of the reasons Classless Inter-Domain Routing (CIDR) and its
  437.    associated provider-assigned address allocation policy were
  438.    introduced was to help reduce the size of and cost of computing
  439.    forwarding tables. CIDR reduces the cost of computing forwarding
  440.    tables by aggressively aggregating addresses. Aggregating addresses
  441.    means structuring them in such a way that the location of the nodes
  442.  
  443.  
  444.  
  445. draft-ietf-ipngwg-esd-analysis-01.txt                           [Page 8]
  446.  
  447. INTERNET-DRAFT                                             July 30, 1997
  448.  
  449.  
  450.    having those addresses can be represented by a single routing entry.
  451.    In CIDR, this means that addresses share a common prefix. The common
  452.    prefix provides location information for all addresses sharing that
  453.    same prefix.
  454.  
  455.    In CIDR, sites that want to connect to the Internet approach a
  456.    provider to procure both connectivity and a network address;
  457.    individual providers have a large block of address space covered by
  458.    one prefix and assign pieces of their space to customers.
  459.    Consequently, customers of the same provider have addresses that
  460.    share the same prefix. Note that CIDR started the use of the term
  461.    "prefix" to refer to a Classless network. The combination of CIDR and
  462.    provider-based addressing results in the ability for a provider to
  463.    address many hundreds of sites while introducing just *one* network
  464.    address into the global routing system, i.e., aggregating all of its
  465.    customers addresses under one prefix. An example of such a topology
  466.    and addressing scheme is shown in Figure 2.
  467.  
  468.  
  469.                 +----------------+
  470.                 |                |------- Customer1 (204.1.0.0/19)
  471.                 |                |------- Customer2 (204.1.32.0/23)
  472.                 |   Provider A   |------- Customer3 (204.1.34.0/24)
  473.                 |                |------- Customer4 (204.1.35.0/24)
  474.                 |                |------- Customer5 (204.1.36.0/23)
  475.                 +----------------+
  476.                         |
  477.                         |  A announces
  478.                         |  204.1/16 to B
  479.                         |
  480.                 +----------------+
  481.                 |   Provider B   |
  482.                 +----------------+
  483.  
  484.                                   Figure 2
  485.  
  486.    In Figure 2, Provider A has been assigned the classless block, or
  487.    "aggregate," 204.1.0.0/16 (i.e., a network prefix with 16 bits for
  488.    the network part and 16 bits for local use). Provider A has 5
  489.    customers, each of which has been assigned a prefix subordinate to
  490.    the aggregate.  In order for Provider B to be able to reach
  491.    Customers1-5, Provider A need only announce a single prefix,
  492.    204.1.0.0/16, because that prefix covers all of its customers. The
  493.    benefit for Provider B is that its routers need only a single routing
  494.    table entry to reach all of Provider A's customers. Note the
  495.    difference between the cases described in Figures 1 and 2. The
  496.    important difference in the two Figures is that the latter example
  497.    uses fewer slots in the routing table to reach the same number of
  498.  
  499.  
  500.  
  501. draft-ietf-ipngwg-esd-analysis-01.txt                           [Page 9]
  502.  
  503. INTERNET-DRAFT                                             July 30, 1997
  504.  
  505.  
  506.    destinations.
  507.  
  508.    CIDR was a critical step for the Internet: in the early 1990s the
  509.    size of default-free routing tables required to support the Classful
  510.    Internet was almost more than the commercially-available hardware and
  511.    software of the day could handle.  The introduction of BGP4's
  512.    classless routing and provider-based address allocation policies
  513.    resulted in an immediate relief. Having said that, however, there are
  514.    some weaknesses of the system. First, the Internet addressing model
  515.    shifted from one of "address owning" to "address lending." In pre-
  516.    CIDR days sites acquired addresses from a central authority
  517.    independent of who their network provider was, and a site could
  518.    assume it "owned" the address it was given. Owning addresses meant
  519.    that once one had been given a set of network addresses, one could
  520.    always use them and assume that no matter where a site connected to
  521.    the Internet, the prefix for that network could be injected into the
  522.    public routing system. Today, however, it is simply no longer
  523.    possible for each individual site to have its own private prefix
  524.    injected into the DFZ; there would simply be too many of them.
  525.    Consequently, if a site decides to change providers, then it needs to
  526.    number itself out of space given to it by the new provider and give
  527.    its old address back to the old provider.  To understand this,
  528.    consider if, from Figure 2, Customer3 changes its provider from
  529.    Provider A to Provider C, but does not renumber. The picture would be
  530.    as follows:
  531.  
  532.  
  533.                         +----------------+
  534.                         |                |---- Customer1 (204.1.0.0/19)
  535.                         |                |---- Customer2 (204.1.32.0/23)
  536.                         |   Provider A   |
  537.         +---------------|                |---- Customer4 (204.1.35.0/24)
  538.         | A announces   |                |---- Customer5 (204.1.36.0/23)
  539.         | 204.1/16 to B +----------------+
  540.         |                     |
  541.       +----------------+      |
  542.       |   Provider B   |      |
  543.       +----------------+      |
  544.         |                     |
  545.         | C announces         |
  546.         | 204.1.34/24         |
  547.         | to B          +----------------+
  548.         +---------------|   Provider C   |---- Customer3 (204.1.34.0/24)
  549.                         +----------------+
  550.  
  551.                                   Figure 3
  552.  
  553.    In Figure 3, each of Provider A, B and C are directly connected to
  554.  
  555.  
  556.  
  557. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 10]
  558.  
  559. INTERNET-DRAFT                                             July 30, 1997
  560.  
  561.  
  562.    each other provider. In order for Provider B to reach Customers 1, 2,
  563.    4 and 5, Provider A still only announces the 204.1.0.0/16 aggregate.
  564.    However, in order for Provider B to reach Customer 3, Provider C must
  565.    announce the prefix 204.1.34.0/24. Prefix 204.1.34.0/24 is called a
  566.    "more-specific" of 204.1.0.0/16; another term used is that Customer3
  567.    and Provider C have "punched a hole in" Provider A's block.  The
  568.    result of this is that from Provider B's view, the address space
  569.    underneath 204.1.0.0/16 is no longer cleanly aggregated into a single
  570.    prefix and instead the aggregation has been broken because the
  571.    addressing is inconsistent with the topology; in order to maintain
  572.    reachability to Customer3, Provider B must carry two prefixes where
  573.    it used to have to carry only one.
  574.  
  575.    The example in Figure 3 explains why sites must renumber if existing
  576.    levels of aggregation are to be maintained. While it is certainly
  577.    clear that one or two "exceptions" to the ideal case can be
  578.    tolerated, the reality in today's Internet is that there are
  579.    thousands of providers, many with thousands of individual customers.
  580.    It is generally accepted that some renumbering of sites is essential
  581.    for maintaining sufficient aggregation.
  582.  
  583.    The empirical cost of renumbering a site in order to maintain
  584.    aggregation has been the subject of much discussion. The practical
  585.    reality, however, is that forcing all sites to renumber is difficult
  586.    given the size and wealth of companies that now depend on the
  587.    Internet for running their business. Thus, although the technical
  588.    community came to consensus that address lending was necessary in
  589.    order for the Internet to continue to operate and grow, the reality
  590.    has been that some of CIDR's benefits have been lost because sites
  591.    refuse to renumber.
  592.  
  593.    One unfortunate characteristic of CIDR at an architectural level is
  594.    that the pieces of the infrastructure which benefit from the
  595.    aggregation (i.e., the providers whose major headache is managing
  596.    routing table growth in the DFZ) are not the pieces that incur the
  597.    cost (i.e., the end site). The logical corollary of this statement is
  598.    that the pieces of the infrastructure which do incur cost to achieve
  599.    aggregation (e.g., sites which renumber when they change providers)
  600.    don't directly see the benefit. (The word "directly" is used here
  601.    because one could claim that the continued operation of the Internet
  602.    is a benefit, though it is an indirect benefit and requires
  603.    selflessness on the part of the site in order to recognize it.)
  604.  
  605.  
  606. 2.4.  Multi-Homing and Aggregation
  607.  
  608.    As sites become more dependent on the Internet, they have begun to
  609.    install additional connections to the Internet to improve robustness
  610.  
  611.  
  612.  
  613. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 11]
  614.  
  615. INTERNET-DRAFT                                             July 30, 1997
  616.  
  617.  
  618.    and performance. Such sites are called "multi-homed."  Unfortunately,
  619.    when a site connects to the Internet at multiple places, the impact
  620.    on routing can be much like a site that switches providers but
  621.    refuses to renumber.
  622.  
  623.    In the pre-CIDR days, multi-homed sites were typically known by only
  624.    one network prefix. When that site's providers announced the site's
  625.    network into the global routing system, a "shortest path" type of
  626.    routing would occur so that pieces of the Internet closest to the
  627.    first provider would use the first provider while other pieces of the
  628.    Internet might use the second provider. This allowed sites to use the
  629.    routing system itself to load balance traffic across their multiple
  630.    connections. This type of multi-homing assumes that a site's prefix
  631.    can be propagated throughout the DFZ, an assumption that is no longer
  632.    universally true.
  633.  
  634.    With CIDR, issues of addressing and aggregation complicate matters
  635.    significantly.  At the highest levels, there are three possible ways
  636.    to deal with multi-homed sites.  The first approach is for multi-
  637.    homed sites to receive address space directly from a registry,
  638.    independent of its providers.  The problem with this approach is
  639.    that, because the address space is obtained independent of either
  640.    provider, it is not aggregatable and therefore has a negative impact
  641.    on the scaling of global routing.
  642.  
  643.    The second approach is for a multi-homed site to receive an
  644.    allocation from one of its providers and just use that single prefix.
  645.    The site would advertise its prefix to all of the providers to which
  646.    it connects.  Their are two problems with this is approach. First,
  647.    although the prefix is aggregatable by the provider which made the
  648.    allocation, it is not aggregatable by the other providers. To the
  649.    other providers, the site's prefix poses the same problem as a
  650.    provider-independent address would.  This has a negative impact on
  651.    the scaling of global routing.  Second, due to CIDR's longest-match
  652.    routing rules, it turns out that the site's prefix is not always
  653.    aggregable in practice by the provider that made the allocation.
  654.    Consider Figure 4. Provider C has two paths for reaching customer 1.
  655.    Provider A advertises 204.1/16, which includes customer 1. But
  656.    Provider C will also receive an advertisement for prefix 204.1.0/19
  657.    from Provider B, and because the prefix match through B is longer, C
  658.    will choose that path. In order for Provider C to be able to choose
  659.    between the two paths, Provider A would also have to advertise the
  660.    longer prefix for 204.1.0/19 in addition to the shorter 204.1/16.  At
  661.    this point, from the routing perspective, the situation is very
  662.    similar to the general problem posed by the use of provider-
  663.    independent addresses.
  664.  
  665.    It should be noted that the above example simplifies a very complex
  666.  
  667.  
  668.  
  669. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 12]
  670.  
  671. INTERNET-DRAFT                                             July 30, 1997
  672.  
  673.  
  674.    issue. For example, consider the example in Figure 4 again. Provider
  675.    A could choose *not* to propagate a route entry for the longer
  676.    2.4.1.0/19 prefix, advertising only the shorter 204.1/16. In such
  677.    cases, provider C would always select Provider B. Internally,
  678.    Provider A would continue to router traffic from its other customers
  679.    to customer 1 directly. If Provider A had a large enough customer
  680.    base, effective load sharing would achieved.
  681.  
  682.  
  683.                         +------------+   +------------+
  684.                    _____| Provider A |---| Provider C |
  685.                   /     +------------+   +------------+
  686.                  /        204.1/16      /
  687.                 /                      /
  688.    Customer 1 ---                     / B advertises 204.1.0/19 to C
  689.    204.1.0.0/19  |                   /
  690.                  |      +------------+
  691.                   ----- | Provider B |
  692.                         +------------+
  693.  
  694.  
  695.                                 Figure 4
  696.  
  697.  
  698.    The third approach is for a multi-homed site to receive an allocation
  699.    from each of its providers.  This approach has advantages from the
  700.    perspective of route scaling because both allocations are
  701.    aggregatable. Unfortunately, the approach doesn't necessarily meet
  702.    the demands of the multi-homed site.  A site that has a prefix from
  703.    each of its providers has a number of choices about how to use that
  704.    address space. Possibilities include:
  705.  
  706.       1) The site can number a distinct set of hosts out of each of the
  707.         prefixes.  Consider a configuration where a site is connected to
  708.         ISP-A and ISP-B. If the link to ISP-A goes down, then unless the
  709.         ISP-A prefix is announced to ISP-B (which breaks aggregation),
  710.         the hosts numbered out of the ISP-A prefix would be unreachable.
  711.  
  712.       2) The site could assign each host multiple addresses (i.e., one
  713.         address for each ISP connection).  There are two problems with
  714.         this.  First, it accelerates the consumption of the address
  715.         space.  Second, when the connection to ISP-A goes down,
  716.         addresses numbered out of ISP-A's space become unreachable.
  717.         Remote peers would have to have sufficient intelligence to use
  718.         the second address. For example, when initiating a connection to
  719.         a host, the DNS would return multiple candidate addresses.
  720.         Clients would need to try them all before concluding that a
  721.         destination is unreachable (something not all hosts currently
  722.  
  723.  
  724.  
  725. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 13]
  726.  
  727. INTERNET-DRAFT                                             July 30, 1997
  728.  
  729.  
  730.         do). In addition, a site's hosts would need a significant amount
  731.         of intelligence for choosing the source addresses they use. A
  732.         host shouldn't choose a source address corresponding to a
  733.         addresses that are not reachable from the Public Internet. At
  734.         present, hosts do not have such sophistication.
  735.  
  736.    In summary, how best to achieve multi-homing with IPv4 in the face of
  737.    CIDR is an unsolved problem.  There is a delicate balance between the
  738.    scalability of routing versus the site's requirements of robustness
  739.    and load-sharing.  At this point in time, no solution has been
  740.    discovered that satisfies the competing requirements of route scaling
  741.    and robustness/performance.  It is worth noting, however, that some
  742.    people are beginning to study the issue more closely and propose
  743.    novel ideas [BATES].
  744.  
  745.  
  746.  
  747. 3.  GSE Background
  748.  
  749.    This section provides background information about GSE with the
  750.    intent of making this document stand-alone with respect to the GSE
  751.    "specification."  Additional details on GSE can be found in [GSE].
  752.    We begin by reviewing the motivation for GSE. Next we review the
  753.    salient technical details, and we conclude by listing the explicit
  754.    non-goals of the GSE proposal.
  755.  
  756.  
  757. 3.1.  Motivation For GSE
  758.  
  759.    The primary motivation for GSE is the fact that the chief IPv6 global
  760.    unicast address structure, provider-based [RFC 2073], is
  761.    fundamentally the same as IPv4 with CIDR and provider-based
  762.    aggregation. Provider-based addressing requires that sites renumber
  763.    when they switch providers, so that sites are always aggregated
  764.    within their provider's prefix. In practice, the cost of renumbering
  765.    (which can only grow as a site grows in size and becomes more
  766.    dependent on the Internet for day-to-day business) is high enough
  767.    that an increasing number of sites refuse to renumber.  This cost is
  768.    particularly relevant in cases where end-users are asked to renumber
  769.    because an upstream provider has changed its transit provider (i.e.,
  770.    the end site is asked to renumber for reasons outside of its control
  771.    and for which it sees no direct benefit).  Consequently, The GSE
  772.    draft asserts that IPv4 with CIDR has not achieved the aggressive
  773.    aggregation required for the route computation functions of the
  774.    default-free zone of the Internet to scale for IPv4, and that the
  775.    larger addresses of IPv6 simply exacerbate the problem.
  776.  
  777.    The GSE proposal does not propose to eliminate the need for
  778.  
  779.  
  780.  
  781. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 14]
  782.  
  783. INTERNET-DRAFT                                             July 30, 1997
  784.  
  785.  
  786.    renumbering. Indeed, it asserts that end sites will have to be
  787.    renumbered more frequently in order to continue scaling the Internet.
  788.    However, GSE proposes to make the cost of such a renumbering so
  789.    small, that sites could be renumbered at essentially any time with
  790.    only minor disruption to the site.
  791.  
  792.    Finally, GSE deals significantly with sites that have multiple
  793.    Internet connections. In some addressing schemes (e.g., CIDR), this
  794.    "multi-homing" can create exceptions to the aggregation and result in
  795.    poor scaling. That is, the public routing infrastructure needs to
  796.    carry multiple distinct routes for the multi-homed site, one for each
  797.    independent path. GSE recognizes the "special work done by the global
  798.    Internet infrastructure on behalf of multi-homed sites," [GSE] and
  799.    proposes a way for multi-homed sites to gain some benefit without
  800.    impacting global scaling. This includes a specific mechanism that
  801.    providers could use to support multi-homed sites, presumably at a
  802.    cost that the Site would consider when deciding whether or not to
  803.    become multi-homed.
  804.  
  805.  
  806. 3.2.  GSE Address Format
  807.  
  808.    The key departure of GSE from classical IP addressing (both v4 and
  809.    v6) is that rather than over-loading addresses with both locator and
  810.    identifier purposes, it splits the address into two elements: the
  811.    high-order 8 bytes for routing (called "Routing Stuff" throughout the
  812.    rest of this document) and the low-order 8 bytes for unique
  813.    identification of an end-point. The structure of GSE addresses is:
  814.  
  815.                 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
  816.               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  817.               |  Routing Goop    | STP| End System Designator |
  818.               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  819.                      6+ bytes   ~2 bytes       8 bytes
  820.  
  821.                                  Figure 5
  822.  
  823.  
  824.  
  825. 3.3.  Routing Stuff (RG and STP)
  826.  
  827.    The Routing Goop (RG) identifies the place in the Public Internet
  828.    topology where a Site connects and is used to route datagrams to the
  829.    Site. RG is structured as follows:
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 15]
  838.  
  839. INTERNET-DRAFT                                             July 30, 1997
  840.  
  841.  
  842.  
  843.                            1                   2                   3
  844.        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  845.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  846.       | xxx | 13 Bits of LSID         |      Upper 16 bits of Goop    |
  847.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  848.  
  849.        3               4
  850.        2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
  851.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  852.       | Bottom 18 bits of Routing Goop    |
  853.       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  854.  
  855.                                  Figure 6
  856.  
  857.    The RG describes the location of a Site's connection by identifying
  858.    smaller and smaller regions of topology until finally it identifies a
  859.    single link to which the site. Before interpreting the bits in the
  860.    RG, it is important to understand that routing with GSE depends on
  861.    decomposing the Internet's topology into a specific graph. At the
  862.    highest level, the topology is broken into Large Structures (LSs). An
  863.    LS is basically a region that can aggregate significant amounts of
  864.    topology. Examples of potential LSs are large providers and exchange
  865.    points. Within an LS the topology is further divided into another
  866.    graph of structures, with each LS dividing itself however it sees
  867.    fit. This division of the topology into smaller and smaller
  868.    structures can recurse for a number of levels, where the trade-off is
  869.    "between the flat-routing complexity within a region and minimizing
  870.    total depth of the substructure." [ESD]
  871.  
  872.    Having described the decomposition process, we can now examine the
  873.    bits in the RG. After the 3-bit prefix identifying the address as
  874.    GSE, the next 13 bits identify the LS. By limiting the field to 13
  875.    bits, a ceiling is defined on the complexity of the top-most routing
  876.    level. In the next 34 bits, a series of subordinate structure(s) are
  877.    identified until finally the leaf subordinate structure is
  878.    identified, at which point the remaining bits identify the individual
  879.    link within that leaf structure. The remaining 14 bits of the Routing
  880.    Stuff comprise the STP and are used for routing structure within a
  881.    Site, similar to subnetting with IPv4, though these bits are *not*
  882.    part of the Routing Goop. The distinction between Routing Stuff and
  883.    Routing Goop is that RG controls routing in the Public Internet,
  884.    while Routing Stuff includes the RG plus the Site Topology Partition
  885.    (STP). The STP is used for routing structure within a Site.
  886.  
  887.    The GSE proposal formalizes the ideas of sites and of public versus
  888.    private topology. In the first case, a Site is a set of hosts,
  889.    routers and media which have one or more connections to the Internet.
  890.  
  891.  
  892.  
  893. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 16]
  894.  
  895. INTERNET-DRAFT                                             July 30, 1997
  896.  
  897.  
  898.    A Site can have an arbitrarily complicated topology, but all of that
  899.    complexity is hidden from everyone outside of the Site.  A Site only
  900.    carries packets which originated from, or are destined to, that Site;
  901.    in other words, a Site cannot be a transit network. A Site is private
  902.    topology, while the transit networks form the public topology.
  903.  
  904.    A datagram is routed through public topology using just the RG, but
  905.    within the destination Site routing is based on the Site Topology
  906.    Partition (STP) field.
  907.  
  908.  
  909. 3.4.  End-System Designator
  910.  
  911.    The End-System Designator (ESD) is an unstructured 8-byte field that
  912.    uniquely identifies that interface from all others.  The most
  913.    important feature of the ESD is that it alone identifies an end
  914.    point; the Routing Stuff portion of an address, although used to help
  915.    deliver a packet to its destination, is not used to actually identify
  916.    an end point.  End-points of communication care about the ESD; as
  917.    examples, TCP peers could be identified by the source and destination
  918.    ESDs alone (together with port numbers), checksums would exclude the
  919.    RG (the sender doesn't know its RG, so can't include it in the
  920.    checksum), and on receipt of a datagram only the ESD would be used in
  921.    testing whether a packet is intended for local delivery.
  922.  
  923.    The leading contender for the role of a 64-bit globally unique ESD is
  924.    the recently defined "EUI-64" identifier [EUI64]. These identifiers
  925.    consist of a 24-bit "company_id" concatenated with a 40-bit
  926.    "extension." (Company_id is just a new name for the Organizationally
  927.    Unique Identifier (OUI) that forms the first half of an 802 MAC
  928.    address.) Manufacturers are expected to assign locally unique values
  929.    to the extension field, guaranteeing global uniqueness for the
  930.    complete 64-bit identifier.
  931.  
  932.    A range of the EUI-64 space is reserved to cover pre-existing 48-bit
  933.    MAC addresses, and a defined mapping insures that an ESD derived from
  934.    a MAC address will not duplicate the ESD of a device that has a
  935.    built-in EUI-64.
  936.  
  937.    In some cases, interfaces may not have access to an appropriate MAC
  938.    address or EUI-64 identifier. A globally unique ESD must then be
  939.    obtained through some alternate mechanism. Several possible
  940.    mechanisms can be imagined (e.g., the IANA could hand out addresses
  941.    from the company id assigned it has been allocated), but we do not
  942.    explore them in detail here.
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 17]
  950.  
  951. INTERNET-DRAFT                                             July 30, 1997
  952.  
  953.  
  954. 3.5.  Address Rewriting by Border Routers
  955.  
  956.    GSE Site border routers rewrite addresses of the packets they forward
  957.    across the Site/Public Topology boundary. Within a Site, nodes need
  958.    not know the RG associated with their addresses. They simply use a
  959.    designated "Site-Local RG" value for internal addresses. When a
  960.    packet is forwarded to the Public Topology, the border router
  961.    replaces the Site-Local RG portion of packet's source address with an
  962.    appropriate value. Likewise, when a packet from the Public Topology
  963.    is forwarded into a Site, the border router replaces the RG part of
  964.    the destination address with the designated Site-Local RG.
  965.  
  966.    To simplify discussion, the following discussion uses the singular
  967.    term RG as if a site could have only one RG value (i.e., one
  968.    connection to the Public Internet). Of course, a site could have
  969.    multiple Internet connections and consequently multiple RGs.
  970.  
  971.    Having border routers rewrite addresses obviates the need to renumber
  972.    devices within sites because of changing providers --- GSE's approach
  973.    isn't so much to ease renumbering as to make it transparent to end
  974.    sites. To achieve transparency, the RG by which a Site is known is
  975.    hidden (i.e., kept secret) from hosts or routers within that Site.
  976.    Instead, the RG for the Site would be known only by the exit router,
  977.    either through static configuration or through a dynamic protocol
  978.    with an upstream provider.
  979.  
  980.    Because end-hosts don't know their RG, they don't know their entire
  981.    16-byte public address, so they can't specify the full address in the
  982.    source fields of packets they originate. Consequently, when a
  983.    datagram leaves a Site, the egress border router fills in the high-
  984.    order portion of the source address with the appropriate RG.
  985.  
  986.    The point of keeping the RG hidden from nodes within the core of a
  987.    Site is to insure the changeability of this value without impacting
  988.    the Site itself. It is expected that the RG will need to change
  989.    relatively frequently (e.g., several times a year) in order to
  990.    support scalable aggregation as the topology of the Public Internet
  991.    changes.  A change to a Site's RG would only require a change at the
  992.    Site's egress point (or points, in the case of a multi-homed Site);
  993.    and it's well possible that this change would be accomplished through
  994.    a dynamic protocol with the upstream provider.
  995.  
  996.    Hiding a Site's RG from its internal nodes does not, however, mean
  997.    that changes to RG have no impact on end sites. Since the full 16-
  998.    byte address of a node isn't a stable value (the RG portion can
  999.    change), a stored address may contain invalid RG and be unusable if
  1000.    it isn't "refreshed" through some other means. For example, opening a
  1001.    TCP connection, writing the address of the peer to a file and then
  1002.  
  1003.  
  1004.  
  1005. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 18]
  1006.  
  1007. INTERNET-DRAFT                                             July 30, 1997
  1008.  
  1009.  
  1010.    later trying to reestablish a connection to that peer is likely to
  1011.    fail.  For intra-Site communication, however, it is expected that
  1012.    only the Site-Local RG would be used (and stored) which would
  1013.    continue to work for intra-Site communication regardless of changes
  1014.    to the Site's external RG. This has the benefit of shielding a site's
  1015.    internal traffic from the affects of renumbering changes outside of
  1016.    the site.
  1017.  
  1018.    In addition to rewriting source addresses upon leaving a Site,
  1019.    destination addresses are rewritten upon entering a Site. To
  1020.    understand the motivation behind this, consider a Site with
  1021.    connection to three Internet providers. Because each of those
  1022.    connections has its own RG, each destination within the Site would be
  1023.    known by three different 16-byte addresses. As a result, intra-Site
  1024.    routers would have to carry a routing table three times larger than
  1025.    expected. Instead, GSE proposes replacing the RG in inbound packets
  1026.    with the special "Site-local RG" value to reduce intra-Site routing
  1027.    tables to the minimum necessary.
  1028.  
  1029.    In summary, when a node initiates a flow to a node in another Site,
  1030.    the initiating node knows the full 16-byte address for the
  1031.    destination through some mechanism like a DNS query. The initiating
  1032.    node places the full 16-byte address in the destination address field
  1033.    of the datagram, and that field stays intact through the first Site
  1034.    and through all of the Public Topology.  When the datagram reaches
  1035.    the exit border router, the router replaces the RG of the packet's
  1036.    source address.  When the datagram arrives at entry router at the
  1037.    destination Site, the router replaces the RG portion of the
  1038.    destination address with the distinguished "Site-Local RG" value.
  1039.    When the destination host needs to send return traffic, that host
  1040.    knows the full 16-byte address for the destination because it
  1041.    appeared in the source address field of the arriving packet.
  1042.  
  1043.  
  1044. 3.6.  Renumbering and Rehoming Mid-Level ISPs
  1045.  
  1046.    One of the most difficult-to-solve components of the renumbering
  1047.    problem is that of renumbering mid-level service providers.
  1048.    Specifically, if SmallISP1 changes its transit provider from BigISP1
  1049.    to BigISP2 (in the CIDR model), then all of SmallISP1's customers
  1050.    would have to renumber into address space covered by an aggregate of
  1051.    BigISP2 (if the overall size of routing tables is to stay the same).
  1052.    GSE deals with this problem by handling the RG in DNS with
  1053.    indirection. Specifically, a Site's DNS server specifies the RG
  1054.    portion of its addresses by referencing the *name* of its immediate
  1055.    provider, which is a resolvable DNS name (this obviously implies a
  1056.    new Resource Record type). That provider may define some of the low-
  1057.    order bits of the RG and then reference its immediate provider. This
  1058.  
  1059.  
  1060.  
  1061. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 19]
  1062.  
  1063. INTERNET-DRAFT                                             July 30, 1997
  1064.  
  1065.  
  1066.    chain of reference allows mid-level service providers to change
  1067.    transit providers, and the customers of that mid-level will simply
  1068.    "inherit" the change in RG.
  1069.  
  1070.  
  1071.  
  1072. 3.7.  Support for Multi-Homed Sites
  1073.  
  1074.    GSE defines a specific mechanism for providers to use to support
  1075.    multi-homed customers that gives those customers more reliability
  1076.    than singly-homed sites, but without a negative impact on the scaling
  1077.    of global routing. This mechanism is not specific to GSE and could be
  1078.    applied to any multi-homing scenario where a site is known by
  1079.    multiple prefixes (including provider-based addressing). Assume the
  1080.    following topology:
  1081.  
  1082.                              Provider1     Provider2
  1083.                              +------+       +------+
  1084.                              |      |       |      |
  1085.                              | PBR1 |       | PBR2 |
  1086.                              +----x-+       +-x----+
  1087.                                   |           |
  1088.                               RG1 |           | RG2
  1089.                                   |           |
  1090.                                +--x-----------x--+
  1091.                                | SBR1       SBR2 |
  1092.                                |                 |
  1093.                                +-----------------+
  1094.                                       Site
  1095.  
  1096.                                     Figure 7
  1097.  
  1098.    PBR1 is Provider1's border router while PBR2 is Provider2's border
  1099.    router.  SBR1 is the Site's border router that connects to Provider1
  1100.    while SBR2 is the Site's border router that connects to Provider2.
  1101.    Imagine, for example, that the line between Provider1 and the Site
  1102.    goes down. Any already existing flows that use a destination address
  1103.    including RG1 would stop working. In addition, any DNS queries that
  1104.    return addresses including RG1 would not be viable addresses. If PBR1
  1105.    and PBR2 knew about each other, however, then in this case PBR1 could
  1106.    tunnel packets destined for RG1-prefixed addresses to PBR2, thus
  1107.    keeping the communication working.  (Note that true tunneling, i.e.,
  1108.    re-encapsulation, is necessary since routers between PBR1 and PBR2
  1109.    would forward RG1 addresses towards PBR1.)
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 20]
  1118.  
  1119. INTERNET-DRAFT                                             July 30, 1997
  1120.  
  1121.  
  1122. 3.8.  Explicit Non-Goals for GSE
  1123.  
  1124.    It is worth noting explicitly that GSE does not attempt to address
  1125.    the following issues:
  1126.  
  1127.      1) Survival of TCP connections through renumbering events. If a
  1128.         Site is renumbered, TCP connections using a previous address
  1129.         will continue to work only as long as the previous address still
  1130.         works (i.e., while it is still "valid" using RFC 1971
  1131.         terminology). No attempt is made to have existing connections
  1132.         switch to the new address.
  1133.  
  1134.      2) It is not known how mobility can be made to work under GSE.
  1135.  
  1136.      3) It is not known how multicast can be made to work under GSE.
  1137.  
  1138.      4) The performance impact of having routers rewrite portions of the
  1139.         source and destination address in packet headers requires
  1140.         further study.
  1141.  
  1142.    That GSE doesn't address the above does not mean they cannot be
  1143.    solved. Rather the issues haven't been studied in sufficient depth.
  1144.  
  1145.  
  1146. 4.  Analysis of GSE's Advantages and Disadvantages
  1147.  
  1148.    This section contains the bulk of the GSE analysis and the analysis
  1149.    of the general locator/identifier split.
  1150.  
  1151.  
  1152. 4.1.  End System Designator
  1153.  
  1154.  
  1155. 4.1.1.  Uniqueness Enforcement in the IPv4 Internet
  1156.  
  1157.    As described earlier, in the IPv4 Public Internet, IP addresses
  1158.    contain two pieces of information: a unique identifier and a locator.
  1159.    Embedding location information within an address has the side-effect
  1160.    of helping insure that all addresses are globally unique. If
  1161.    interfaces on two different nodes are assigned the same unicast
  1162.    address, the routing subsystem will (generally) deliver packets to
  1163.    only one of those nodes. The other node will quickly realize that
  1164.    something is wrong (since communication using the duplicate address
  1165.    fails) and take corrective action (e.g., obtain a proper address).
  1166.    This is important for two reasons. It helps detect misconfigurations
  1167.    (use of the wrong address prevents communication from taking place),
  1168.    and helps thwart intruders.
  1169.  
  1170.  
  1171.  
  1172.  
  1173. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 21]
  1174.  
  1175. INTERNET-DRAFT                                             July 30, 1997
  1176.  
  1177.  
  1178.    In IPv4, communication usually fails quickly when addresses are not
  1179.    unique. There are two cases to consider, depending on whether the two
  1180.    interfaces assigned duplicate addresses are attached to the same or
  1181.    to different links.
  1182.  
  1183.    When two interfaces on the same link use the same address, a node
  1184.    (host or router) sending traffic to the duplicate address will in
  1185.    practice send all packets to one of the nodes. On Ethernets, for
  1186.    example, the sender will use ARP (or Neighbor Discovery in IPv6) to
  1187.    determine the link layer address corresponding to the destination
  1188.    address. When multiple ARP replies for the target IP address are
  1189.    received, the most recently received response replaces whatever is
  1190.    already in the cache. Consequently, the destinations a node using a
  1191.    duplicate IP address can communicate with depends on what its
  1192.    neighboring nodes have in their ARP caches. In most cases, such
  1193.    communication failures become apparent relatively quickly, since it
  1194.    is unlikely that communication can proceed correctly on both nodes.
  1195.  
  1196.    It is also the case that a number of ARP implementations (e.g., BSD-
  1197.    derived implementations) log warning messages when an ARP request is
  1198.    received from a node using the same address as the machine receiving
  1199.    the ARP request.
  1200.  
  1201.    When two interfaces on different links use the same address, the
  1202.    routing subsystem will generally deliver packets to only one of the
  1203.    nodes because only one of the links has the right "prefix" or "subnet
  1204.    part" corresponding to the IP address. Consequently, the node using
  1205.    the address on the "wrong" link will generally never receive any
  1206.    packets sent to it and will be unable to communicate with anyone. For
  1207.    obvious reasons, this condition is usually detected quickly.
  1208.  
  1209.    An important observation is that, with classical IP, when different
  1210.    nodes mistakenly assign the same IP address to different interfaces,
  1211.    problems become apparent relatively quickly because communication
  1212.    with several (if not all) destinations fails. In contrast, failure
  1213.    scenarios differ when globally unique ESDs are assumed, but two nodes
  1214.    mistakenly select the same one.
  1215.  
  1216.    Embedding location information within an address also provides some,
  1217.    though not much, protection from forged addresses. Although it is
  1218.    trivial to forge a source address in today's Internet, the routing
  1219.    subsystem will in most cases forward any return traffic sent to that
  1220.    address to its proper destination --- not to an arbitrary node
  1221.    masquerading as someone else. To masquerade as someone else requires
  1222.    subverting the routing subsystem, placing the intruder somewhere on
  1223.    the normal routing path between the masqueraded host and its peer,
  1224.    etc.
  1225.  
  1226.  
  1227.  
  1228.  
  1229. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 22]
  1230.  
  1231. INTERNET-DRAFT                                             July 30, 1997
  1232.  
  1233.  
  1234. 4.1.2.  Overloading Addresses: Network Layer Issues
  1235.  
  1236.    At the network layer, a node compares the destination address of
  1237.    received packets against the addresses of its attached interfaces.
  1238.    Only if the addresses of received packets match are packets handed up
  1239.    to higher layer protocols. In IPv4, the entire address must match.
  1240.    Otherwise, the packet is assumed to be intended for some other node
  1241.    and forwarded on (if received by a router) or silently discarded (if
  1242.    received by a host). This has subtle but significant implications:
  1243.  
  1244.      1) If a receiving host has multiple interfaces, it has multiple IP
  1245.         addresses. When a packet addressed to a multi-homed host is
  1246.         received on an interface other than the one to which a packet is
  1247.         addressed, the host may reject (i.e., silently discard) the
  1248.         packet, if it implements the "Strong ES Model" defined in
  1249.         [RFC1122].
  1250.  
  1251.      2) In recent IPv4 stacks, an interface may have more than one
  1252.         unicast IP address assigned to it. Indeed, one way to renumber
  1253.         an end site is to phase out an address (i.e., "deprecate" it
  1254.         using RFC 1971 terminology) while simultaneously phasing in a
  1255.         new one. Once the deprecated address becomes invalid, packets
  1256.         sent to the invalid address will no longer be accepted by the
  1257.         node, even though the packet may have intuitively reached its
  1258.         intended recipient. Thus, even if a packet sent to an invalid
  1259.         address is somehow delivered to the intended recipient (e.g.,
  1260.         via tunneling), the receiver would reject the packet because the
  1261.         address it was sent to no longer belongs to any of the node's
  1262.         interfaces. Consequently, any communication using the invalid
  1263.         address will fail (e.g., new and existing TCP connections).
  1264.         Anyone wishing to communicate with the node must learn and
  1265.         switch to the new address.
  1266.  
  1267.      3) Because an address also indicates "where" the destination
  1268.         resides within the Internet, a mobile node that moves from one
  1269.         part of the Internet to another must obtain a new address that
  1270.         reflects its new location. Moreover, the routing subsystem will
  1271.         continue to forward packets sent to the mobile node's previous
  1272.         address to the node's previous point of attachment where they
  1273.         are likely be discarded. That is, even if a mobile node is
  1274.         willing to continue accepting packets addressed to one its
  1275.         previous addresses, it is unlikely that they will be received
  1276.         (in the absence of something like Mobile IP [RFC2002]).
  1277.  
  1278.     4) A multi-homed host has multiple interfaces, each with its own
  1279.         address(es). If one of its interfaces fails, packets could, in
  1280.         theory, be delivered to one of the host's other interfaces. In
  1281.         practice, however, the routing subsystem has no way of knowing
  1282.  
  1283.  
  1284.  
  1285. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 23]
  1286.  
  1287. INTERNET-DRAFT                                             July 30, 1997
  1288.  
  1289.  
  1290.         that the interface to which a packet is addressed has failed and
  1291.         what alternate interface addresses the packet could be delivered
  1292.         to. Consequently, packets sent to a failed interface of a
  1293.         multi-homed host won't be delivered, even though the node is
  1294.         reachable through alternate interfaces.
  1295.  
  1296.    Note that the above problems fall into two general categories:
  1297.  
  1298.      1) Today's routing subsystem is unable to automatically deliver a
  1299.         packet to a host's "alternate" addresses (if the host is multi-
  1300.         homed) or a new address (if the host moves), should there be a
  1301.         problem delivering a packet to the destination address listed in
  1302.         the packet. It is possible to imagine, however, future routing
  1303.         advances addressing this problem (e.g., Mobile IP).
  1304.  
  1305.      2) Even if a packet is delivered to its intended destination, the
  1306.         packet may still be rejected because the packet's destination
  1307.         address does not match any of the addresses assigned to
  1308.         destination's interfaces. This problem does not appear to be
  1309.         insurmountable and could be rectified (for example) by having a
  1310.         host remember its previous addresses.
  1311.  
  1312.  
  1313. 4.1.3.  Overloading Addresses: Transport Layer Issues
  1314.  
  1315.    The problems discussed previously create particular complications at
  1316.    the transport level. Transport protocols such as TCP and UDP use
  1317.    embedded IP addresses to identify the end-points of a transport
  1318.    connection. Specifically, the communicating end-points of a transport
  1319.    connection are uniquely identified by the sender's source IP address
  1320.    and source port number together with the recipient's destination IP
  1321.    address and port number. Once a connection has been established, the
  1322.    IP addresses can not change. In particular, if a mobile host moves to
  1323.    a new location and obtains a new address, packets intended for a TCP
  1324.    connection created prior to the move cannot use the new address. TCP
  1325.    will treat any packets sent to the new address as belonging to a
  1326.    different TCP connection.
  1327.  
  1328.    It is possible to imagine changes to TCP that might allow connections
  1329.    to change the addresses they are using mid-connection without
  1330.    breaking the connection. However, some subtle issues arise:
  1331.  
  1332.      1) Packets intended for a pre-existing connection must be
  1333.         demultiplexed to that connection as part of any negotiation to
  1334.         change the addresses that identify that transport end-point.
  1335.         However, because the demultiplexing operation uses the transport
  1336.         addresses of the pre-existing TCP connection (which is based on
  1337.         the previous address), TCP packets sent to a new address won't
  1338.  
  1339.  
  1340.  
  1341. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 24]
  1342.  
  1343. INTERNET-DRAFT                                             July 30, 1997
  1344.  
  1345.  
  1346.         be delivered to the desired transport end-point (which still
  1347.         uses the previous address). Consequently, packets would need to
  1348.         be sent to the previous address. However, by the time a mobile
  1349.         node has moved and knows its new address, packets sent to the
  1350.         previous address may no longer be delivered (i.e., they may not
  1351.         be forwarded to the mobile host's new location).
  1352.  
  1353.      2) When a mobile host moves, it could inform its TCP peers that it
  1354.         has a new address. However, such a message could not be
  1355.         delivered to the remote TCP connection if it was sent using its
  1356.         new address for its source address. Just as above, such packets
  1357.         would not be demultiplexed to the correct TCP connection. On the
  1358.         other hand, it is infeasible to send packets using its previous
  1359.         address from its new location. Because of the danger of spoofing
  1360.         attacks, routers are now encouraged to actively look for, and
  1361.         discard traffic from, a source address that does not match known
  1362.         addresses for that region of the Internet [CERT]. Consequently,
  1363.         such packets cannot be expected to be delivered.
  1364.  
  1365.    Although the previous discussion used mobile nodes as an example, the
  1366.    same problem arises in other contexts. For example, if a site is
  1367.    being renumbered in IPv6, it may have two addresses, a previous
  1368.    (i.e., deprecated) one being phased out and a new (i.e., preferred)
  1369.    one being phased in. At the transport level, the problem of switching
  1370.    addresses is similar in many respects to the mobility problem.
  1371.  
  1372.  
  1373. 4.1.4.  Potential Benefits of Globally Unique ESDs
  1374.  
  1375.    Having a clear separation between the Routing Stuff and the ESD
  1376.    portion of an address gives protocols some additional flexibility. At
  1377.    the network layer, for example, recipients can examine just the ESD
  1378.    portion of the destination addresses when determining whether a
  1379.    packet is intended for them. This means that if a packet is delivered
  1380.    to the correct destination node, the node will accept the packet,
  1381.    regardless of how the packet got there, i.e., without regard to the
  1382.    Routing Stuff of the address, which interface it arrived on, etc.
  1383.    Such packets would then be delivered and accepted by the target host.
  1384.  
  1385.    The idea of using addresses that cleanly separate the Routing Stuff
  1386.    from an ESD is not new [references XXX]. However, there are several
  1387.    different flavors. In its pure form, a sender would only need to know
  1388.    the ESD of an end-point in order to send packets to it. When
  1389.    presented with a datagram to send, network software would be
  1390.    responsible for finding the Routing Stuff associated with the ESD so
  1391.    that the packet can be delivered. A key question is who is
  1392.    responsible for finding the Routing Stuff associated with a given
  1393.    ESD? There are a number of possibilities:
  1394.  
  1395.  
  1396.  
  1397. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 25]
  1398.  
  1399. INTERNET-DRAFT                                             July 30, 1997
  1400.  
  1401.  
  1402.      1) The network layer could be responsible for doing the mapping.
  1403.         The advantage of such a system is that an ESD could be stored
  1404.         essentially forever (e.g., in configuration files), but whenever
  1405.         it is actually used, network layer software would automatically
  1406.         perform the mapping to determine the appropriate Routing Stuff
  1407.         for the destination. Likewise, should an existing mapping become
  1408.         invalid, network layer software could dynamically determine the
  1409.         updated quantity. Unfortunately, building such a mapping
  1410.         mechanism that is scalable is a hard problem.
  1411.  
  1412.      2) The transport layer could be responsible for doing the mapping.
  1413.         It could perform the mapping when a connection is first opened,
  1414.         periodically refreshing the binding for long-running
  1415.         connections. Implementing such a scheme would change the
  1416.         existing transport layer protocols TCP and UDP significantly.
  1417.  
  1418.      3) Higher-layer software (e.g., the application itself) could be
  1419.         responsible for performing the mapping. This potentially
  1420.         increases the burden on application programmers significantly,
  1421.         especially if long-running connections are required to survive
  1422.         renumbering and/or deal with mobile nodes.
  1423.  
  1424.    It should be noted that the GSE proposal does not embrace the general
  1425.    model. Indeed, it proposes the last. The network layer (and indeed
  1426.    the transport layer) is always presented both the Routing Stuff (RG +
  1427.    STP) and the ESD together in one IPv6 address. It is not the network
  1428.    (or transport) layer's job to determine the Routing Stuff given only
  1429.    the ESD or to validate that the Routing Stuff is correct.  When an
  1430.    application has data to send, it queries the DNS to obtain the IPv6
  1431.    AAAA record for a destination. The returned AAAA record contains both
  1432.    the Routing Stuff and the ESD of the specified destination. While
  1433.    such an approach eliminates the need for the lower layers to be able
  1434.    to map ESDs into corresponding Routing Stuff, it also means that when
  1435.    presented with an address containing an incorrect (i.e., no longer
  1436.    valid) Routing Stuff, the network is unable to deliver the packet to
  1437.    its correct destination. It is up to applications themselves to deal
  1438.    with such failures. Note that addresses containing invalid Routing
  1439.    Stuff will result any time cached addresses are used after the
  1440.    Routing Stuff of the address becomes invalid. This may happen if
  1441.    addresses are stored in configuration files, or with long-running
  1442.    communication.
  1443.  
  1444.  
  1445. 4.1.5.  ESD: Network Layer Issues
  1446.  
  1447.    Along with the flexibility offered by separating the ESD from the
  1448.    Routing Stuff come additional considerations that must be considered
  1449.    at the network layer:
  1450.  
  1451.  
  1452.  
  1453. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 26]
  1454.  
  1455. INTERNET-DRAFT                                             July 30, 1997
  1456.  
  1457.  
  1458.      1) Addresses must have a locator embedded within them. It is not
  1459.         feasible to route packets solely on an ESD; doing so would make
  1460.         it impossible to aggregate routing information in a scalable
  1461.         way. The GSE proposal assumes that the locator part of an
  1462.         address is filled with an appropriate value by higher layers
  1463.         (i.e., the transport or application layer).
  1464.  
  1465.      2) If a receiver observes that recent packets are arriving with a
  1466.         different Routing Stuff in the source address than before, it
  1467.         may want to send return traffic using the new Routing Stuff.
  1468.         However, such information should not be accepted without
  1469.         appropriate authentication of the new Routing Stuff, otherwise
  1470.         it would be trivial to hijack existing transport connections.
  1471.         Always using the most recently received Routing Stuff of an
  1472.         address to send return traffic without appropriate
  1473.         authentication leads to a vulnerability that is equivalent in
  1474.         potential danger to "reversing and using an unauthenticated
  1475.         received source route."
  1476.  
  1477.         Note also that in the GSE proposal, since a sender does not know
  1478.         its own RG, it is not possible for the sender to compute an
  1479.         Authentication Header via IPSec that covers the RG portion of an
  1480.         address. Thus, a recipient of new RG would need to authenticate
  1481.         the received information via some alternate (undefined)
  1482.         mechanism.
  1483.  
  1484.         Finally, receipt of packets from different Routing Stuff than
  1485.         before does not necessarily indicate a permanent change. In the
  1486.         GSE proposal, for example, when a Site is multi-homed, some of
  1487.         its packets may exit via one egress router while other packets
  1488.         exit via a different egress router. Even packets originated from
  1489.         the same source may exit through multiple egress routers.
  1490.         Consequently, a node may receive traffic from the same sender in
  1491.         which the Routing Stuff part changes on every packet.
  1492.  
  1493.      3) In general, whenever an address is embedded within a packet
  1494.         (including within data), one must consider whether all the bits
  1495.         in the address should be used in computations, or whether just
  1496.         the ESD portion should be used. Examples where such decisions
  1497.         would need to be made include, but are not limited to, Neighbor
  1498.         Discovery packets containing Neighbor Solicitations and
  1499.         Responses [RFC 1970], IPSec packets being demultiplexed to their
  1500.         appropriate Security Association, IP deciding whether to accept
  1501.         an IP datagram (before reaching the transport level), the
  1502.         reassembly of fragments, transport layer demultiplexing of
  1503.         received packets to end-points, etc.
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 27]
  1510.  
  1511. INTERNET-DRAFT                                             July 30, 1997
  1512.  
  1513.  
  1514. 4.1.6.  ESD: Transport Layer Issues
  1515.  
  1516.    Previous sections have made clear that the embedding of full IPv6
  1517.    addresses (i.e., Routing Stuff) within transport connection end-point
  1518.    identifiers poses problems for mobility and site renumbering. This
  1519.    section discusses an alternate approach, in which transport end-point
  1520.    identifiers use ESDs rather than full addresses (with embedded
  1521.    Routing Stuff).
  1522.  
  1523.    In the following discussion, it should be kept in mind that the IPng
  1524.    Recommendation [RFC 1752] states that a transition to IPv6 cannot
  1525.    also require deployment of a "TCPng." In addition, although we focus
  1526.    on TCP, UDP-based protocols also depend on the Routing Stuff in
  1527.    similar ways, e.g., starting with the UDP checksum of the peers'
  1528.    addresses. Indeed, we believe that TCP is the "easy" case to deal
  1529.    with, for two reasons. First, TCP is a stateful protocol in which
  1530.    both ends of the connection can negotiate with each other. Some UDP-
  1531.    based protocols are stateless, and remember nothing from one packet
  1532.    to the next. Consequently, changing UDP-based protocols may require
  1533.    the introduction of "session" features, perhaps as part of a common
  1534.    "library", for use by applications whose transport protocol is
  1535.    relatively stateless.  Second, changes to UDP-based protocols in
  1536.    practice mean changing individual applications themselves, raising
  1537.    deployability questions.
  1538.  
  1539.  
  1540. 4.1.6.1.  Demultiplexing Packets to Transport Endpoints
  1541.  
  1542.    Connections in GSE are identified by the ESDs rather than full IPv6
  1543.    addresses (with embedded Routing Stuff). That is:
  1544.  
  1545.         unique IPv4 TCP connection:     srcaddr dstaddr srcport destport
  1546.         unique GSE TCP connection:      srcESD dstESD srcport dstport
  1547.  
  1548.    Consequently, with GSE, when demultiplexing incoming packets, TCP
  1549.    would ignore the Routing Stuff portions of addresses when delivering
  1550.    packets to their proper end-point.
  1551.  
  1552.    Although there are potential benefits to this approach (discussed
  1553.    below), demultiplexing on ESDs alone without the RS is, in fact,
  1554.    required with GSE. If a site is multi-homed, the packets it sends may
  1555.    exit different egress border routers during the lifetime of a
  1556.    connection. Because each border router will place its own RG into the
  1557.    source addresses of outgoing packets, the receiving TCP must ignore
  1558.    (at least) the RG portion of addresses when demultiplexing received
  1559.    packets. The alternative would be to make TCP less robust with
  1560.    respect to changes in routing, i.e., if the path changed, packets
  1561.    delivered correctly would be discarded by the receiving TCP rather
  1562.  
  1563.  
  1564.  
  1565. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 28]
  1566.  
  1567. INTERNET-DRAFT                                             July 30, 1997
  1568.  
  1569.  
  1570.    than processed.
  1571.  
  1572.  
  1573. 4.1.6.2.  Pseudo-Header Checksum Calculations
  1574.  
  1575.    Having routers rewrite the RG portion of addresses means that TCP
  1576.    cannot include the RG in its checksum calculation; the sender does
  1577.    not know its own RG. Consequently, upon receipt of a TCP segment, the
  1578.    receiver has no way of determining whether the RG portion of an
  1579.    address has been corrupted (or modified) in transit (the implications
  1580.    of this are discussed below).
  1581.  
  1582.  
  1583. 4.1.6.3.  RG Selection When Sending Packets
  1584.  
  1585.    When a host has a packet to send, there are three cases for deciding
  1586.    what RG to use in the destination.  If the host is performing an
  1587.    "active open", it queries the DNS to obtain the destination address,
  1588.    which contains appropriate RG. If the host is responding to an active
  1589.    open from a remote peer, the source address of packets from that peer
  1590.    contains usable RG. Note that assuming that the RG on an incoming TCP
  1591.    connection is "correct" needs qualification. It is "correct" in the
  1592.    sense that it corresponds to the site originating the connection.
  1593.    Whether the ESD paired with the RG is actually located at that site
  1594.    cannot be assumed. The issue of spoofing is discussed in more detail
  1595.    later.  The last (and most interesting) case is when RG changes mid-
  1596.    connection. Although, the GSE proposal calls for always using the
  1597.    first RG learned (and then never switching), we explored the
  1598.    possibility of doing so in order to better understand the issues.
  1599.  
  1600.  
  1601. 4.1.6.4.  Mid-Connection RG Changes
  1602.  
  1603.    During a connection, the RG appearing on subsequent packets is
  1604.    susceptible to change through renumbering events, and indeed more
  1605.    frequently, to change through Site-internal routing changes that
  1606.    cause the egress point for off-Site traffic to change. It is even
  1607.    possible (in the worst case) that traffic-balancing schemes could
  1608.    result in the use of two egress routers, with roughly every other
  1609.    packet exiting through a different egress router. Consequently it may
  1610.    be desirable to switch to the just-received RG, as the old RG may no
  1611.    longer be valid (e.g., a border router has failed), but care must be
  1612.    taken not to thrash. Moreover, simply using the most-recently-
  1613.    received RG makes it trivial for an intruder to hijack connections.
  1614.  
  1615.    Because TCP under GSE demultiplexes packets using only ESDs, packets
  1616.    will be delivered to the correct end-point regardless of what source
  1617.    RG is used. However, return traffic will continue to be sent via the
  1618.  
  1619.  
  1620.  
  1621. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 29]
  1622.  
  1623. INTERNET-DRAFT                                             July 30, 1997
  1624.  
  1625.  
  1626.    "old" RG, even though it may have been deprecated or become less
  1627.    optimal because the peer's border router has changed.  It would seem
  1628.    highly desirable for TCP connections to be able to survive such
  1629.    events. However, the completion of renumbering events (so that an
  1630.    earlier RG is now invalid) and certain topology changes would require
  1631.    TCP to switch sending to a new RG mid-connection.  To explore the
  1632.    whole space, we considered ways of allowing this mid-connection RG
  1633.    change to happen.
  1634.  
  1635.    If TCP connection identifiers are based on ESDs rather than full
  1636.    addresses, traffic from the same ESD would be viewed as coming from
  1637.    the same peer, regardless of its source RG. This makes it trivial for
  1638.    any Internet host to impersonate another, and have such traffic be
  1639.    accepted by TCP.  Because this vulnerability is already present in
  1640.    today's Internet (forging full source addresses is trivial), the mere
  1641.    delivery of incoming datagrams with the same ESD but a different RG
  1642.    does not introduce new vulnerability to TCP.  In today's Internet,
  1643.    any node can already originate FINs/RSTs from an arbitrary source
  1644.    address and potentially or definitely disrupt the connection.
  1645.    Therefore, changing RG for acceptance, or acceptance of traffic
  1646.    independent of its source RG, does not appear to significantly worsen
  1647.    existing robustness.
  1648.  
  1649.    We also considered allowing TCP to reply to each segment using the RG
  1650.    of the most recently-received segment. Although this allows TCP to
  1651.    survive some important events (e.g., renumbering), it also makes it
  1652.    trivial to hijack connections, unacceptably weakening robustness
  1653.    compared with today's Internet. A sender simply needs to guess the
  1654.    sequence numbers in use by a given TCP connection [Bellovin 89] and
  1655.    send traffic with a bogus  RG to hijack a connection to an intruder
  1656.    at an arbitrary location.
  1657.  
  1658.    Providing protection from hijacking implies that the RG used to send
  1659.    packets must be bound to a connection end-point (e.g., it is part of
  1660.    the connection state). Although it may be reasonable to accept
  1661.    incoming traffic independent of the source RG, the choice of sending
  1662.    RG requires more careful consideration. Indeed, any subsequent change
  1663.    in what RG is used for sending traffic must be properly authenticated
  1664.    using cryptographic means. In the GSE proposal, it is not clear how
  1665.    to authenticate such a change, since the remote peer doesn't even
  1666.    know what RG it is using!  Consequently, the only reasonable approach
  1667.    in GSE is to send to the peer at the first RG used by the peer for
  1668.    the entire life of a connection. That is, always continue to use the
  1669.    first RG seen.
  1670.  
  1671.    In summary, changing the RG dynamically in a safe way for a
  1672.    connection requires that an originator of traffic be able to
  1673.    authenticate a proposed change in the RG before sending to a
  1674.  
  1675.  
  1676.  
  1677. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 30]
  1678.  
  1679. INTERNET-DRAFT                                             July 30, 1997
  1680.  
  1681.  
  1682.    particular ESD via that RG. Such a mechanism would need to be
  1683.    invented, as the TCP/IP suite has no obvious candidate that operates
  1684.    at or below the transport layer (using the DNS, an application
  1685.    protocol that resides above IP, would be problematic due to layering
  1686.    circularity considerations).
  1687.  
  1688.  
  1689. 4.1.6.5.  Passive Opens
  1690.  
  1691.    One question that arises is what impact corrupted RG would have on
  1692.    robustness. Because the RG is not covered by any checksums, it would
  1693.    be difficult to detect such corruption. Moreover, once a specific RG
  1694.    is in use, it does not change for the duration of a connection. The
  1695.    interesting case occurs on the passive side of a TCP connection,
  1696.    where a server accepts incoming connections from remote clients. If
  1697.    the initial SYN from the client includes corrupted RG, the server TCP
  1698.    will create a TCP connection (in the SYN-RECEIVED state) and cache
  1699.    the corrupted RG with the connection. The second packet of the 3-way
  1700.    handshake, the SYN-ACK packet, would be sent to the wrong RG and
  1701.    consequently not reach the correct destination. Later, when the
  1702.    client retransmits the unacknowledged SYN, the server will continue
  1703.    to send the SYN-ACK using the bad RG. Eventually the client times
  1704.    out, and the attempt to open a TCP connection fails. Figure 8 shows
  1705.    the details.
  1706.  
  1707.  
  1708.          TCP A                                                  TCP B
  1709.  
  1710.       1. CLOSED                                                 LISTEN
  1711.  
  1712.       2. SYN-SENT --> <SRC RG=BITERR><SEQ=100><CTL=SYN>     --> SYN-RECEIVED
  1713.  
  1714.       3. <-- <DST RG=BITERR><SEQ=300><ACK=101><CTL=SYN,ACK> <-- SYN-RECEIVED
  1715.  
  1716.       4. SYN-SENT --> <SRC RG><SEQ=100><CTL=SYN>             --> SYN-RECEIVED
  1717.  
  1718.       5. <-- <DST RG=BITERR><SEQ=300><ACK=101><CTL=SYN,ACK> <-- SYN-RECEIVED
  1719.  
  1720.       ... TCP A times out
  1721.  
  1722.                                   Figure 8
  1723.  
  1724.  
  1725.    We next consider relaxing the restriction on switching RGs in an
  1726.    attempt to avoid the previous failure scenario. The situation is
  1727.    complicated by the fact that the RG on received packets may change
  1728.    for legitimate reasons (e.g., a multi-homed site load-shares traffic
  1729.    across multiple border routers). The key question is how can one
  1730.  
  1731.  
  1732.  
  1733. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 31]
  1734.  
  1735. INTERNET-DRAFT                                             July 30, 1997
  1736.  
  1737.  
  1738.    determine which RG is valid and which is not. That is, for each of
  1739.    the RGs a sender attempts to use, how can it determine which RG
  1740.    worked and which did not? Solving this problem is more difficult than
  1741.    first appears, since one must cover the cases of delayed segments,
  1742.    lost segments, simultaneous opens, etc. If a SYN-ACK is retransmitted
  1743.    using different RGs, it is not possible to determine which of those
  1744.    RGs worked correctly. We conclude that the only way TCP could
  1745.    determine that a particular RG was used to deliver segments was if it
  1746.    received an ACK for a specific sequence number in which all
  1747.    transmissions of that sequence number used the same RG (a non-trivial
  1748.    addition to TCP).
  1749.  
  1750.    We analyze multiple cases of RG changing within the time of the
  1751.    opening handshake. One example is diagrammed in Figure 9, and it and
  1752.    two others are summarized in Table 1. We observe that RG flap and
  1753.    large numbers of passive opens may coincide, for instance, when a
  1754.    power failure at a server farm affects both internal routers and
  1755.    servers.
  1756.  
  1757.        time TCP A                                    time TCP B
  1758.  
  1759.        t0  --> <SRC RG=M><SEQ=100><SYN>              t1
  1760.  
  1761.        t3  <-- <DST RG=M><SEQ=300><ACK=101><SYN,ACK> t1
  1762.  
  1763.        TCP B's SYN,ACK is delayed and crosses with retransmit of TCP A's
  1764.        SYN on which RG has changed from M to N
  1765.  
  1766.        t2  --> <SRC RG=N><SEQ=100><SYN>              t3
  1767.  
  1768.        t4  --> <SRC RG=N><SEQ=101><ACK=301>          t3  ESTABLISHED
  1769.  
  1770.        TCP B decides to use DST RG=M for TCP A, because it heard from
  1771.        RG=M and was ACK'd on a send to RG=M
  1772.  
  1773.                                   Figure 9
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 32]
  1790.  
  1791. INTERNET-DRAFT                                             July 30, 1997
  1792.  
  1793.  
  1794.  
  1795.                     SYNFROM  SYNACKTO  ACKFROM   SELECT
  1796.                     W        W         X         W
  1797.                     ------------------------------------
  1798.                     W
  1799.                     X        W         X         W
  1800.                     ------------------------------------
  1801.                     W        W
  1802.                     X        X         Y         ??
  1803.  
  1804.                                   Table 1
  1805.  
  1806.    At best, an RG selection algorithm for TCP would be relatively
  1807.    straightforward but would require new logic in implementations of
  1808.    TCP's opening handshake --- a significant transition issue. We are
  1809.    not certain that a valid algorithm is attainable, however. RG changes
  1810.    would have to be handled in all cases handled by the opening
  1811.    handshake:  delayed segments, lost segments, undetected bit errors in
  1812.    RG, simultaneous opens, old segments and so on.
  1813.  
  1814.    In the end, we conclude that although the corrupted SYN case of
  1815.    Figure 8 was a potential problem, the changes that would need to be
  1816.    made to TCP to robustly deal with such corruption would be
  1817.    significant, if tractable at all. This would result in transition to
  1818.    GSE needing a significant TCPng transition.
  1819.  
  1820.    Our final conclusion is that transport protocol end-points must make
  1821.    an early, single choice of the RG to use when sending to a peer and
  1822.    stick with that choice for the duration of the connection.
  1823.    Specifically:
  1824.  
  1825.      1) The demultiplexing of arriving packets to their transport end
  1826.         points should use only the ESD, and not the Routing Stuff.
  1827.  
  1828.      2) If the application chooses an RG for the remote peer (i.e., an
  1829.         active open), use the provided RG for all traffic sent to that
  1830.         peer, even if alternative RGs are received on subsequent
  1831.         incoming datagrams from the same ESD.
  1832.  
  1833.      3) For all other cases, use the first RG received with a given ESD
  1834.         for all sending. We recommend that a means be found for RGs to
  1835.         be checksummed if the GSE address structure is used.
  1836.  
  1837.    Consequently, there does not appear to be a straightforward way to
  1838.    use ESDs in conjunction with mobility or site renumbering (in which
  1839.    existing connections survive the renumbering).
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 33]
  1846.  
  1847. INTERNET-DRAFT                                             July 30, 1997
  1848.  
  1849.  
  1850. 4.1.6.6.  Summary: ESD and RG Not Strictly Independent
  1851.  
  1852.    We cannot emphasize enough that the use of an ESD independent of an
  1853.    associated RG can be very dangerous. That is, communicating with a
  1854.    peer implies that one is always talking to the same peer for the
  1855.    duration of the communication. But as has been described in previous
  1856.    sections, such assurance can only take place if there are assurances
  1857.    that only properly authenticated RG is used.
  1858.  
  1859.    We conclude that the rules for transport processing when ESDs are
  1860.    present differ from classical IP. Specifically:
  1861.  
  1862.      1) The demultiplexing of packets to transport connection end-points
  1863.         should use ESDs, but should not use the Routing Stuff part of
  1864.         addresses. This insures that packets are delivered to their
  1865.         intended destination  independent of RG.
  1866.  
  1867.      2) Once a packet has been delivered to its transport end-point, a
  1868.         separate (i.e., distinct) decision should be made concerning
  1869.         whether and how to act upon the received packet. Such a decision
  1870.         would be transport-protocol specific. A protocol could chose to
  1871.         completely ignore the packet, it could selectively use parts of
  1872.         the packet (e.g., to attempt out-of-band authentication of the
  1873.         RG), or it could process the packet in its entirety. It must
  1874.         not, however, use the received RG to send subsequent return
  1875.         traffic without first authenticating the RG.
  1876.  
  1877.  
  1878.  
  1879. 4.1.7.  On The Uniqueness Of ESDs
  1880.  
  1881.    The uniqueness requirements for ESDs depends on what purpose they
  1882.    serve. In GSE, ESDs identify end systems, requiring  that they be
  1883.    globally unique. It does not make sense for two different end systems
  1884.    to use the same ESD; every end system must have its own ESD to
  1885.    distinguish from other end systems.
  1886.  
  1887.    If ESDs are only used to identify session endpoints, the situation
  1888.    becomes more complex.  At first glance it might appear that two nodes
  1889.    using the same ESD cannot communicate. However, this is not
  1890.    necessarily the case. In the GSE proposal, for example, a node
  1891.    queries the DNS to obtain an IPv6 address. The returned address
  1892.    includes the Routing Stuff of an address (the RG+STP portions). Since
  1893.    the sending host transmits packets based on the entire destination
  1894.    IPv6 address, the sender may well forward the packet to a router that
  1895.    delivers the packet to its correct destination (using the information
  1896.    in the Routing Stuff). It is only on receipt of a packet that a node
  1897.    would extract the ESD portion of a datagram's destination address and
  1898.  
  1899.  
  1900.  
  1901. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 34]
  1902.  
  1903. INTERNET-DRAFT                                             July 30, 1997
  1904.  
  1905.  
  1906.    ask "is this for me?"
  1907.  
  1908.    A more problematic case occurs if two nodes using the same ESD
  1909.    communicate with a third party. To the third party, packets received
  1910.    from either machine might appear to be coming from the same machine
  1911.    since they are both using the same ESD. Consequently, at the
  1912.    transport level, if both machines choose the same source and
  1913.    destination port numbers (one of the ports --- a server's well-known
  1914.    port number will likely be the same), packets belonging to two
  1915.    distinct transport connections will be demultiplexed to a single
  1916.    transport end-point.
  1917.  
  1918.    When packets from different sources using the same source ESD are
  1919.    delivered to the same transport end-point, a number of possibilities
  1920.    come to mind:
  1921.  
  1922.      1) The transport end-point could accept the packet, without regard
  1923.         to the Routing Stuff of the source address. This may lead to a
  1924.         number of robustness problems, if data from two different
  1925.         sources mistakenly using the same ESD are delivered to the same
  1926.         transport or application end-point (which at best will confuse
  1927.         the application).
  1928.  
  1929.      2) The transport end-point could verify that the Routing Stuff of
  1930.         the source address matches one of a set of expected values
  1931.         before processing the packet further. If the Routing Stuff
  1932.         doesn't match any expected value, the packet could be dropped.
  1933.         This would result in a connection from one host operating
  1934.         correctly, while a connection from another host (using the same
  1935.         ESD) would fail.
  1936.  
  1937.      3) When a packet is received with an unexpected Routing Stuff the
  1938.         receiver could invoke special-purpose code to deal with this
  1939.         case. Possible actions include attempting to verify whether the
  1940.         Routing Stuff is indeed correct (the saved values may have
  1941.         expired) or attempting to verify whether duplicate ESDs are in
  1942.         use (e.g., by inventing a protocol that sends packets using both
  1943.         Routing Stuff and verifies that they are delivered to the same
  1944.         end-point).
  1945.  
  1946.  
  1947. 4.1.8.  DNS PTR Queries
  1948.  
  1949.    IPv4 uses the domain "IN-ADDR.ARPA" to hold PTR Resource Records. PTR
  1950.    RRs allow a client to map IP addresses back into the domain name
  1951.    corresponding to that address. IPv4 addresses can be put into the DNS
  1952.    because they have hierarchical structure -- the same hierarchy used
  1953.    to aggregate routes.
  1954.  
  1955.  
  1956.  
  1957. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 35]
  1958.  
  1959. INTERNET-DRAFT                                             July 30, 1997
  1960.  
  1961.  
  1962.    The ability to map an IP address into its corresponding DNS name is
  1963.    used in several contexts:
  1964.  
  1965.      1) Network packet tracing utilities (e.g., tcpdump) display the
  1966.         contents of packets. Printing out the DNS names appearing in
  1967.         those packets (rather than dotted IP addresses) requires access
  1968.         to an address-to-name mapping mechanism.
  1969.  
  1970.      2) Some applications perform "cheap" authentication by using the
  1971.         DNS to map a source address of a peer into a DNS name. Then, the
  1972.         client queries the DNS a second time, this time asking for the
  1973.         address(es) corresponding to the peer's DNS name. Only if one of
  1974.         the addresses returned by the DNS matches the peer address of
  1975.         the TCP connection is the source of the TCP connection accepted
  1976.         as being from the indicated DNS name.
  1977.  
  1978.         It is important to note that although two DNS queries are made
  1979.         during the above operation, it is the second one --- mapping the
  1980.         peer's DNS name back into an IP address --- that provides the
  1981.         authentication property. The first transaction simply obtains
  1982.         the peer's DNS name, but no assumption is made that the returned
  1983.         DNS name is correct.  Thus, the first DNS query could be
  1984.         replaced by an alternate mechanism without weakening the already
  1985.         weak authentication check described above. One possible
  1986.         alternate mechanism, an ICMP "Who Are You" message, is described
  1987.         in Section 4.1.11.
  1988.  
  1989.      3) Applications that log all incoming network connections (e.g.,
  1990.         anonymous FTP servers) may prefer logging recognizable DNS names
  1991.         to addresses.
  1992.  
  1993.      4) Network administrators examining logs or other trace data
  1994.         containing addresses may wish to determine the DNS name of some
  1995.         addresses. Note that this may occur sometime after those
  1996.         addresses were actually used.
  1997.  
  1998.    Although DNS PTR records have proven useful in several contexts,
  1999.    there is also widespread agreement that, in practice, many IP
  2000.    addresses in use today are not properly registered in the IN-
  2001.    ADDR.ARPA namespace. Consequently, PTR queries frequently fail to
  2002.    return usable information. Thus, the overall utility of PTR records
  2003.    is questionable.
  2004.  
  2005.    It is also worth noting that the primary reason that so few addresses
  2006.    are properly registered in the PTR space is the absence of incentive
  2007.    for doing so. With no key piece of the Internet infrastructure
  2008.    depending on such mappings being in place or correct, there is little
  2009.    practical harm in failing to keep it up-to-date.
  2010.  
  2011.  
  2012.  
  2013. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 36]
  2014.  
  2015. INTERNET-DRAFT                                             July 30, 1997
  2016.  
  2017.  
  2018.    Finally, it might appear at first glance that secure DNS [RFC2065]
  2019.    provides a means for cryptographically signing a PTR record and
  2020.    thereby providing authentication. Things are not so simple, however.
  2021.    The signature on a PTR record indicates that the entity owning an
  2022.    address has given it a DNS name. It does not mean that the owner of
  2023.    the address is authorized to use that specific name. For example,
  2024.    anyone owning an address can set up a PTR record indicating that the
  2025.    address corresponds to the name "www.ietf.org". However, the name
  2026.    "www.ietf.org" belongs to only one entity, regardless of how many PTR
  2027.    records indicate otherwise.
  2028.  
  2029.  
  2030. 4.1.9.  Reverse Mapping of ESDs
  2031.  
  2032.    It is reasonable to ask if it is necessary or desirable to be able to
  2033.    map an ESD (alone) into some other meaningful quantity, such as a
  2034.    fully qualified domain name. The benefits of being able to perform
  2035.    such a mapping are analogous to those described in the preceding
  2036.    section.
  2037.  
  2038.    The primary difficulty with constructing such a mapping is that it
  2039.    requires that ESDs have sufficient structure to support the
  2040.    delegating mechanism of a distributed database such as DNS. The sorts
  2041.    of built-in identifiers now found in computing hardware, such as
  2042.    "EUI-48" and "EUI-64" addresses [IEEE802, IEEE1212], do not have the
  2043.    structure required for this delegation. Hence, stateless
  2044.    autoconfiguration [RFC1971] cannot create addresses with the
  2045.    necessary hierarchical property.
  2046.  
  2047.    Another possibility would be to define ESDs with sufficient structure
  2048.    to permit the construction of a mapping mechanism. However, analysis
  2049.    performed during the IPng deliberations concluded that close to 48-
  2050.    bits of hierarchy were needed to identify all the possible sites
  2051.    30-40 years from now. That would leave only 2 bytes for host
  2052.    numbering at a site, a number clearly incompatible with stateless
  2053.    autoconfiguration [RFC1971].
  2054.  
  2055.    There are several arguments against having a global ESD-lookup
  2056.    capability. Adding sufficient structure to an 8-byte ESD would be
  2057.    incompatible with stateless autoconfiguration, which already uses 6
  2058.    bytes for its token; two additional bytes for hierarchy are clearly
  2059.    insufficient. In addition, experience with the IN-ADDR.ARPA domain
  2060.    suggests that the required databases will be poorly maintained.
  2061.    Finally, imposing a required hierarchical structure on ESDs would
  2062.    also introduce a new administrative burden and a new or expanded
  2063.    registry system to manage ESD space. While the procedures for
  2064.    assigning ESDs, which need only organizational and not topological
  2065.    significance, would be simpler than the procedures for managing IPv4
  2066.  
  2067.  
  2068.  
  2069. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 37]
  2070.  
  2071. INTERNET-DRAFT                                             July 30, 1997
  2072.  
  2073.  
  2074.    addresses (or DNS names), it is hard to imagine such a process being
  2075.    universally well-received or without controversy; it seems a laudable
  2076.    goal to avoid the problem altogether if possible.
  2077.  
  2078.  
  2079. 4.1.10.  Reverse Mapping of Complete GSE Addresses
  2080.  
  2081.    Although it seems infeasible to have a global scale, reverse mapping
  2082.    of ESDs, within a Site, one could imagine maintaining a database
  2083.    keyed on unstructured 8-byte ESDs. However, it is a matter of debate
  2084.    whether such a database can be kept up-to-date at reasonable cost,
  2085.    without making unreasonable assumptions as to how large sites are
  2086.    going to grow, and how frequently ESD registrations will be made or
  2087.    updated. Note that the issue isn't just the physical database itself,
  2088.    but the operational issues involved in keeping it up-to-date. For the
  2089.    rest of this section, however, let us assume such a database can be
  2090.    built.
  2091.  
  2092.    A mechanism supporting a lookup keyed on a flat-space ESD from an
  2093.    arbitrary Site requires having sufficient structure to identify the
  2094.    Site that needs to be queried. In practice, an ESD will almost always
  2095.    be used in conjunction with Routing Stuff (i.e., a full 16-byte
  2096.    address). Since the Routing Stuff is organized hierarchically, it
  2097.    becomes feasible to maintain a DNS tree that maps full GSE addresses
  2098.    into DNS names, in a fashion analogous to what is done with IPv4 PTR
  2099.    records today.
  2100.  
  2101.    It should be noted that a GSE address lookup will work only if the
  2102.    Routing Stuff portion of the address is correctly entered in the DNS
  2103.    tree. Because the RG portion of an address is expected to change over
  2104.    time, this assumption will not be valid indefinitely. As a
  2105.    consequence, a packet trace recorded in the past might not contain
  2106.    enough information to identify the off-Site sources of the packets in
  2107.    the present. This problem can be addressed by requiring that the
  2108.    database of RG delegations be maintained for some period of time
  2109.    after the RG is no longer usable for routing packets.
  2110.  
  2111.    Finally, it should be noted that the problem where an address's RG
  2112.    "expires" with the implication that the mapping of "expired"
  2113.    addresses into DNS names may no longer hold is not a problem specific
  2114.    to the GSE proposal. With provider-based addressing, the same issue
  2115.    arises when a site renumbers into a new provider prefix and releases
  2116.    the allocation from a previous block. The authors are aware of one
  2117.    such renumbering in IPv4 where a block of returned addresses was
  2118.    reassigned and reused within 24 hours of the renumbering.
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 38]
  2126.  
  2127. INTERNET-DRAFT                                             July 30, 1997
  2128.  
  2129.  
  2130. 4.1.11.  The ICMP "Who Are You" Message
  2131.  
  2132.    Although there is widespread agreement on the utility of being able
  2133.    to determine the DNS name one is communicating with, there is also
  2134.    widespread concern that repeating the experience of the "IN-
  2135.    ADDR.ARPA" domain is undesirable. Consequently, an old proposal to
  2136.    define an ICMP "Who Are You?" message was resurrected [RFC1788]. A
  2137.    client would send such a message to a peer, and that peer would
  2138.    return an ICMP message containing its DNS name.
  2139.  
  2140.    Asking a remote host to supply its own name in no way implies that
  2141.    the returned information is accurate. However, having a remote peer
  2142.    provide a piece of information that a client can use as input to a
  2143.    separate authentication procedure provides a starting point for
  2144.    performing strong authentication. The actual strength of the
  2145.    authentication depends on the authentication procedure invoked,
  2146.    rather than the untrustable piece of information provided by a remote
  2147.    peer.
  2148.  
  2149.    Reconsidering the "cheap" authentication procedure described in
  2150.    Section 4.1.9, the ICMP "Who Are You" replaces the DNS PTR query used
  2151.    to obtain the DNS name of a remote peer. The second DNS query, to map
  2152.    the DNS name back into a set of addresses, would be performed as
  2153.    before. Because the latter DNS query  provides the strength of the
  2154.    authentication, the use of an ICMP "Who Are You" message does not in
  2155.    any way weaken the strength of the authentication method. Indeed, it
  2156.    can only make it more useful in practice, because virtually all hosts
  2157.    can be expected to implement the "Who Are You" message.
  2158.  
  2159.    The "Who Are You" message could contain an identifier for matching
  2160.    replies to requests, and perhaps a nonce value to provide resistance
  2161.    to spoofing. In order to minimize the number of WRU packets on the
  2162.    Internet, the WRU messages should be sent by DNS servers who would
  2163.    then cache the answers. This has the pleasant side-effect of reducing
  2164.    the impact on existing applications (i.e., they would continue to
  2165.    look up addresses using the same API as before). In many cases there
  2166.    is a natural TTL that the target node can provide in its reply:
  2167.    either the remaining lifetime of a DHCP lease or the remaining valid
  2168.    time of a prefix from which the address was derived through stateless
  2169.    autoconfiguration.
  2170.  
  2171.    The "Who Are You?" (WRU) message described in Section 4.1.10 is
  2172.    robust against renumbering, since it follows the paths of valid
  2173.    routable prefixes. Essentially, it uses the Internet routing system
  2174.    in place of the DNS delegation scheme. It is attractive in the
  2175.    context of GSE-style renumbering, since no host or DNS server needs
  2176.    to be updated after a renumbering event for WRU-based lookups to
  2177.    work. It has advantages outside the context of GSE as well, including
  2178.  
  2179.  
  2180.  
  2181. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 39]
  2182.  
  2183. INTERNET-DRAFT                                             July 30, 1997
  2184.  
  2185.  
  2186.    a more decentralized, and hence more scalable, administration and
  2187.    easier upkeep than a DNS reverse-lookup zone. It also has drawbacks:
  2188.    it requires the target node to be up and reachable at the time of the
  2189.    query and to know its fully qualified domain name. It is also not
  2190.    possible to resolve addresses once those addresses become unroutable.
  2191.    In contrast, the DNS PTR mirrors, but is independent of, the routing
  2192.    hierarchy. The DNS can maintain mappings long after the routing
  2193.    subsystem stops delivering packets to certain addresses.
  2194.  
  2195.    The requirement that the target node be up and reachable at the time
  2196.    of the query makes it very uncertain that one would be able to take
  2197.    addresses from a packet log and translate them to correct domain
  2198.    names at a later date. This is a design flaw in the logging system,
  2199.    as it violates the architectural principle, "Avoid any design that
  2200.    requires addresses to be ... stored on non-volatile storage."
  2201.    [RFC1958] A better-designed system would look up domain names
  2202.    promptly from logged addresses. Indeed, one of the authors is pleased
  2203.    to be able to state that his site has been doing that for some years.
  2204.  
  2205.    (Speculative note: Proxy servers to answer WRU queries are possible.
  2206.    If the boundary between the global and site portions of addresses are
  2207.    fixed and/or the boundary between the routing and the end-node
  2208.    portions are fixed, then one could define a well-known anycast
  2209.    address for proxy WRU service per site and/or per subnet. The low-
  2210.    order portion of this address would presumably be created from the
  2211.    IANA's IEEE OUI. The WRU client-side interface would have to be
  2212.    defined to try this address after or before sending a query to the
  2213.    target address itself. Nodes answering to this anycast address could
  2214.    reply to WRU queries using a database maintained by private means.
  2215.    By carrying a /128 route site-wide or in the site's provider, these
  2216.    servers need not even be located within the subnet or site they
  2217.    serve. Co-location of the proxy WRU servers with some DNS servers is
  2218.    a natural choice in some scenarios.)
  2219.  
  2220.  
  2221. 4.2.  Renumbering and Domain Name System (DNS) Issues
  2222.  
  2223.  
  2224. 4.2.1.  How Frequently Can We Renumber?
  2225.  
  2226.    One premise of the GSE proposal [GSE] is that an ISP can renumber the
  2227.    Routing Goop portion of a Site's addresses transparently to the Site
  2228.    (i.e., without coordinating the change with the Site). This would
  2229.    make it possible for backbone providers to aggressively renumber the
  2230.    Routing Goop part of addresses and achieve a high degree of route
  2231.    aggregation. On closer examination, frequent (e.g., daily)
  2232.    renumbering turns out to be difficult in practice because of a
  2233.    circular dependency between the DNS and routing. Specifically, if a
  2234.  
  2235.  
  2236.  
  2237. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 40]
  2238.  
  2239. INTERNET-DRAFT                                             July 30, 1997
  2240.  
  2241.  
  2242.    Site's Routing Stuff changes, nodes communicating with the Site need
  2243.    to obtain the new Routing Stuff. In the GSE proposal, one queries the
  2244.    DNS to obtain this information. However, in order to reach a Site's
  2245.    DNS servers, the pointers controlling the downward delegation of
  2246.    authoritative DNS servers (i.e., DNS "glue records") must use
  2247.    addresses (with Routing Stuff) that are reachable. That is, in order
  2248.    to find the address for the web server "www.foo.bar.com", DNS queries
  2249.    might need to be sent to a root DNS servers, as well as DNS servers
  2250.    for "bar.com" and "foo.bar.com". Each of these servers must be
  2251.    reachable from the querying client. Consequently, there must be an
  2252.    overlap period during which both the old Routing Stuff and the new
  2253.    Routing Stuff can be used simultaneously. During the overlap period,
  2254.    DNS glue records would need to be updated to use the new addresses
  2255.    (including Routing Stuff). Only after all relevant DNS servers have
  2256.    been updated and older cached RRs containing the old addresses have
  2257.    timed out can the old address be deleted.
  2258.  
  2259.    An important observation is that the above issue is not specific to
  2260.    GSE: the same requirement exists with today's provider-based
  2261.    addressing architecture. When a site is renumbered (e.g., it switches
  2262.    ISPs and obtains a new set of addresses from its new provider), the
  2263.    DNS must be updated in a similar fashion.
  2264.  
  2265.  
  2266. 4.2.2.  Efficient DNS support for Site Renumbering
  2267.  
  2268.    When a site renumbers to satisfy its ISP, only the site's routing
  2269.    prefix needs to change. That is, the prefix reflects where within the
  2270.    Internet the site resides. Although some sites may also change the
  2271.    numbering of their internal topology when switching providers, this
  2272.    is not a requirement. Rather, it may be a convenient time to also
  2273.    perform any desired internal renumbering since in practice that any
  2274.    address renumbering tends to cause disruptions.
  2275.  
  2276.    In the current Internet, when a site is renumbered, the addresses of
  2277.    all the site's internal nodes change. This requires a potentially
  2278.    large update to the RR database for that site. Although Dynamic DNS
  2279.    [DDNS] could potentially be used, the cost is likely to be large due
  2280.    to the large number of individual records that would need to be
  2281.    updated. In addition, when DHCP and DDNS are used together [DHCP-
  2282.    DDNS], it may be the case that individual hosts "own" their own A or
  2283.    AAAA records, further complicating the question of who is able to
  2284.    update the contents of DNS RRs.
  2285.  
  2286.    One change that could reduce the cost of updating the DNS when a site
  2287.    is renumbered is to split addresses into two distinct portions: a
  2288.    Routing Goop that reflects where a node attaches to the Internet and
  2289.    a "site internal part" that is the site-specific part of an address.
  2290.  
  2291.  
  2292.  
  2293. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 41]
  2294.  
  2295. INTERNET-DRAFT                                             July 30, 1997
  2296.  
  2297.  
  2298.    During a renumbering, only the Routing Goop would change; the "site
  2299.    internal part" would remain fixed. Furthermore, the two parts of the
  2300.    address could be stored in the DNS as separate RRs. That way,
  2301.    renumbering a site would only require that the Routing Goop RR of a
  2302.    site be updated; the "site-internal part" of individual addresses
  2303.    would not change.
  2304.  
  2305.    To obtain the address of a node from the DNS, a DNS query for the
  2306.    name would return two quantities: the "site internal part" and the
  2307.    DNS name of the Routing Stuff for the site. An additional DNS query
  2308.    would then obtain the specific RR of the site, and the complete
  2309.    address would be synthesized by concatenating the two pieces of
  2310.    information.
  2311.  
  2312.    Implementing these DNS changes increases the practicality of using
  2313.    Dynamic DNS to update a site's DNS records as it is renumbered. Only
  2314.    the site's Routing Goop RRs would need updating.
  2315.  
  2316.    Finally, it may be useful to divide a node's AAAA RR into the three
  2317.    logical parts of the GSE proposal, namely RG, STP and ESD. Whether or
  2318.    not it is useful to have separate RRs for the STP and ESD portions of
  2319.    an address or a single RR combining both is an issue that requires
  2320.    further study.
  2321.  
  2322.    If AAAA records are comprised of multiple distinct RRs, then one
  2323.    question is who should be responsible for synthesizing the AAAA from
  2324.    its components: the resolver running on the querying client's machine
  2325.    or the queried name server? To minimize the impact on client hosts
  2326.    and make it easier to deploy future changes, it is recommended that
  2327.    the synthesis of AAAA records from its constituent parts be done on
  2328.    name servers rather than in client resolvers.
  2329.  
  2330.  
  2331.  
  2332. 4.2.3.  Two-Faced DNS
  2333.  
  2334.    The GSE proposal attempts to hide the RG part of addresses from nodes
  2335.    within a Site. If the nodes do not know their own RG, then they can't
  2336.    store or use them in ways that cause problems should the Site be
  2337.    renumbered and its RG change (i.e., the cached RG become invalid). A
  2338.    Site's DNS servers, however, will need to have more information about
  2339.    the RG its Site uses. Moreover, the responses it returns will depend
  2340.    on who queries the server. A query from a node within the Site should
  2341.    return an address with an RG portion equal to "Site local," whereas a
  2342.    query for the same name from a client located at a different Site
  2343.    would return the appropriate RG portion.  This facilitates intra-site
  2344.    communication to be more resilient to failures outside of the site.
  2345.    Such context-dependent DNS servers are commonly referred as "two-
  2346.  
  2347.  
  2348.  
  2349. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 42]
  2350.  
  2351. INTERNET-DRAFT                                             July 30, 1997
  2352.  
  2353.  
  2354.    faced" DNS servers.
  2355.  
  2356.    Some issues that must be considered in this context:
  2357.  
  2358.      1) A DNS server may recursively attempt to resolve a query on
  2359.         behalf of a requesting client. Consequently, a DNS query might
  2360.         be received from a proxy rather than from the client that
  2361.         actually seeks the information. Because the proxy may not be
  2362.         located at the same Site as the originating client, a DNS server
  2363.         cannot reliably determine whether a DNS request is coming from
  2364.         the same Site or a remote Site. One solution would be to
  2365.         disallow recursive queries for off-Site requesters, though this
  2366.         raises additional questions.
  2367.  
  2368.      2) Since cached responses are, in general, context sensitive, a
  2369.         name server may be unable to correctly answer a query from its
  2370.         cache, since the information it has is incomplete. That is, it
  2371.         may have loaded the information via a query from a local client,
  2372.         and the information has a Site-local prefix. If a subsequent
  2373.         request comes in from an off-Site requester, the DNS server
  2374.         cannot return a correct response (i.e., one containing the
  2375.         correct RG).
  2376.  
  2377.  
  2378.  
  2379. 4.2.4.  Bootstrapping Issues
  2380.  
  2381.    If Routing Stuff information is distributed via the DNS, key DNS
  2382.    servers must always be reachable. In particular, the addresses
  2383.    (including Routing Stuff) of all root DNS servers are, for all
  2384.    practical purposes, well-known and assumed to never change. It is not
  2385.    uncommon for the addresses of root servers to be hard-coded into
  2386.    software distributions. Consequently, the Routing Stuff associated
  2387.    with such addresses must always be usable for reaching root servers.
  2388.    If it becomes necessary or desirable to change the Routing Stuff of
  2389.    an address at which a root DNS server resides, the routing subsystem
  2390.    will likely need to continue carrying "exceptions" for those
  2391.    addresses. Because the total number of root DNS servers is relatively
  2392.    small, the routing subsystem is expected to be able to handle this
  2393.    requirement.
  2394.  
  2395.    All other DNS server addresses can be changed, since their addresses
  2396.    are typically learned from an upper-level DNS server that has
  2397.    delegated a part of the name space to them. So long as the delegating
  2398.    server is configured with the new address, the addresses of other
  2399.    servers can change.
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 43]
  2406.  
  2407. INTERNET-DRAFT                                             July 30, 1997
  2408.  
  2409.  
  2410. 4.2.5.  Renumbering and Reverse DNS Lookups
  2411.  
  2412.    It is certain that many sites will, from time to time, undergo a
  2413.    renumbering event, either through the mechanisms proposed for GSE or
  2414.    using the facilities already specified for IPv6. It would be useful
  2415.    to an outside node corresponding with such a site to be able to
  2416.    distinguish a legitimate renumbering from an attempt to impersonate
  2417.    the site. We claim that the DNS IP6.INT zone, without security
  2418.    extensions [RFC2065], is of no use in making this determination and
  2419.    that even a completely secured IP6.INT zone is of little use compared
  2420.    with the "forward" DNS zone.
  2421.  
  2422.    The first half of the claim is almost self-evident. An impersonator
  2423.    can set up an insecure zone at some point in the IP6.INT hierarchy
  2424.    and load it with any desired data. This is the reason that current
  2425.    applications doing minimal access control follow a reverse lookup
  2426.    with a forward lookup.
  2427.  
  2428.    With a secured reverse zone, the problem of verifying an apparent
  2429.    renumbering of a site can still be quite complex in the general case,
  2430.    and will certainly be outside the scope of a transport protocol, if
  2431.    survival of long-running sessions is contemplated. Under provider-
  2432.    based addressing [RFC2073], renumbering is expected to occur due to a
  2433.    change in network topology (e.g., a change in a provider relationship
  2434.    at some point in the address aggregation tree). This alters the
  2435.    global prefixes in use below the point of the change, and
  2436.    correspondingly alters the chain of delegations of the DNS reverse-
  2437.    mapping tree. And, although operational experience with secure DNS is
  2438.    quite limited, it seems likely that there would also be a change in
  2439.    the chain of certifications of the signing key of the leaf zone
  2440.    representing the site. It is then problematic to translate
  2441.    established trust in the old reverse mapping zone into trust in the
  2442.    new zone. Certainly it's simpler to rely on the forward zone only.
  2443.    The only function of the reverse zone, then, is to suggest an entry
  2444.    point to the forward zone's database. It is this function which we
  2445.    propose to achieve by means of a new ICMP message exchange.
  2446.  
  2447.  
  2448. 4.3.  Address Rewriting Routers
  2449.  
  2450.    One of the most novel pieces of GSE is the rewriting of addresses as
  2451.    datagrams enter and leave sites. If only a small number of routers
  2452.    know the RG portion of the addresses, then the operational impact of
  2453.    renumbering a Site would be small. In fact, assuming that the
  2454.    critical security issues are dealt with, one could imagine a dynamic
  2455.    protocol that a Site uses with its upstream provider to be told what
  2456.    RG to use, so it might even be possible to renumber a Site
  2457.    transparently.
  2458.  
  2459.  
  2460.  
  2461. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 44]
  2462.  
  2463. INTERNET-DRAFT                                             July 30, 1997
  2464.  
  2465.  
  2466.    GSE's ability to insure that the RG portion of a Site's addresses
  2467.    reflect the actual location of that Site within the Public Internet
  2468.    means that very aggressive aggregation (i.e., better route scaling)
  2469.    can be achieved. Both GSE and other route-scaling approaches that use
  2470.    provider-based addressing depend on aggressive aggregation, but while
  2471.    other schemes rely largely on operational policies, GSE attempts to
  2472.    include mechanisms in its core to insure that aggressive aggregation
  2473.    happens in practice.
  2474.  
  2475.    GSE has an advantage over other provider-based addressing schemes
  2476.    like IPv4's CIDR with respect to the "fair distribution of work."
  2477.    CIDR addresses the scaling of routing in DFZ portions of the
  2478.    Internet, but the cost of carrying out the renumbering to maintain
  2479.    the aggregation falls on the shoulders of subscribers who are far
  2480.    away from the DFZ; in other words, subscribers must do the work of
  2481.    renumbering so that their provider (or possibly even their provider's
  2482.    provider) sees better aggregation. With GSE, the majority of the cost
  2483.    required to make the routing scale would be incurred by the parties
  2484.    who reap the benefits.
  2485.  
  2486.  
  2487. 4.3.1.  Load Balancing
  2488.  
  2489.    While not considered a major advantage, with GSE, multi-homed sites
  2490.    can more easily achieve symmetry with respect to which of their links
  2491.    is used for a given flow. With GSE, if HostA in multi-homed Site1
  2492.    initiates a flow to HostB in Site2, then when the initial packet
  2493.    leaves Site1 the source address will be rewritten with an RG that
  2494.    identifies the egress link used.  As a result, when HostB needs to
  2495.    send return traffic, it will use the full 16-byte address from the
  2496.    arriving packet and this necessarily means that traffic for this flow
  2497.    coming into Site1 will use the same circuit that outgoing traffic for
  2498.    that flow took. In contrast, if the source address (i.e., Routing
  2499.    Stuff) is fixed by the sending host, the same return path is used for
  2500.    return traffic coming back to a site, regardless of which egress
  2501.    router packets traverse when leaving that site.
  2502.  
  2503.  
  2504. 4.3.2.  End-To-End Argument: Don't Hide RG from Hosts
  2505.  
  2506.    Despite these significant advantages, however, the overwhelming
  2507.    consensus was that address rewriting by routers should not be pursued
  2508.    as part of the current standardization effort. Although hiding RG
  2509.    knowledge from hosts has advantages in some scenarios, that lack of
  2510.    knowledge also makes it difficult to solve important problems.
  2511.  
  2512.    For example, a host in a multi-homed site is known by multiple
  2513.    addresses, but without knowing its address the host can play no role
  2514.  
  2515.  
  2516.  
  2517. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 45]
  2518.  
  2519. INTERNET-DRAFT                                             July 30, 1997
  2520.  
  2521.  
  2522.    in the source address selection; instead, the host relies on the
  2523.    routing infrastructure to magically select the right one, i.e., by
  2524.    selecting the egress router closest to the sender. For many sites,
  2525.    this is the desired behavior. For others, this is not the desired
  2526.    behavior. In those cases, the historically difficult-to-solve problem
  2527.    of source address selection is made more difficult by moving it from
  2528.    an intra-host decision to a distributed one. Now a site's internal
  2529.    routers would have to have sufficient knowledge to decide which
  2530.    egress router to forward traffic to, perhaps on a source-by-source
  2531.    (or worse) basis.
  2532.  
  2533.    Another end-to-end problem resulting from address rewriting has to do
  2534.    with how transport connections should deal with the RG portion of the
  2535.    address in incoming packets, particularly when authenticating the RG
  2536.    changes.  The sections on transport issues deal with the subject in
  2537.    much more detail.
  2538.  
  2539.    Interesting questions arise about address rewriting when dealing with
  2540.    tunnels.  Any node that acts as a tunnel for which the other end
  2541.    resides in a different Site must be able to behave as a Site border
  2542.    router and do address rewriting. This means that the RG may need to
  2543.    be configured in more than just a Site's egress router, thus making
  2544.    renumbering more problematic.
  2545.  
  2546.    Another problem related to both performance and "architectural
  2547.    cleanliness" has to do with IPv6's Routing Headers. It may be
  2548.    necessary for addresses other than just the simple source and
  2549.    destination to be rewritten. And again, this rewriting would need to
  2550.    be done by both egress routers and nodes which terminate tunnels that
  2551.    go to other sites.
  2552.  
  2553.  
  2554. 4.4.  Multi-Homing
  2555.  
  2556.    Multi-Homing can mean many things. In the context of GSE, multi-
  2557.    homing refers to a Site having more than one connection to the
  2558.    Internet and therefore being known by multiple RGs. In many ways this
  2559.    is close to multi-homing with IPv6 provider-based addressing. It is
  2560.    hard to make comparisons to IPv4 because multi-homing has
  2561.    traditionally been done in an ad hoc fashion.
  2562.  
  2563.    With GSE, the ability of a Site to control the load-sharing over its
  2564.    multiple links is not clear, partially because there is little
  2565.    operational experience with multi-homed sites known by multiple
  2566.    prefixes (with IPv4 the site is generally only known by a single
  2567.    prefix). The following analysis is relevant to any scheme where an
  2568.    Internet-connected site is known by multiple prefixes. For flows that
  2569.    the multi-homed site initiates, load-sharing is impacted by the
  2570.  
  2571.  
  2572.  
  2573. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 46]
  2574.  
  2575. INTERNET-DRAFT                                             July 30, 1997
  2576.  
  2577.  
  2578.    source address used because that is the address that the remote site
  2579.    will use for return traffic. If we assume the model of routers
  2580.    rewriting source addresses, then the outgoing link selected
  2581.    determines the load-sharing because that also determines what RG is
  2582.    contained in the source address. If the routers do not rewrite source
  2583.    addresses, then the end-host itself will have to make the source
  2584.    address selection, and the optimal choice may require knowledge of
  2585.    the topology. For flows initiated by someone outside of the multi-
  2586.    homed site, the load-sharing is dependent on the destination address
  2587.    specified, so the DNS has a large impact on load-sharing. There is
  2588.    some amount of operational experience in using DNS to control load on
  2589.    servers (e.g., having a Web server resolve to multiple addresses),
  2590.    though that is load-sharing of a different resource and at a
  2591.    different scope and scale. It is also worth noting that the selection
  2592.    of the optimal outgoing link may well depend on the destination,
  2593.    which has particularly interesting results on the DNS understanding
  2594.    topology (and brings up the question of whether the DNS servers or
  2595.    the resolvers are responsible for knowing the topology).
  2596.  
  2597.    One advantage that GSE has for multi-homed sites is symmetry. Because
  2598.    the source address is selected based on the outgoing link, and that
  2599.    source address is what determines the return path, flows initiated by
  2600.    the Site will be symmetric with respect to which of the Site's links
  2601.    is used.
  2602.  
  2603.    The multi-homing mechanism described in Section 3.7 has some
  2604.    weaknesses and complexities. First, the mechanism only supports
  2605.    healing a failed link and not a router; in other words, referencing
  2606.    Figure 7, from Section 3.7, if PBR1 were not up at all, then it could
  2607.    not tunnel the packets anywhere. One could imagine ways of
  2608.    distributing PBR1's knowledge of PBR2 to other routers within
  2609.    Provider1 to add more reliability, though this makes the problem
  2610.    distributed rather than point-to-point and therefore more difficult.
  2611.    Second, in the general case, static identification of PBR2 to PBR1,
  2612.    and vice-versa, is not adequate. Imagine, for example, that the link
  2613.    to PBR1 is much faster than the link to PBR2. In this case, it's
  2614.    possible that packets whose destination addresses contain RG1 might
  2615.    normally transit PBR2 without going directly to the Site. So there
  2616.    seems to be a need for a dynamic protocol between PBR1 and PBR2 to
  2617.    notify when PBR2, for example, should forward RG1-prefaced
  2618.    destinations directly to the Site as opposed to forwarding it towards
  2619.    PBR1.
  2620.  
  2621.    Another note about multi-homing is the potential impact of internal
  2622.    topology changes in the face of address rewriting. Using the
  2623.    previously referenced diagram, if a flow from a host within the Site
  2624.    is leaving via SBR1, but then something happens such that SBR2
  2625.    becomes the host's closest exit point, then the remote end-point of
  2626.  
  2627.  
  2628.  
  2629. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 47]
  2630.  
  2631. INTERNET-DRAFT                                             July 30, 1997
  2632.  
  2633.  
  2634.    the flow will begin seeing different RG. Reasons such as this are why
  2635.    the repercussions on the transport layer are so important (e.g.,
  2636.    whether or not transport peers pay attention to the RG).
  2637.  
  2638.  
  2639. 5.  Results
  2640.  
  2641.    This section summarizes the results of the GSE deliberations on the
  2642.    IPv6 process.
  2643.  
  2644.      1) Make changes to the IPv6 provider-based addressing document to
  2645.         facilitate aggressive aggregation that is also operationally
  2646.         realistic.
  2647.  
  2648.      2) Create hard boundaries in IPv6 addresses to clearly distinguish
  2649.         between the portions used to identify hosts, for routing within
  2650.         a site, and for routing within the Public Internet.
  2651.  
  2652.      3) Allow an option for the low-order 8 bytes of IPv6 addresses to
  2653.         be designated as a globally unique End System Designator (ESD).
  2654.         This change has potential benefits to future transport protocols
  2655.         (e.g., TCPng).
  2656.  
  2657.      4) Make a clear distinction between the "locator" part of an
  2658.         address and the "identifier" part of the address. The former is
  2659.         used to route a packet to its end-point, the latter is used to
  2660.         identify an end-point, independent of the path used to deliver
  2661.         the packet. Although this is a potentially revolutionary change
  2662.         to IPv6 addressing model, existing transport protocols such as
  2663.         TCP and UDP will not take advantage of the split. Future
  2664.         transport protocols (e.g., TCPng), however, may.
  2665.  
  2666.      5) Make changes to the way AAAA records are stored within the DNS,
  2667.         so that renumbering a site (e.g., when a site changes ISPs)
  2668.         requires few changes to the DNS database in order to effectively
  2669.         change all of a site's address AAAA RRs.
  2670.  
  2671.      6) Don't hide a node's full address from that node. In a scheme
  2672.         where all nodes know their full address, address rewriting
  2673.         should not be necessary.
  2674.  
  2675.      7) Consider multi-homing and its effect on aggregation and route
  2676.         scaling from the beginning. Have a goal of architecting a way to
  2677.         do multi-homing that is both scalable and operationally
  2678.         practical, and consider related issues such as load-sharing.
  2679.  
  2680.      8) Consider the issue of subnetting. For example, how are point-
  2681.         to-point links numbered? With IPv4, current practice is to
  2682.  
  2683.  
  2684.  
  2685. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 48]
  2686.  
  2687. INTERNET-DRAFT                                             July 30, 1997
  2688.  
  2689.  
  2690.         number point-to-point links out of "/30" subnets. However, do
  2691.         network masks longer than 64 bits make sense with the concept of
  2692.         the low-order 8 bytes being a globally unique ESD? If not, then
  2693.         is it acceptable to either leave point-to-point links un-
  2694.         numbered or to use an entire subnet for each point-to-point
  2695.         link? Will there need to be an exception for IPv6 host routes
  2696.         (i.e., /128s) as a work-around for the bootstrapping issue of
  2697.         addressing root DNS servers? If /128s are allowed, but not masks
  2698.         between /65 and /127, inclusive, then a possible way to number
  2699.         point-to-point links within a backbone is to dedicate a single
  2700.         subnet to them and route them as /128s.
  2701.  
  2702.      9) Search for ways to minimize the impact that renumbering has on
  2703.         intra-site communication. Renumbering operations that change
  2704.         only the RG portion of addresses should not impact existing
  2705.         intra-site communication. One possible approach is to encourage
  2706.         the use of site-local addresses for all intra-site
  2707.         communication.
  2708.  
  2709.  
  2710.  
  2711. 6.  Security Considerations
  2712.  
  2713.    The primary security consideration with GSE or, more generally, a
  2714.    network layer with addresses split into locator and identifier parts,
  2715.    is that of one node impersonating another by copying the
  2716.    identification without the location.
  2717.  
  2718.  
  2719. 7.  Acknowledgments
  2720.  
  2721.    Thanks go to Steve Deering and Bob Hinden (the Chairs of the IPng
  2722.    Working Group) as well as Sun Microsystems (the host for the PAL1
  2723.    meeting) for the planning and execution of the interim meeting.
  2724.    Thanks also goes to Mike O'Dell for writing the 8+8 and GSE drafts.
  2725.    By publishing these documents and speaking on their behalf, Mike was
  2726.    the catalyst for some very valuable discussions that are expected to
  2727.    result in improved IPv6 addressing. Special thanks to the attendees
  2728.    of the meeting who carried on the high caliber discussions which were
  2729.    the source for this document.
  2730.  
  2731.  
  2732. 8.  References
  2733.  
  2734.      [BATES] Scalable support for multi-homed multi-provider
  2735.              connectivity, Internet Draft, Tony Bates & Yakov Rekhter,
  2736.              draft-bates-multihoming-01.txt.
  2737.  
  2738.  
  2739.  
  2740.  
  2741. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 49]
  2742.  
  2743. INTERNET-DRAFT                                             July 30, 1997
  2744.  
  2745.  
  2746.      [Bellovin 89] "Security Problems in the TCP/IP Protocol Suite",
  2747.              Bellovin, Steve, Computer Communications Review, Vol. 19,
  2748.              No. 2, pp32-48, April 1989.
  2749.  
  2750.      [CERT] CERT(sm) Advisory CA-96.21
  2751.              (ftp://info.cert.org/pub/cert_advisories)
  2752.  
  2753.      [DANVERS] Minutes of the IPNG working Group, April 1995.
  2754.              ftp://ftp.ietf.cnri.reston.va.us/ietf-online-proceedings/
  2755.              95apr/area.and.wg.reports/ipng/ipngwg/ ipngwg-minutes-
  2756.              95apr.txt.
  2757.  
  2758.      [DHCP-DDNS] Interaction between DHCP and DNS, Internet Draft, Yakov
  2759.              Rekhtor, draft-ietf-dhc-dhcp-dns-04.txt.
  2760.  
  2761.      [DDNS] "Dynamic Updates in the Domain Name System (DNS UPDATE)",
  2762.              Paul Vixie (Editor), draft-ietf-dnsind-dynDNS-11.txt,
  2763.              November, 1996.
  2764.  
  2765.      [EUI64] 64-Bit Global Identifier Format Tutorial.
  2766.              http://standards.ieee.org/db/oui/tutorials/EUI64.html.
  2767.              Note: "EUI-64" is claimed as a trademark by an organization
  2768.              which also forbids reference to itself in association with
  2769.              that term in a standards document which is not their own,
  2770.              unless they have approved that reference. However, since
  2771.              this document is not standards-track, it seems safe to name
  2772.              that organization: the IEEE.
  2773.  
  2774.      [GSE] "GSE - An Alternate Addressing Architecture for IPv6", Mike
  2775.              O'Dell, draft-ietf-ipngwg-gseaddr-00.txt.
  2776.  
  2777.      [IEEE802] IEEE Std 802-1990, Local and Metropolitan Area Networks:
  2778.              IEEE Standard Overview and Architecture.
  2779.  
  2780.      [IEEE1212] IEEE Std 1212-1994, Information technology--
  2781.              Microprocessor systems: Control and Status Registers (CSR)
  2782.              Architecture for microcomputer buses.
  2783.  
  2784.      [RFC1122] "Requirements for Internet hosts - communication layers",
  2785.              R. Braden, 10/01/1989.
  2786.  
  2787.      [RFC1715] The H Ratio for Address Assignment Efficiency.  C.
  2788.              Huitema.
  2789.  
  2790.      [RFC1726] Technical Criteria for Choosing IP:The Next Generation
  2791.              (IPng). F. Kastenholz, C. Partridge.
  2792.  
  2793.      [RFC1752] "The Recommendation for the IP Next Generation Protocol,"
  2794.  
  2795.  
  2796.  
  2797. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 50]
  2798.  
  2799. INTERNET-DRAFT                                             July 30, 1997
  2800.  
  2801.  
  2802.              S. Bradner, A. Mankin, 01/18/1995.
  2803.  
  2804.      [RFC1788] "ICMP Domain Name Messages", W. Simpson, 04/14/1995
  2805.  
  2806.      [RFC1958] Architectural Principles of the Internet.  B. Carpenter.
  2807.  
  2808.      [RFC1971] IPv6 Stateless Address Autoconfiguration.  S. Thomson, T.
  2809.              Narten.
  2810.  
  2811.      [RFC2002] "IP Mobility Support", 10/22/1996, C. Perkins.
  2812.  
  2813.      [RFC2008] "Implications of Various Address Allocation Policies for
  2814.              Internet Routing", Y. Rekhter, T. Li.
  2815.  
  2816.      [RFC2065] Domain Name System Security Extensions. D. Eastlake, C.
  2817.              Kaufman.
  2818.  
  2819.      [RFC2073] An IPv6 Provider-Based Unicast Address Format.  Y.
  2820.              Rekhter, P. Lothberg, R. Hinden, S. Deering, J. Postel
  2821.  
  2822.  
  2823. 9.  Authors' Addresses
  2824.  
  2825.    Matt Crawford                           John Stewart
  2826.    Fermilab MS 368                         USC/ISI
  2827.    PO Box 500                              4350 North Fairfax Drive
  2828.    Batavia, IL 60510 USA                   Suite 620
  2829.    Phone: 708-840-3461                     Arlington, VA  22203 USA
  2830.    EMail: crawdad@fnal.gov                 Phone: 703-807-0132
  2831.                                            EMail: jstewart@isi.edu
  2832.  
  2833.    Allison Mankin                          Lixia Zhang
  2834.    USC/ISI                                 UCLA Computer Science Department
  2835.    4350 North Fairfax Drive                4531G Boelter Hall
  2836.    Suite 620                               Los Angeles, CA 90095-1596 USA
  2837.    Arlington, VA  22203 USA                Phone: 310-825-2695
  2838.    EMail: mankin@isi.edu                   EMail: lixia@cs.ucla.edu
  2839.    Phone: 703-807-0132
  2840.  
  2841.    Thomas Narten
  2842.    IBM Corporation
  2843.    3039 Cornwallis Ave.
  2844.    PO Box 12195 - F11/502
  2845.    Research Triangle Park, NC 27709-2195
  2846.    Phone: 919-254-7798
  2847.    EMail: narten@raleigh.ibm.com
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 51]
  2854.  
  2855. INTERNET-DRAFT                                             July 30, 1997
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.  
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909. draft-ietf-ipngwg-esd-analysis-01.txt                          [Page 52]
  2910.  
  2911.