home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 1300s / rfc1322.txt < prev    next >
Text File  |  1992-05-07  |  97KB  |  2,131 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          D. Estrin
  8. Request for Comments:  1322                                          USC
  9.                                                               Y. Rekhter
  10.                                                                      IBM
  11.                                                                  S. Hotz
  12.                                                                      USC
  13.                                                                 May 1992
  14.  
  15.  
  16.                A Unified Approach to Inter-Domain Routing
  17.  
  18. Status of this Memo
  19.  
  20.    This memo provides information for the Internet community.  It does
  21.    not specify an Internet standard.  Distribution of this memo is
  22.    unlimited.
  23.  
  24. Abstract
  25.  
  26.    This memo is an informational RFC which outlines one potential
  27.    approach for inter-domain routing in future global internets.  The
  28.    focus is on scalability to very large networks and functionality, as
  29.    well as scalability, to support routing in an environment of
  30.    heterogeneous services, requirements, and route selection criteria.
  31.  
  32.    Note: The work of D. Estrin and S. Hotz was supported by the National
  33.    Science Foundation under contract number NCR-9011279, with matching
  34.    funds from GTE Laboratories.  The work of Y. Rekhter was supported by
  35.    the Defense Advanced Research Projects Agency, under contract
  36.    DABT63-91-C-0019.  Views and conclusions expressed in this paper are
  37.    not necessarily those of the Defense Advanced Research Projects
  38.    Agency and National Science Foundation.
  39.  
  40. 1.0 Motivation
  41.  
  42.    The global internet can be modeled as a collection of hosts
  43.    interconnected via transmission and switching facilities.  Control
  44.    over the collection of hosts and the transmission and switching
  45.    facilities that compose the networking resources of the global
  46.    internet is not homogeneous, but is distributed among multiple
  47.    administrative authorities.  Resources under control of a single
  48.    administration form a domain.  In order to support each domain's
  49.    autonomy and heterogeneity, routing consists of two distinct
  50.    components: intra-domain (interior) routing, and inter-domain
  51.    (exterior) routing.  Intra-domain routing provides support for data
  52.    communication between hosts where data traverses transmission and
  53.    switching facilities within a single domain.  Inter-domain routing
  54.    provides support for data communication between hosts where data
  55.  
  56.  
  57.  
  58. Estrin, Rekhter & Hotz                                          [Page 1]
  59.  
  60. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  61.  
  62.  
  63.    traverses transmission and switching facilities spanning multiple
  64.    domains.  The entities that forward packets across domain boundaries
  65.    are called border routers (BRs).  The entities responsible for
  66.    exchanging inter-domain routing information are called route servers
  67.    (RSs).  RSs and BRs may be colocated.
  68.  
  69.    As the global internet grows, both in size and in the diversity of
  70.    routing requirements, providing inter-domain routing that can
  71.    accommodate both of these factors becomes more and more crucial.  The
  72.    number and diversity of routing requirements is increasing due to:
  73.    (a) transit restrictions imposed by source, destination, and transit
  74.    networks, (b) different types of services offered and required, and
  75.    (c) the presence of multiple carriers with different charging
  76.    schemes.  The combinatorial explosion of mixing and matching these
  77.    different criteria weighs heavily on the mechanisms provided by
  78.    conventional hop-by-hop routing architectures ([ISIS10589, OSPF,
  79.    Hedrick88, EGP]).
  80.  
  81.    Current work on inter-domain routing within the Internet community
  82.    has diverged in two directions: one is best represented by the Border
  83.    Gateway Protocol (BGP)/Inter-Domain Routeing Protocol (IDRP)
  84.    architectures ([BGP91, Honig90, IDRP91]), and another is best
  85.    represented by the Inter-Domain Policy Routing (IDPR) architecture
  86.    ([IDPR90, Clark90]).  In this paper we suggest that the two
  87.    architectures are quite complementary and should not be considered
  88.    mutually exclusive.
  89.  
  90.    We expect that over the next 5 to 10 years, the types of services
  91.    available will continue to evolve and that specialized facilities
  92.    will be employed to provide new services.  While the number and
  93.    variety of routes provided by hop-by-hop routing architectures with
  94.    type of service (TOS) support (i.e., multiple, tagged routes) may be
  95.    sufficient for a large percentage of traffic, it is important that
  96.    mechanisms be in place to support efficient routing of specialized
  97.    traffic types via special routes.  Examples of special routes are:
  98.    (1) a route that travels through one or more transit domains that
  99.    discriminate according to the source domain, (2) a route that travels
  100.    through transit domains that support a service that is not widely or
  101.    regularly used.  We refer to all other routes as generic.
  102.  
  103.    Our desire to support special routes efficiently led us to
  104.    investigate the dynamic installation of routes ([Breslau-Estrin91,
  105.    Clark90, IDPR90]).  In a previous paper ([Breslau-Estrin91]), we
  106.    evaluated the algorithmic design choices for inter-domain policy
  107.    routing with specific attention to accommodating source-specific and
  108.    other "special" routes.  The conclusion was that special routes are
  109.    best supported with source-routing and extended link-state
  110.    algorithms; we refer to this approach as source-demand routing
  111.  
  112.  
  113.  
  114. Estrin, Rekhter & Hotz                                          [Page 2]
  115.  
  116. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  117.  
  118.  
  119.    [Footnote:  The Inter-Domain Policy Routing (IDPR) architecture uses
  120.    these techniques.].  However, a source-demand routing architecture,
  121.    used as the only means of inter-domain routing, has scaling problems
  122.    because it does not lend itself to general hierarchical clustering
  123.    and aggregation of routing and forwarding information.  For example,
  124.    even if a particular route from an intermediate transit domain X, to
  125.    a destination domain Y is shared by 1,000 source-domains, IDPR
  126.    requires that state for each of the 1,000 routes be setup and
  127.    maintained in the transit border routers between X and Y.  In
  128.    contrast, an alternative approach to inter-domain routing, based on
  129.    hop-by-hop routing and a distributed route-computation algorithm
  130.    (described later), provides extensive support for aggregation and
  131.    abstraction of reachability, topology, and forwarding information.
  132.    The Border Gateway Protocol (BGP) and Inter-Domain Routeing Protocol
  133.    (IDRP) use these techniques ([BGP91, IDRP91]).  While the BGP/IDRP
  134.    architecture is capable of accommodating very large numbers of
  135.    datagram networks, it does not provide support for specialized
  136.    routing requirements as flexibly and efficiently as IDPR-style
  137.    routing.
  138.  
  139. 1.1 Overview of the Unified Architecture
  140.  
  141.    We want to support special routes and we want to exploit aggregation
  142.    when a special route is not needed.  Therefore, our scalable inter-
  143.    domain routing architecture consists of two major components:
  144.    source-demand routing (SDR), and node routing (NR).  The NR component
  145.    computes and installs routes that are shared by a significant number
  146.    of sources.  These generic routes are commonly used and warrant wide
  147.    propagation, consequently, aggregation of routing information is
  148.    critical.  The SDR component computes and installs specialized routes
  149.    that are not shared by enough sources to justify computation by NR
  150.    [Footnote: Routes that are only needed sporadically (i.e., the demand
  151.    for them is not continuous or otherwise predictable) are also
  152.    candidates for SDR.].  The potentially large number of different
  153.    specialized routes, combined with their sparse utilization, make them
  154.    too costly to support with the NR mechanism.
  155.  
  156.    A useful analogy to this approach is the manufacturing of consumer
  157.    products.  When predictable patterns of demand exist, firms produce
  158.    objects and sell them as "off the shelf" consumer goods.  In our
  159.    architecture NR provides off-the-shelf routes.  If demand is not
  160.    predictable, then firms accept special orders and produce what is
  161.    demanded at the time it is needed.  In addition, if a part is so
  162.    specialized that only a single or small number of consumers need it,
  163.    the  consumer may repeatedly special order the part, even if it is
  164.    needed in a predictable manner, because the consumer does not
  165.    represent a big enough market for the producer to bother managing the
  166.    item as part of its regular production.  SDR provides such special
  167.  
  168.  
  169.  
  170. Estrin, Rekhter & Hotz                                          [Page 3]
  171.  
  172. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  173.  
  174.  
  175.    order, on-demand routes.
  176.  
  177.    By combining NR and SDR routing we propose to support inter-domain
  178.    routing in internets of practically-unlimited size, while at the same
  179.    time providing efficient support for specialized routing
  180.    requirements.
  181.  
  182.    The development of this architecture does assume that routing
  183.    requirements will be diverse and that special routes will be needed.
  184.    On the other hand, the architecture does not depend on assumptions
  185.    about the particular types of routes demanded or on the distribution
  186.    of that demand.  Routing will adapt naturally over time to changing
  187.    traffic patterns and new services by shifting computation and
  188.    installation of particular types of routes between the two components
  189.    of the hybrid architecture [Footnote: Before continuing with our
  190.    explanation of this architecture, we wish to state up front that
  191.    supporting highly specialized routes for all source-destination pairs
  192.    in an internet, or even anything close to that number, is not
  193.    feasible in any routing architecture that we can foresee.  In other
  194.    words, we do not believe that any foreseeable routing architecture
  195.    can support unconstrained proliferation of user requirements and
  196.    network services.  At the same time, this is not necessarily a
  197.    problem.  The capabilities of the architecture may in fact exceed the
  198.    requirements of the users.  Moreover, some of the requirements that
  199.    we regard as infeasible from the inter-domain routing point of view,
  200.    may be supported by means completely outside of routing.
  201.    Nevertheless, the caveat is stated here to preempt unrealistic
  202.    expectations.].
  203.  
  204.    While the packet forwarding functions of the NR and SDR components
  205.    have little or no coupling with each other, the connectivity
  206.    information exchange mechanism of the SDR component relies on
  207.    services provided by the NR component.
  208.  
  209. 1.2 Outline
  210.  
  211.    The remainder of this report is organized as follows.  Section 2
  212.    outlines the requirements and priorities that guide the design of the
  213.    NR and SDR components.  Sections 3 and 4 describe the NR and SDR
  214.    design choices, respectively, in light of these requirements.
  215.    Section 5 describes protocol support for the unified architecture and
  216.    briefly discusses transition issues.  We conclude with a brief
  217.    summary.
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Estrin, Rekhter & Hotz                                          [Page 4]
  227.  
  228. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  229.  
  230.  
  231. 2.0 Architectural Requirements and Priorities
  232.  
  233.    In order to justify our design choices for a scalable inter-domain
  234.    routing architecture, we must articulate our evaluation criteria and
  235.    priorities.  This section defines complexity, abstraction, policy,
  236.    and type of service requirements.
  237.  
  238. 2.1 Complexity
  239.  
  240.    Inter-domain routing complexity must be evaluated on the basis of the
  241.    following performance metrics: (1) storage overhead, (2)
  242.    computational overhead, and (3) message overhead.  This evaluation is
  243.    essential to determining the scalability of any architecture.
  244.  
  245. 2.1.1 Storage Overhead
  246.  
  247.    The storage overhead of an entity that participates in inter-domain
  248.    routing comes from two sources: Routing Information Base (RIB), and
  249.    Forwarding Information Base (FIB) overhead.  The RIB contains the
  250.    routing information that entities exchange via the inter-domain
  251.    routing protocol; the RIB is the input to the route computation.  The
  252.    FIB contains the information that the entities use to forward the
  253.    inter-domain traffic; the FIB is the output of the route computation.
  254.    For an acceptable level of storage overhead, the amount of
  255.    information in both FIBs and RIBs should grow significantly slower
  256.    than linearly (e.g., close to logarithmically) with the total number
  257.    of domains in an internet.  To satisfy this requirement with respect
  258.    to the RIB, the architecture must provide mechanisms for either
  259.    aggregation and abstraction of routing and forwarding information, or
  260.    retrieval of a subset of this information on demand.  To satisfy this
  261.    requirement with respect to the FIB, the architecture must provide
  262.    mechanisms for either aggregation of the forwarding information (for
  263.    the NR computed routes), or dynamic installation/tear down of this
  264.    information (for the SDR computed routes).
  265.  
  266.    Besides being an intrinsically important evaluation metric, storage
  267.    overhead has a direct impact on computational and bandwidth
  268.    complexity.  Unless the computational complexity is fixed (and
  269.    independent of the total number of domains), the storage overhead has
  270.    direct impact on the computational complexity of the architecture
  271.    since the routing information is used as an input to route
  272.    computation. Moreover, unless the architecture employs incremental
  273.    updates, where only changes to the routing information are
  274.    propagated, the storage overhead has direct impact on the bandwidth
  275.    overhead of the architecture since the exchange of routing
  276.    information constitutes most of the bandwidth overhead.
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Estrin, Rekhter & Hotz                                          [Page 5]
  283.  
  284. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  285.  
  286.  
  287. 2.1.2 Computational Overhead
  288.  
  289.    The NR component will rely primarily on precomputation of routes.  If
  290.    inter-domain routing is ubiquitous, then the precomputed routes
  291.    include all reachable destinations.  Even if policy constraints make
  292.    fully ubiquitous routing impossible, the precomputed routes are
  293.    likely to cover a very large percentage of all reachable
  294.    destinations.  Therefore the complexity of this computation must be
  295.    as small as possible.  Specifically, it is highly desirable that the
  296.    architecture would employ some form of partial computation, where
  297.    changes in topology would require less than complete recomputation.
  298.    Even if complete recomputation is necessary, its complexity should be
  299.    less than linear with the total number of domains.
  300.  
  301.    The SDR component will use on-demand computation and caching.
  302.    Therefore the complexity of this computation can be somewhat higher.
  303.    Another reason for relaxed complexity requirements for SDR is that
  304.    SDR is expected to compute routes to a smaller number of destinations
  305.    than is NR (although SDR route computation may be invoked more
  306.    frequently).
  307.  
  308.    Under no circumstances is computational complexity allowed to become
  309.    exponential (for either the NR or SDR component).
  310.  
  311. 2.1.3 Bandwidth Overhead
  312.  
  313.    The bandwidth consumed by routing information distribution should be
  314.    limited.  However, the possible use of data compression techniques
  315.    and the increasing speed of network links make this less important
  316.    than route computation and storage overhead.  Bandwidth overhead may
  317.    be further contained by using incremental (rather than complete)
  318.    exchange of routing information.
  319.  
  320.    While storage and bandwidth overhead may be interrelated, if
  321.    incremental updates are used then bandwidth overhead is negligible in
  322.    the steady state (no changes in topology), and is independent of the
  323.    storage overhead.  In other words, use of incremental updates
  324.    constrains the bandwidth overhead to the dynamics of the internet.
  325.    Therefore, improvements in stability of the physical links, combined
  326.    with techniques to dampen the effect of topological instabilities,
  327.    will make the bandwidth overhead even less important.
  328.  
  329. 2.2 Aggregation
  330.  
  331.    Aggregation and abstraction of routing and forwarding information
  332.    provides a very powerful mechanism for satisfying storage,
  333.    computational, and bandwidth constraints.  The ability to aggregate,
  334.    and subsequently abstract, routing and forwarding information is
  335.  
  336.  
  337.  
  338. Estrin, Rekhter & Hotz                                          [Page 6]
  339.  
  340. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  341.  
  342.  
  343.    essential to the scaling of the architecture [Footnote: While we can
  344.    not prove that there are no other ways to achieve scaling, we are not
  345.    aware of any mechanism other than clustering that allows information
  346.    aggregation/abstraction.  Therefore, the rest of the paper assumes
  347.    that clustering is used for information aggregation/abstraction.].
  348.    This is especially true with respect to the NR component, since the
  349.    NR component must be capable of providing routes to all or almost all
  350.    reachable destinations.
  351.  
  352.    At the same time, since preserving each domain's independence and
  353.    autonomy is one of the crucial requirements of inter-domain routing,
  354.    the architecture must strive for the maximum flexibility of its
  355.    aggregation scheme, i.e., impose as few preconditions, and as little
  356.    global coordination, as possible on the participating domains.
  357.  
  358.    The Routing Information Base (RIB) carries three types of
  359.    information: (1) topology (i.e., the interconnections between domains
  360.    or groups of domains), (2) network layer reachability, and (3)
  361.    transit constraint.  Aggregation of routing information should
  362.    provide a reduction of all three components.  Aggregation of
  363.    forwarding information will follow from reachability information
  364.    aggregation.
  365.  
  366.    Clustering (by forming routing domain confederations) serves the
  367.    following aggregation functions: (1) to hide parts of the actual
  368.    physical topology, thus abstracting topological information, (2) to
  369.    combine a set of reachable destination entities into a single entity
  370.    and reduce storage overhead, and (3) to express transit constraints
  371.    in terms of clusters, rather than individual domains.
  372.  
  373.    As argued in [Breslau-Estrin91], the architecture must allow
  374.    confederations to be formed and changed without extensive
  375.    configuration and coordination; in particular, forming a
  376.    confederation should not require global coordination (such as that
  377.    required in ECMA ([ECMA89]).  In addition, aggregation should not
  378.    require explicit designation of the relative placement of each domain
  379.    relative to another; i.e., domains or confederations of domains
  380.    should not be required to agree on a partial ordering (i.e., who is
  381.    above whom, etc.).
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Estrin, Rekhter & Hotz                                          [Page 7]
  395.  
  396. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  397.  
  398.  
  399.    The architecture should allow different domains to use different
  400.    methods of aggregation and abstraction.  For example, a research
  401.    collaborator at IBM might route to USC as a domain-level entity in
  402.    order to take advantage of some special TOS connectivity to, or even
  403.    through, USC.  Whereas, someone else at Digital Equipment Corporation
  404.    might see information at the level of the California Educational
  405.    Institutions Confederation, and know only that USC is a member.
  406.    Alternatively, USC might see part of the internal structure within
  407.    the IBM Confederation (at the domain's level), whereas UCLA may route
  408.    based on the confederation of IBM domains as a whole.
  409.  
  410.    Support for confederations should be flexible.  Specifically, the
  411.    architecture should allow confederations to overlap without being
  412.    nested, i.e., a single domain, or a group of domains may be part of
  413.    more than one confederation.  For example, USC may be part of the
  414.    California Educational Institutions Confederation and part of the US
  415.    R&D Institutions Confederation; one is not a subset of the other.
  416.    Another example: T.J.  Watson Research Center might be part of
  417.    NYSERNET Confederation and part of IBM-R&D-US Confederation.  While
  418.    the above examples describe cases where overlap consists of a single
  419.    domain, there may be other cases where multiple domains overlap.  As
  420.    an example consider the set of domains that form the IBM
  421.    Confederation, and another set of domains that form the DEC
  422.    Confederation.  Within IBM there is a domain IBM-Research, and
  423.    similarly within DEC there is a domain DEC-Research.  Both of these
  424.    domains could be involved in some collaborative effort, and thus have
  425.    established direct links.  The architecture should allow restricted
  426.    use of these direct links, so that other domains within the IBM
  427.    Confederation would not be able to use it to talk to other domains
  428.    within the DEC Confederation.  A similar example exists when a
  429.    multinational corporation forms a confederation, and the individual
  430.    branches within each country also belong to their respective country
  431.    confederations.  The corporation may need to protect itself from
  432.    being used as an inter-country transit domain (due to internal, or
  433.    international, policy).  All of the above examples illustrate a
  434.    situation where confederations overlap, and it is necessary to
  435.    control the traffic traversing the overlapping resources.
  436.  
  437.    While flexible aggregation should be accommodated in any inter-domain
  438.    architecture, the extent to which this feature is exploited will have
  439.    direct a effect on the scalability associated with aggregation.  At
  440.    the same time, the exploitation of this feature depends on the way
  441.    addresses are assigned.  Specifically, scaling associated with
  442.    forwarding information depends heavily on the assumption that there
  443.    will be general correspondence between the hierarchy of address
  444.    registration authorities, and the way routing domains and routing
  445.    domain confederations are organized (see Section 2.6).
  446.  
  447.  
  448.  
  449.  
  450. Estrin, Rekhter & Hotz                                          [Page 8]
  451.  
  452. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  453.  
  454.  
  455. 2.3 Routing Policies
  456.  
  457.    Routing policies that the architecture must support may be broadly
  458.    classified into transit policies and route selection policies
  459.    [Breslau-Estrin 91, Estrin89].
  460.  
  461.    Restrictions imposed via transit policies may be based on a variety
  462.    of factors.  The architecture should be able to support restrictions
  463.    based on the source, destination, type of services (TOS), user class
  464.    identification (UCI), charging, and path [Estrin89 , Little89].  The
  465.    architecture must allow expression of transit policies on all routes,
  466.    both NR and SDR.  Even if NR routes are widely used and have fewer
  467.    source or destination restrictions, NR routes may have some transit
  468.    qualifiers (e.g., TOS, charging, or user-class restriction).  If the
  469.    most widely-usable route to a destination has policy qualifiers, it
  470.    should be advertiseable by NR and the transit constraints should be
  471.    explicit.
  472.  
  473.    Route selection policies enable each domain to select a particular
  474.    route among multiple routes to the same destination.  To maintain
  475.    maximum autonomy and independence between domains, the architecture
  476.    must support heterogeneous route selection policies, where each
  477.    domain can establish its own criteria for selecting routes.  This
  478.    argument was made earlier with respect to source route selection
  479.    ([IDPR90, Clark90, Breslau-Estrin91]).  In addition, each
  480.    intermediate transit domain must have the flexibility to apply its
  481.    own selection criteria to the routes made available to it by its
  482.    neighbors.  This is really just a corollary to the above; i.e., if we
  483.    allow route selection policy to be expressed for NR routes, we can
  484.    not assume all domains will apply the same policy.  The support for
  485.    dissimilar route selection policies is one of the key factors that
  486.    distinguish inter-domain routing from intra-domain routing ([ECMA89,
  487.    Estrin89]).  However, it is a non-goal of the architecture to support
  488.    all possible route selection policies.  For more on unsupported route
  489.    selection policies see Section 2.3.2 below.
  490.  
  491. 2.3.1 Routing Information Hiding
  492.  
  493.    The architecture should not require all domains within an internet to
  494.    reveal their connectivity and transit constraints to each other.
  495.    Domains should be able to enforce their transit policies while
  496.    limiting the advertisement of their policy and connectivity
  497.    information as much as possible; such advertisement will be driven by
  498.    a "need to know" criteria.  Moreover, advertising a transit policy to
  499.    domains that can not use this policy will increase the amount of
  500.    routing information that must be stored, processed, and propagated.
  501.    Not only may it be impractical for a router to maintain full inter-
  502.    domain topology and policy information, it may not be permitted to
  503.  
  504.  
  505.  
  506. Estrin, Rekhter & Hotz                                          [Page 9]
  507.  
  508. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  509.  
  510.  
  511.    obtain this information.
  512.  
  513. 2.3.2 Policies Not Supported
  514.  
  515.    In this and previous papers we have argued that a global inter-domain
  516.    routing architecture should support a wide range of policies.  In
  517.    this section we identify several types of policy that we explicitly
  518.    do not propose to support.  In general our reasoning is pragmatic; we
  519.    think such policy types are either very expensive in terms of
  520.    overhead, or may lead to routing instabilities.
  521.  
  522.    1. Route selection policies contingent on external behavior.
  523.       The route selection process may be modeled by a function that
  524.       assigns a non-negative integer to a route, denoting the degree
  525.       of preference.  Route selection applies this function to all
  526.       feasible routes to a given destination, and selects the route
  527.       with the highest value.  To provide a stable environment, the
  528.       preference function should not use as an input the status and
  529.       attributes of other routes (either to the same or to a
  530.       different destination).
  531.  
  532.    2. Transit policies contingent on external behavior.
  533.       To provide a stable environment, the domain's transit policies
  534.       can not be automatically affected by any information external
  535.       to the domain.  Specifically, these policies can not be modified,
  536.       automatically, in response to information about other domains'
  537.       transit policies, or routes selected by local or other domains.
  538.       Similarly, transit policies can not be automatically modified
  539.       in response to information about performance characteristics of
  540.       either local or external domains.
  541.  
  542.    3. Policies contingent on external state (e.g., load).
  543.       It is a non-goal of the architecture to support load-sensitive
  544.       routing for generic routes.  However, it is possible that some
  545.       types of service may employ load information to select among
  546.       alternate SDR routes.
  547.  
  548.    4. Very large number of simultaneous SDR routes.
  549.       It is a non-goal of the architecture to support a very large
  550.       number of simultaneous SDR routes through any single router.
  551.       Specifically, the FIB storage overhead associated with SDR
  552.       routes must be comparable with that of NR routes, and should
  553.       always be bound by the complexity requirements outlined earlier
  554.       [Foonote: As discussed earlier, theoretically the state overhead
  555.       could grow O(N^2) with the number of domains in an internet.
  556.       However, there is no evidence or intuition to suggest that
  557.       this will be a limiting factor on the wide utilization of SDR,
  558.       provided that NR is available to handle generic routes.].
  559.  
  560.  
  561.  
  562. Estrin, Rekhter & Hotz                                         [Page 10]
  563.  
  564. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  565.  
  566.  
  567. 2.4 Support for TOS Routing
  568.  
  569.    Throughout this document we refer to support for type of service
  570.    (TOS) routing.  There is a great deal of research and development
  571.    activity currently underway to explore network architectures and
  572.    protocols for high-bandwidth, multimedia traffic.  Some of this
  573.    traffic is delay sensitive, while some requires high throughput.  It
  574.    is unrealistic to assume that a single communication fabric will be
  575.    deployed homogeneously across the internet (including all
  576.    metropolitan, regional, and backbone networks) that will support all
  577.    types of traffic uniformly.  To support diverse traffic requirements
  578.    in a heterogeneous environment, various resource management
  579.    mechanisms will be used in different parts of the global internet
  580.    (e.g., resource reservation of various kinds) [ST2-90, Zhang91].
  581.  
  582.    In this context, it is the job of routing protocols to locate routes
  583.    that can potentially support the particular TOS requested.  It is
  584.    explicitly not the job of the general routing protocols to locate
  585.    routes that are guaranteed to have resources available at the
  586.    particular time of the route request.  In other words, it is not
  587.    practical to assume that instantaneous resource availability will be
  588.    known at all remote points in the global internet.  Rather, once a
  589.    TOS route has been identified, an application requiring particular
  590.    service guarantees will attempt to use the route (e.g., using an
  591.    explicit setup message if so required by the underlying networks).
  592.    In Section 4 we describe additional services that may be provided to
  593.    support more adaptive route selection for special TOS [Footnote:
  594.    Adaptive route selection implies adaptability only during the route
  595.    selection process.  Once a route is selected, it is not going to be a
  596.    subject to any adaptations, except when it becomes infeasible.].
  597.  
  598. 2.5 Commonality between Routing Components
  599.  
  600.    While it is acceptable for the NR and SDR components to be
  601.    dissimilar, we do recognize that such a solution is less desirable --
  602.    all other things being equal.  In theory, there are advantages in
  603.    having the NR and SDR components use similar algorithms and
  604.    mechanisms.  Code and databases could be shared and the architecture
  605.    would be more manageable and comprehensible.  On the other hand,
  606.    there may be some benefit (e.g., robustness) if the two parts of the
  607.    architecture are heterogeneous, and not completely inter-dependent.
  608.    In Section 5 we list several areas in which opportunities for
  609.    increased commonality (unification) will be exploited.
  610.  
  611. 2.6 Interaction with Addressing
  612.  
  613.    The proposed architecture should be applicable to various addressing
  614.    schemes.  There are no specific assumptions about a particular
  615.  
  616.  
  617.  
  618. Estrin, Rekhter & Hotz                                         [Page 11]
  619.  
  620. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  621.  
  622.  
  623.    address structure, except that this structure should facilitate
  624.    information aggregation, without forcing rigid hierarchical routing.
  625.  
  626.    Beyond this requirement, most of the proposals for extending the IP
  627.    address space, for example, can be used in conjunction with our
  628.    architecture.  But our architecture itself does not provide (or
  629.    impose) a particular solution to the addressing problem.
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Estrin, Rekhter & Hotz                                         [Page 12]
  675.  
  676. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  677.  
  678.  
  679. 3.0 Design Choices for Node Routing (NR)
  680.  
  681.    This section addresses the design choices made for the NR component
  682.    in light of the above architectural requirements and priorities.  All
  683.    of our discussion of NR assumes hop-by-hop routing.  Source routing
  684.    is subject to different constraints and is used for the complementary
  685.    SDR component.
  686.  
  687. 3.1 Overview of NR
  688.  
  689.    The NR component is designed and optimized for an environment where a
  690.    large percentage of packets will travel over routes that can be
  691.    shared by multiple sources and that have predictable traffic
  692.    patterns.  The efficiency of the NR component improves when a number
  693.    of source domains share a particular route from some intermediate
  694.    point to a destination.  Moreover, NR is best suited to provide
  695.    routing for inter-domain data traffic that is either steady enough to
  696.    justify the existence of a route, or predictable, so that a route may
  697.    be installed when needed (based on the prediction, rather than on the
  698.    actual traffic).  Such routes lend themselves to distributed route
  699.    computation and installation procedures.
  700.  
  701.    Routes that are installed in routers, and information that was used
  702.    by the routers to compute these routes, reflect the known operational
  703.    state of the routing facilities (as well as the policy constraints)
  704.    at the time of route computation.  Route computation is driven by
  705.    changes in either operational status of routing facilities or policy
  706.    constraints.  The NR component supports route computation that is
  707.    dynamically adaptable to both changes in topology and policy.  The NR
  708.    component allows time-dependent selection or deletion of routes.
  709.    However, time dependency must be predictable (e.g., advertising a
  710.    certain route only after business hours) and routes should be used
  711.    widely enough to warrant inclusion in NR.
  712.  
  713.    The proposed architecture assumes that most of the inter-domain
  714.    conversations will be forwarded via routes computed and installed by
  715.    the NR component.
  716.  
  717.    Moreover, the exchange of routing information necessary for the SDR
  718.    component depends on facilities provided by the NR component; i.e.,
  719.    NR policies must allow SDR reachability information to travel.
  720.    Therefore, the architecture requires that all domains in an internet
  721.    implement and participate in NR.  Since scalability (with respect to
  722.    the size of the internet) is one of the fundamental requirements for
  723.    the NR component, it must provide multiple mechanisms with various
  724.    degrees of sophistication for information aggregation and
  725.    abstraction.
  726.  
  727.  
  728.  
  729.  
  730. Estrin, Rekhter & Hotz                                         [Page 13]
  731.  
  732. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  733.  
  734.  
  735.    The potential reduction of routing and forwarding information depends
  736.    very heavily on the way addresses are assigned and how domains and
  737.    their confederations are structured.  "If there is no correspondence
  738.    between the address registration hierarchy and the organisation of
  739.    routeing domains, then ... each and every routeing domain in the OSIE
  740.    would need a table entry potentially at every boundary IS of every
  741.    other routeing domain" ([Oran89]).  Indeed, scaling in the NR
  742.    component is almost entirely predicated on the assumption that there
  743.    will be general correspondence between the hierarchy of address
  744.    assignment authorities and the way routing domains are organised, so
  745.    that the efficient and frequent aggregation of routing and forwarding
  746.    information will be possible.  Therefore, given the nature of inter-
  747.    domain routing in general, and the NR component in particular,
  748.    scalability of the architecture depends very heavily on the
  749.    flexibility of the scheme for information aggregation and
  750.    abstraction, and on the preconditions that such a scheme imposes.
  751.    Moreover, given a flexible architecture, the operational efficiency
  752.    (scalability) of the global internet, or portions thereof, will
  753.    depend on tradeoffs made between flexibility and aggregation.
  754.  
  755.    While the NR component is optimized to satisfy the common case
  756.    routing requirements for an extremely large population of users, this
  757.    does not imply that routes produced by the NR component would not be
  758.    used for different types of service (TOS).  To the contrary, if a TOS
  759.    becomes sufficiently widely used (i.e., by multiple domains and
  760.    predictably over time), then it may warrant being computed by the NR
  761.    component.
  762.  
  763.    To summarize, the NR component is best suited to provide routes that
  764.    are used by more than a single domain.  That is, the efficiency of
  765.    the NR component improves when a number of source domains share a
  766.    particular route from some intermediate point to a destination.
  767.    Moreover, NR is best suited to provide routing for inter-domain data
  768.    traffic that is either steady enough to justify the existence of a
  769.    route, or predictable, so that a route may be installed when needed,
  770.    (based on the prediction, rather than on the actual traffic).
  771.  
  772. 3.2 Routing Algorithm Choices for NR
  773.  
  774.    Given that a NR component based on hop-by-hop routing is needed to
  775.    provide scalable, efficient inter-domain routing, the remainder of
  776.    this section considers the fundamental design choices for the NR
  777.    routing algorithm.
  778.  
  779.    Typically the debate surrounding routing algorithms focuses on link
  780.    state and distance vector protocols.  However, simple distance vector
  781.    protocols (i.e., Routing Information Protocol [Hedrick88]), do not
  782.    scale because of convergence problems.  Improved distance vector
  783.  
  784.  
  785.  
  786. Estrin, Rekhter & Hotz                                         [Page 14]
  787.  
  788. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  789.  
  790.  
  791.    protocols, such as those discussed in [Jaffee82, Zaumen91, Shin87],
  792.    have been developed to address this issue using synchronization
  793.    mechanisms or additional path information.  In the case of inter-
  794.    domain routing, having additional path information is essential to
  795.    supporting policy.  Therefore, the algorithms we consider for NR are
  796.    link state and one we call path vector (PV).  Whereas the
  797.    characteristics of link state algorithms are generally understood
  798.    (for example, [Zaumen 91]), we must digress from our evaluation
  799.    discussion to describe briefly the newer concept of the PV algorithm
  800.    [Footnote: We assume that some form of SPF algorithm will be used to
  801.    compute paths over the topology database when LS algorithms are used
  802.    [Dijkstra59, OSPF]].
  803.  
  804. 3.2.1 Path Vector Protocol Overview
  805.  
  806.    The Border Gateway Protocol (BGP) (see [BGP91]) and the Inter Domain
  807.    Routing Protocol (IDRP) (see [IDRP91]) are examples of path vector
  808.    (PV) protocols [Footnote: BGP is an inter-autonomous system routing
  809.    protocol for TCP/IP internets.  IDRP is an OSI inter-domain routing
  810.    protocol that is being progressed toward standardization within ISO.
  811.    Since in terms of functionality BGP represents a proper subset of
  812.    IDRP, for the rest of the paper we will only consider IDRP.].
  813.  
  814.    The routing algorithm employed by PV bears a certain resemblance to
  815.    the traditional Bellman-Ford routing algorithm in the sense that each
  816.    border router advertises the destinations it can reach to its
  817.    neighboring BRs.  However,the PV routing algorithm augments the
  818.    advertisement of reachable destinations with information that
  819.    describes various properties of the paths to these destinations.
  820.  
  821.    This information is expressed in terms of path attributes.  To
  822.    emphasize the tight coupling between the reachable destinations and
  823.    properties of the paths to these destinations, PV defines a route as
  824.    a pairing between a destination and the attributes of the path to
  825.    that destination.  Thus the name, path-vector protocol, where a BR
  826.    receives from its neighboring BR a vector that contains paths to a
  827.    set of destinations [Footnote: The term "path-vector protocol" bears
  828.    an intentional similarity to the term "distance-vector protocol",
  829.    where a BR receives from each of its neighbors a vector that contains
  830.    distances to a set of destinations.].  The path, expressed in terms
  831.    of the domains (or confederations) traversed so far, is carried in a
  832.    special path attribute which records the sequence of routing domains
  833.    through which the reachability information has passed.  Suppression
  834.    of routing loops is implemented via this special path attribute, in
  835.    contrast to LS and distance vector which use a globally-defined
  836.    monotonically-increasing metric for route selection [Shin87].
  837.  
  838.    Because PV does not require all routing domains to have homogeneous
  839.  
  840.  
  841.  
  842. Estrin, Rekhter & Hotz                                         [Page 15]
  843.  
  844. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  845.  
  846.  
  847.    criteria (policies) for route selection, route selection policies
  848.    used by one routing domain are not necessarily known to other routing
  849.    domains.  To maintain the maximum degree of autonomy and independence
  850.    between routing domains, each domain which participates in PV may
  851.    have its own view of what constitutes an optimal route.  This view is
  852.    based solely on local route selection policies and the information
  853.    carried in the path attributes of a route.  PV standardizes only the
  854.    results of the route selection procedure, while allowing the
  855.    selection policies that affect the route selection to be non-standard
  856.    [Footnote: This succinct observation is attributed to Ross Callon
  857.    (Digital Equipment Corporation).].
  858.  
  859. 3.3 Complexity
  860.  
  861.    Given the above description of PV algorithms, we can compare them to
  862.    LS algorithms in terms of the three complexity parameters defined
  863.    earlier.
  864.  
  865. 3.3.1 Storage Overhead
  866.  
  867.    Without any aggregation of routing information, and ignoring storage
  868.    overhead associated with transit constraints, it is possible to show
  869.    that under some rather general assumptions the average case RIB
  870.    storage overhead of the PV scheme for a single TOS ranges between
  871.    O(N) and O(Nlog(N)), where N is the total number of routing domains
  872.    ([Rekhter91]).  The LS RIB, with no aggregation of routing
  873.    information, no transit constraints, a single homogeneous route
  874.    selection policy across all the domains, and a single TOS, requires a
  875.    complete domain-level topology map whose size is O(N).
  876.  
  877.    Supporting heterogeneous route selection and transit policies with
  878.    hop-by-hop forwarding and LS requires each domain to know all other
  879.    domains route selection and transit policies.  This may significantly
  880.    increase the amount of routing information that must be stored by
  881.    each domain.  If the number of policies advertised grows with the
  882.    number of domains, then the storage could become unsupportable.  In
  883.    contrast, support for heterogeneous route selection policies has no
  884.    effect on the storage complexity of the PV scheme (aside from simply
  885.    storing the local policy information).  The presence of transit
  886.    constraints in PV results in a restricted distribution of routing
  887.    information, thus further reducing storage overhead.  In contrast,
  888.    with LS no such reduction is possible since each domain must know
  889.    every other domain's transit policies.  Finally, some of the transit
  890.    constraints (e.g., path sensitive constraints) can be expressed in a
  891.    more concise form in PV (see aggregation discussion below).
  892.  
  893.    The ability to further restrict storage overhead is facilitated by
  894.    the PV routing algorithm, where route computation precedes routing
  895.  
  896.  
  897.  
  898. Estrin, Rekhter & Hotz                                         [Page 16]
  899.  
  900. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  901.  
  902.  
  903.    information dissemination, and only routing information associated
  904.    with the routes selected by a domain is distributed to adjacent
  905.    domains.  In contrast, route selection with LS is decoupled from the
  906.    distribution of routing information, and has no effect on such
  907.    distribution.
  908.  
  909.    While theoretically routing information aggregation can be used to
  910.    reduce storage complexity in both LS and PV, only aggregation of
  911.    topological information would yield the same gain for both.
  912.    Aggregating transit constraints with LS may result in either reduced
  913.    connectivity or less information reduction, as compared with PV.
  914.    Aggregating heterogeneous route selection policies in LS is highly
  915.    problematic, at best.  In PV, route selection policies are not
  916.    distributed, thus making aggregation of route selection policies a
  917.    non-issue [Footnote: Although a domain's selection policies are not
  918.    explicitly distributed, they have an impact on the routes available
  919.    to other domains.  A route that may be preferred by a particular
  920.    domain, and not prohibited by transit restrictions, may still be
  921.    unavailable due to the selection policies of some intermediate
  922.    domain.  The ability to compute and install alternative routes that
  923.    may be lost using hop-by-hop routing (either LS of PV) is the
  924.    critical functionality provided by SDR.].
  925.  
  926.    Support for multiple TOSs has the same impact on storage overhead for
  927.    both LS and for PV.
  928.  
  929.    Potentially the LS FIB may be smaller if routes are computed at each
  930.    node on demand.  However, the gain of such a scheme depends heavily
  931.    on the traffic patterns, memory size, and caching strategy.  If there
  932.    is not a high degree of locality, severely degraded performance can
  933.    result due to excessive overall computation time and excessive
  934.    computation delay when forwarding packets to a new destination.  If
  935.    demand driven route computation is not used for LS, then the size of
  936.    the FIB would be the same for both LS and PV.
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Estrin, Rekhter & Hotz                                         [Page 17]
  955.  
  956. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  957.  
  958.  
  959. 3.3.2 Route Computation Complexity
  960.  
  961.    Even if all domains employ exactly the same route selection policy,
  962.    computational complexity of PV is smaller than that of LS.  The PV
  963.    computation consists of evaluating a newly arrived route and
  964.    comparing it with the existing one [Footnote: Some additional checks
  965.    are required when an update is received to insure that a routing loop
  966.    has not been created.].  Whereas, conventional LS computation
  967.    requires execution of an SPF algorithm such as Dijkstra's.
  968.  
  969.    With PV, topology changes only result in the recomputation of routes
  970.    affected by these changes, which is more efficient than complete
  971.    recomputation.  However, because of the inclusion of full path
  972.    information with each distance vector, the effect of a topology
  973.    change may propagate farther than in traditional distance vector
  974.    algorithms.  On the other hand, the number of affected domains will
  975.    still be smaller with PV than with conventional LS hop-by-hop
  976.    routing.  With PV, only those domains whose routes are affected by
  977.    the changes have to recompute, while with conventional LS hop-by-hop
  978.    routing all domains must recompute.  While it is also possible to
  979.    employ partial recomputation with LS (i.e., when topology changes,
  980.    only the affected routes are recomputed), "studies suggest that with
  981.    a very small number of link changes (perhaps 2) the expected
  982.    computational complexity of the incremental update exceeds the
  983.    complete recalculation" ([ANSI87-150R]).  However these checks are
  984.    much simpler than executing a full SPF algorithm.
  985.  
  986.    Support for heterogeneous route selection policies has serious
  987.    implications for the computational complexity.  The major problem
  988.    with supporting heterogeneous route selection policies with LS is the
  989.    computational complexity of the route selection itself.
  990.    Specifically, we are not aware of any algorithm with less than
  991.    exponential time complexity that would be capable of computing routes
  992.    to all destinations, with LS hop-by-hop routing and heterogeneous
  993.    route selection policies.  In contrast, PV allows each domain to make
  994.    its route selection autonomously, based only on local policies.
  995.    Therefore support for dissimilar route selection policies has no
  996.    negative implications for the complexity of route computation in PV.
  997.    Similarly, providing support for path-sensitive transit policies in
  998.    LS implies exponential computation, while in PV such support has no
  999.    impact on the complexity of route computation.
  1000.  
  1001.    In summary, because NR will rely primarily on precomputation of
  1002.    routes, aggregation is essential to the long-term scalability of the
  1003.    architecture.  To the extent aggregation is facilitated with PV, so
  1004.    is reduced computational complexity.  While similar arguments may be
  1005.    made for LS, the aggregation capabilities that can be achieved with
  1006.    LS are more problematic because of LS' reliance on consistent
  1007.  
  1008.  
  1009.  
  1010. Estrin, Rekhter & Hotz                                         [Page 18]
  1011.  
  1012. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1013.  
  1014.  
  1015.    topology maps at each node.  It is also not clear what additional
  1016.    computational complexity will be associated with aggregation of
  1017.    transit constraints and heterogeneous route selection policies in LS.
  1018.  
  1019. 3.3.3 Bandwidth Overhead
  1020.  
  1021.    PV routing updates include fully-expanded information.  A complete
  1022.    route for each supported TOS is advertised.  In LS, TOS only
  1023.    contributes a factor increase per link advertised, which is much less
  1024.    than the number of complete routes.  Although TOSs may be encoded
  1025.    more efficiently with LS than with PV, link state information is
  1026.    flooded to all domains, while with PV, routing updates are
  1027.    distributed only to the domains that actually use them.  Therefore,
  1028.    it is difficult to make a general statement about which scheme
  1029.    imposes more bandwidth overhead, all other factors being equal.
  1030.  
  1031.    Moreover, this is perhaps really not an important difference, since
  1032.    we are more concerned with the number of messages than with the
  1033.    number of bits (because of compression and greater link bandwidth, as
  1034.    well as the increased physical stability of links).
  1035.  
  1036. 3.4 Aggregation
  1037.  
  1038.    Forming confederations of domains, for the purpose of consistent,
  1039.    hop-by-hop, LS route computation, requires that domains within a
  1040.    confederation have consistent policies.  In addition, LS
  1041.    confederation requires that any lower level entity be a member of
  1042.    only one higher level entity.  In general, no intra-confederation
  1043.    information can be made visible outside of a confederation, or else
  1044.    routing loops may occur as a result of using an inconsistent map of
  1045.    the network at different domains.  Therefore, the use of
  1046.    confederations with hop-by-hop LS is limited because each domain (or
  1047.    confederation) can only be a part of one higher level confederation
  1048.    and only export policies consistent with that confederation (see
  1049.    examples in Section 2.2).  These restrictions are likely to impact
  1050.    the scaling capabilities of the architecture quite severely.
  1051.  
  1052.    In comparison, PV can accommodate different confederation definitions
  1053.    because looping is avoided by the use of full path information.
  1054.    Consistent network maps are not needed at each route server, since
  1055.    route computation precedes routing information dissemination.
  1056.    Consequently, PV confederations can be nested, disjoint, or
  1057.    overlapping.  A domain (or confederation) can export different
  1058.    policies or TOS as part of different confederations, thus providing
  1059.    the extreme flexibility that is crucial for the overall scaling and
  1060.    extensibility of the architecture.
  1061.  
  1062.    In summary, aggregation is essential to achieve acceptable complexity
  1063.  
  1064.  
  1065.  
  1066. Estrin, Rekhter & Hotz                                         [Page 19]
  1067.  
  1068. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1069.  
  1070.  
  1071.    bounds, and flexibility is essential to achieve acceptable
  1072.    aggregation across the global, decentralized internet.  PV's
  1073.    strongest advantage stems from its flexibility.
  1074.  
  1075. 3.5 Policy
  1076.  
  1077.    The need to allow expression of transit policy constraints on any
  1078.    route (i.e., NR routes as well as SDR routes), by itself, can be
  1079.    supported by either LS or PV.  However, the associated complexities
  1080.    of supporting transit policy constraints are noticeably higher for LS
  1081.    than for PV.  This is due to the need to flood all transit policies
  1082.    with LS, where with PV transit policies are controlled via restricted
  1083.    distribution of routing information.  The latter always imposes less
  1084.    overhead than flooding.
  1085.  
  1086.    While all of the transit constraints that can be supported with LS
  1087.    can be supported with PV, the reverse is not true.  In other words,
  1088.    there are certain transit constraints (e.g., path-sensitive transit
  1089.    constraints) that are easily supported with PV, and are prohibitively
  1090.    expensive (in terms of complexity) to support in LS.  For example, it
  1091.    is not clear how NR with LS could support something like ECMA-style
  1092.    policies that are based on hierarchical relations between domains,
  1093.    while support for such policies is straightforward with PV.
  1094.  
  1095.    As indicated above, support for heterogeneous route selection
  1096.    policies, in view of its computational and storage complexity, is
  1097.    impractical with LS hop-by-hop routing.  In contrast, PV can
  1098.    accommodate heterogeneous route selection with little additional
  1099.    overhead.
  1100.  
  1101. 3.6 Information Hiding
  1102.  
  1103.    PV has a clear advantage with respect to selective information
  1104.    hiding.  LS with hop-by-hop routing hinges on the ability of all
  1105.    domains to have exactly the same information; this clearly
  1106.    contradicts the notion of selective information hiding.  That is, the
  1107.    requirement to perform selective information hiding is unsatisfiable
  1108.    with LS hop-by-hop routing.
  1109.  
  1110. 3.7 Commonality between NR and SDR Components
  1111.  
  1112.    In [Breslau-Estrin91] we argued for the use of LS in conjunction with
  1113.    SDR.  Therefore there is some preference for using LS with NR.
  1114.    However, there are several reasons why NR and SDR would not use
  1115.    exactly the same routing information, even if they did use the same
  1116.    algorithm.  Moreover, there are several opportunities for unifying
  1117.    the management (distribution and storage) of routing and forwarding
  1118.    information, even if dissimilar algorithms are used.
  1119.  
  1120.  
  1121.  
  1122. Estrin, Rekhter & Hotz                                         [Page 20]
  1123.  
  1124. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1125.  
  1126.  
  1127.    In considering the differences between NR and SDR we must address
  1128.    several areas:
  1129.  
  1130.      1. Routing information and distribution protocol: LS for SDR is
  1131.         quite different from the LS in NR.  For example, SDR LS need
  1132.         not aggregate domains; to the contrary SDR LS  requires detailed
  1133.         information to generate special routes.
  1134.  
  1135.         In addition, consistency requirements (essential for NR) are
  1136.         unnecessary for the SDR component.  Therefore LS information for
  1137.         the SDR component can be retrieved on-demand, while the NR
  1138.         component must use flooding of topology information.
  1139.  
  1140.      2. Route computation algorithm: It is not clear whether route
  1141.         computation algorithm(s)  can be shared between the SDR and NR
  1142.         components, given the difficulty of supporting  heterogeneous
  1143.         route selection policies in NR.
  1144.  
  1145.      3. Forwarding information: The use of dissimilar route computation
  1146.         algorithms does not preclude common handling of packet
  1147.         forwarding.  Even if LS were used for NR, the requirement would
  1148.         be the same, i.e., that the forwarding agent can determine
  1149.         whether to use a NR  precomputed route or an SDR installed route
  1150.         to forward a particular data packet.
  1151.  
  1152.    In conclusion, using similar algorithms and mechanisms for SDR and NR
  1153.    components would have benefits.  However, these benefits do not
  1154.    dominate the other factors as discussed before.
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Estrin, Rekhter & Hotz                                         [Page 21]
  1179.  
  1180. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1181.  
  1182.  
  1183. 3.8 Summary
  1184.  
  1185.    Given the performance complexity issues associated with global
  1186.    routing, aggregation of routing information is essential; at the same
  1187.    time we have argued that such aggregation must be flexible.  Given
  1188.    the difficulties of supporting LS hop-by-hop routing in the presence
  1189.    of (a) flexible aggregation, (b) heterogeneous route selection
  1190.    policies, and (c) incomplete or inconsistent routing information, we
  1191.    see no alternative but to employ PV for the NR component of our
  1192.    architecture.
  1193.  
  1194.    Based on the above tradeoffs, our NR component employs a PV
  1195.    architecture, where route computation and installation is done in a
  1196.    distributed fashion by the routers participating in the NR component
  1197.    [Footnote: Packet forwarding along routes produced by the NR
  1198.    component can be accomplished by either source routing or hop-by-hop
  1199.    routing.  The latter is the primary choice because it reduces the
  1200.    amount of state in routers (if route setup is employed), or avoids
  1201.    encoding an explicit source route in network layer packets.  However,
  1202.    the architecture does not preclude the use of source routing (or
  1203.    route setup) along the routes computed, but not installed, by the NR
  1204.    component.].
  1205.  
  1206.    The distributed algorithm combines some of the features of link state
  1207.    with those of distance vector algorithms; in addition to next hop
  1208.    information, the NR component maintains path attributes for each
  1209.    route (e.g., the list of domains or routing domain confederations
  1210.    that the routing information has traversed so far).  The path
  1211.    attributes that are carried along with a route express a variety of
  1212.    routing policies, and make explicit the entire route to the
  1213.    destination.  With aggregation, this is a superset of the domains
  1214.    that form the path to the destination.
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Estrin, Rekhter & Hotz                                         [Page 22]
  1235.  
  1236. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1237.  
  1238.  
  1239. 4.0 Source-demand routing (SDR)
  1240.  
  1241.    Inter-domain routers participating in the SDR component forward
  1242.    packets according to routing information computed and installed by
  1243.    the domain that originates the traffic (source routing domain).
  1244.  
  1245.    It is important to realize that requiring route installation by the
  1246.    source routing domain is not a matter of choice, but rather a
  1247.    necessity.  If a particular route is used by a small number of
  1248.    domains (perhaps only one) then it is more appropriate to have the
  1249.    source compute and install the special route instead of burdening the
  1250.    intermediate nodes with the task of looking for and selecting a route
  1251.    with the specialized requirements.  In addition, if the demand for
  1252.    the route is unpredictable, and thus can be determined only by the
  1253.    source, it should be up to the source to install the route.
  1254.  
  1255.    In general, information that is used by source routing domains for
  1256.    computing source-demand routes reflects administrative (but not
  1257.    operational) status of the routing facilities (i.e., configured
  1258.    topology and policy) [Footnote: If SDR uses NR information then
  1259.    operational status could be considered in some route selection.].
  1260.    Consequently, it is possible for a source routing domain to compute a
  1261.    route that is not operational at route installation time.  The SDR
  1262.    component attempts to notify the source domain of failures when route
  1263.    installation is attempted.  Similarly, the SDR component provides
  1264.    mechanisms for the source routing domain to be notified of failures
  1265.    along previously-installed active routes.  In other words, the SDR
  1266.    component performs routing that is adaptive to topological changes;
  1267.    however, the adaptability is achieved as a consequence of the route
  1268.    installation and route management mechanisms.  This is different from
  1269.    the NR component, where status changes are propagated and
  1270.    incorporated by nodes as soon as possible.  Therefore, to allow
  1271.    faster adaptation to changes in the operational status of routing
  1272.    facilities, the SDR component allows the source domain to switch to a
  1273.    route computed by the NR component, if failure along the source-
  1274.    demand route is detected (either during the route installation phase,
  1275.    or after the route is installed), and if policy permits use of the NR
  1276.    route.
  1277.  
  1278.    The NR component will group domains into confederations to achieve
  1279.    its scaling goals (see [IDRP91]).  In contrast, SDR will allow an
  1280.    AD-level route to be used by an individual domain without allowing
  1281.    use by the entire confederation to which the domain belongs.
  1282.    Similarly, a single transit domain may support a policy or special
  1283.    TOS that is not supported by other domains in its confederation(s).
  1284.    In other words, the architecture uses SDR to support non-
  1285.    hierarchical, non-aggregated policies where and when needed.
  1286.    Consequently, SDR by itself does not have the scaling properties of
  1287.  
  1288.  
  1289.  
  1290. Estrin, Rekhter & Hotz                                         [Page 23]
  1291.  
  1292. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1293.  
  1294.  
  1295.    NR.  In compensation, SDR does not require a complete, global domain
  1296.    map if portions of the world are never traversed or communicated
  1297.    with.  As a result of the looser routing structure, SDR does not
  1298.    guarantee that a participating source routing domain will always have
  1299.    sufficient information to compute a route to a destination.  In
  1300.    addition, if the domain does have sufficient information, it is
  1301.    possible that the quantity may be large enough to preclude storage
  1302.    and/or route computation in a timely fashion.  However, despite the
  1303.    lack of guarantees, it is a goal of the architecture to provide
  1304.    efficient methods whereby sources can obtain the information needed
  1305.    to compute desired routes [Footnote: The primary goal of policy or
  1306.    TOS routing is to compute a route that satisfies a set of specialized
  1307.    requirements, and these requirements take precedence over optimality.
  1308.    In other words, even if a routing domain that participates in SDR or
  1309.    NR has sufficient information to compute a route, given a particular
  1310.    set of requirements, the architecture does not guarantee that the
  1311.    computed route is optimal.].
  1312.  
  1313.    Essential to SDR is the assumption that the routes installed on
  1314.    demand will be used sparingly.  The architecture assumes that at any
  1315.    given moment the set of all source-demand routes installed in an
  1316.    internet forms a small fraction of the total number of source-demand
  1317.    routes that can potentially be installed by all the routing domains.
  1318.    It is an assumption of the architecture that the number of routes
  1319.    installed in a BR by the SDR component should be on the order of log
  1320.    N (where N is the total number of routing domains in the Internet),
  1321.    so that the scaling properties of the SDR component are comparable
  1322.    with the scaling properties of the NR component.  The NR component
  1323.    achieves this property as a result of hierarchy.
  1324.  
  1325.    Note that the above requirement does not imply that only a few
  1326.    domains can participate in SDR, or that routes installed by the SDR
  1327.    component must have short life times.  What the requirement does
  1328.    imply, is that the product of the number of routes specified by
  1329.    domains that participate in SDR, times the average SDR-route life
  1330.    time, is bounded.  For example, the architecture allows either a
  1331.    small number of SDR routes with relatively long average life times,
  1332.    or a large number of SDR routes with relatively short average life
  1333.    times.  But the architecture clearly prohibits a large number of SDR
  1334.    routes with relatively long average life times.  The number of SDR
  1335.    routes is a function of the number of domains using SDR routes and
  1336.    the number of routes used per source domain.
  1337.  
  1338.    In summary, SDR is well suited for traffic that (1) is not widely-
  1339.    used enough (or is not sufficiently predictable or steady) to justify
  1340.    computation and maintenance by the NR component, and (2) whose
  1341.    duration is significantly longer than the time it takes to perform
  1342.    the route installation procedure.
  1343.  
  1344.  
  1345.  
  1346. Estrin, Rekhter & Hotz                                         [Page 24]
  1347.  
  1348. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1349.  
  1350.  
  1351.    The architecture does not require all domains in the Internet to
  1352.    participate in SDR.  Therefore, issues of scalability (with respect
  1353.    to the size of the Internet) become less crucial (though still
  1354.    important) to the SDR component.  Instead, the primary focus of the
  1355.    SDR component is shifted towards the ability to compute routes that
  1356.    satisfy specialized requirements, where we assume that the total
  1357.    number of domains requiring special routes simultaneously through the
  1358.    same part of the network is small relative to the total population.
  1359.  
  1360. 4.1 Path Vector vs. Link State for SDR
  1361.  
  1362.    It is feasible to use either a distance vector or link state method
  1363.    of route computation along with source routing.  One could imagine,
  1364.    for instance, a protocol like BGP in which the source uses the full
  1365.    AD path information it receives in routing updates to create a source
  1366.    route. Such a protocol could address some of the deficiencies
  1367.    identified with distance vector, hop-by-hop designs.  However, we opt
  1368.    against further discussion of such a protocol because there is less
  1369.    to gain by using source routing without also using a link state
  1370.    scheme.  The power of source routing, in the context of inter-AD
  1371.    policy routing, is in giving the source control over the entire
  1372.    route.  This goal cannot be realized fully when intermediate nodes
  1373.    control which legal routes are advertised to neighbors, and therefore
  1374.    to a source.
  1375.  
  1376.    In other words, intermediate nodes should be able to preclude the use
  1377.    of a route by expressing a transit policy, but if a route is not
  1378.    precluded (i.e.,  is legal according to all ADs in the route), the
  1379.    route should be made available to the source independent of an
  1380.    intermediate domain's preferences for how its own traffic flows.
  1381.  
  1382.    Therefore, the SDR component employs an IDPR-like architecture in
  1383.    which link-state style updates are distributed with explicit policy
  1384.    terms included in each update along with the advertising node's
  1385.    connectivity.
  1386.  
  1387. 4.2 Distribution of Routing Information
  1388.  
  1389.    By using a hop-by-hop NR component based on PV to complement the
  1390.    source-routing SDR component, we have alleviated the pressure to
  1391.    aggregate SDR forwarding information; the large percentage of inter-
  1392.    domain traffic carried, simultaneously, by any particular border
  1393.    router will be forwarded using aggregated NR forwarding information.
  1394.    However, the use of NR does not address the other major scaling
  1395.    problem associated with SDR: that of distributing, storing, and
  1396.    computing over a complete domain-level topology map.  In this section
  1397.    we describe promising opportunities for improving the scaling
  1398.    properties of SDR routing information distribution, storage, and
  1399.  
  1400.  
  1401.  
  1402. Estrin, Rekhter & Hotz                                         [Page 25]
  1403.  
  1404. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1405.  
  1406.  
  1407.    computation.
  1408.  
  1409.    Note that we do not propose to solve this problem in the same way
  1410.    that we solve it for NR.  A priori abstraction will not be employed
  1411.    since different domains may require different methods of abstracting
  1412.    the same routing information.  For example, if we aggregate routing
  1413.    information of domains that do not share the same policy and TOS
  1414.    characteristics (i.e., services), then outside of the aggregate, only
  1415.    those services that are offered by all domains in the aggregate will
  1416.    be advertised.  In order to locate special routes, SDR only uses
  1417.    aggregates when the component domains (and in turn the aggregate)
  1418.    advertise the required TOS and policy descriptions.  When the
  1419.    required TOS or policy characteristics are not offered by an
  1420.    aggregate, full information about the component domains is used to
  1421.    construct a route through those domains that do support the
  1422.    particular characteristics.  Consequently, we need some other, more
  1423.    flexible, means of reducing the amount of information distributed and
  1424.    held.  We address two issues in turn: distribution of configured
  1425.    topology and policy information, and distribution of dynamic status
  1426.    information.
  1427.  
  1428. 4.2.1 Configured Information
  1429.  
  1430.    Information about the existence of inter-domain links, and policies
  1431.    maintained by domains, changes slowly over time.  This is referred to
  1432.    as configured information.  In the current IDPR specification
  1433.    complete, global, configuration information is kept by a route server
  1434.    in each domain.  Route servers (RS) are the entities that compute
  1435.    source routes.  On startup a RS can download the connectivity
  1436.    database from a neighbor RS; as domains, inter-domain links, or
  1437.    policies change, the changes are flooded to a RS in each domain.
  1438.  
  1439.    We have not yet specified the exact mechanisms for distributing
  1440.    configured connectivity information for SDR.  However, unlike the
  1441.    current IDPR specification, the SDR component will not flood all
  1442.    configured information globally.  Several alternate methods for
  1443.    organizing and distributing information are under investigation.
  1444.  
  1445.    Configured information may be regularly distributed via an out-of-
  1446.    band channel, e.g., CD/ROM.  In a similar vein, this information
  1447.    could be posted in several well-known locations for retrieval, e.g.,
  1448.    via FTP.  Between these "major" updates, aggregated collections of
  1449.    changes may be flooded globally.  Moreover, limited flooding (e.g.,
  1450.    by hop-count) could be used as appropriate to the "importance" of the
  1451.    change; while a policy change in a major backbone may still be
  1452.    flooded globally, a new inter-regional link may be flooded only
  1453.    within those regions, and information about an additional link to a
  1454.    non-transit domain may not be available until the next regularly-
  1455.  
  1456.  
  1457.  
  1458. Estrin, Rekhter & Hotz                                         [Page 26]
  1459.  
  1460. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1461.  
  1462.  
  1463.    scheduled "major" distribution.
  1464.  
  1465.    Changes that are not distributed as they occur will not necessarily
  1466.    be discovered.  However, a route server may learn pertinent
  1467.    information by direct query of remote servers, or through error
  1468.    messages resulting from traffic sent along failed routes.  Complete
  1469.    global flooding may be avoided by using some combination of these
  1470.    mechanisms.
  1471.  
  1472.    Even if an initial implementation uses a simple global flood, we must
  1473.    study the problem of structuring connectivity information such that
  1474.    it can be retrieved or distributed in a more selective manner, while
  1475.    still allowing sources to discover desired routes.  For example, we
  1476.    imagine RSs requesting filtered information from each other.  How the
  1477.    RSs should define filters that will get enough information to find
  1478.    special routes, while also effectively limiting the information, is
  1479.    an open question.  Again, the question is how to effectively
  1480.    anticipate and describe what information is needed in advance of
  1481.    computing the route.
  1482.  
  1483.    The essential dilemma is that networks are not organized in a nicely
  1484.    geographical or topologically consistent manner (e.g., it is not
  1485.    effective to ask for all networks going east-west that are within a
  1486.    certain north-south region of the target), hence a source domain does
  1487.    not know what information it needs (or should ask for) until it
  1488.    searches for, and discovers, the actual path.  Even with a central
  1489.    database, techniques are needed to structure configuration
  1490.    information so that the potential paths that are most likely to be
  1491.    useful are explored first, thereby reducing the time required for
  1492.    route computation.
  1493.  
  1494.    One promising approach organizes information using route fragments
  1495.    (partial paths) [Footnote: Route fragments were first suggested by
  1496.    Dave Clark and Noel Chiappa.].  Although the number of route
  1497.    fragments grows faster than the number of domains (at least O(N^2)),
  1498.    we can selectively choose those that will be useful to compute
  1499.    routes.  In particular, for each stub domain, fragments would be
  1500.    constructed to several well-known backbones [Footnote: Route
  1501.    fragments may be computed by a destination's route server and either
  1502.    made available via information service queries or global flooding.
  1503.    In addition, NR computed routes may be used as SDR route fragments.].
  1504.    Among its benefits, this approach aggregates domain information in a
  1505.    manner useful for computing source-routes, and provides an index,
  1506.    namely the destination, which facilitates on-demand reference and
  1507.    retrieval of information pertinent to a particular route computation.
  1508.    At this point, it is not clear how route fragments will affect SDR's
  1509.    ability to discover non-hierarchical routes.
  1510.  
  1511.  
  1512.  
  1513.  
  1514. Estrin, Rekhter & Hotz                                         [Page 27]
  1515.  
  1516. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1517.  
  1518.  
  1519. 4.2.2 Dynamic Status Information
  1520.  
  1521.    Assuming a technique for global or partial distribution of configured
  1522.    information, a second issue is whether, and how, to distribute
  1523.    dynamic status information (i.e., whether an inter-domain connection
  1524.    is up or down).
  1525.  
  1526.    In the current version of IDPR, dynamic status information is flooded
  1527.    globally in addition to configuration information.  We propose to
  1528.    distribute status information based strictly on locality.  First,
  1529.    dynamic information will be advertised within a small hop-count
  1530.    radius.  This simple and low-overhead mechanism exploits topological
  1531.    locality.  In addition to flooding status updates to nearby nodes, we
  1532.    also want to provide more accurate route information for long
  1533.    distance communications that entails more than a few network hops.
  1534.    Reverse path update (RPU) is a mechanism for sending dynamic status
  1535.    information to nodes that are outside the k-hop radius used for
  1536.    updates, but that nevertheless would obtain better service (fewer
  1537.    failed setups) by having access to the dynamic information [Estrin-
  1538.    etal91].
  1539.  
  1540.    RPU uses the existing active routes (represented by installed setup
  1541.    state or by a cache of the most recent source routes sent via the
  1542.    node in question) as a hint for distribution of event notifications.
  1543.    Instead of reporting only the status of the route being used, RPU
  1544.    reports the status of the domain's other inter-domain connections.
  1545.    If source routing exhibits route locality, the source is more likely
  1546.    to use other routes going through the node in question; in any case
  1547.    the overhead of the information about other links will be minimal.
  1548.  
  1549.    In this way, sources will receive status information from regions of
  1550.    the network through which they maintain active routes, even if those
  1551.    regions are more than k hops away.  Using such a scheme, k could be
  1552.    small to maximize efficiency, and RPU could be used to reduce the
  1553.    incidence of failed routes resulting from inaccurate status
  1554.    information.  This will be useful if long-path communication exhibits
  1555.    route locality with respect to regions that are closer to the
  1556.    destination (and therefore outside the k hop radius of flooded
  1557.    information).  In such situations, flooding information to the source
  1558.    of the long route would be inefficient because k would have to be
  1559.    equal to the length of the route, and in almost all cases, the
  1560.    percentage of nodes that would use the information decreases
  1561.    significantly with larger k.
  1562.  
  1563. 4.3 Source-Demand Route Management
  1564.  
  1565.    SDR may be built either on top of the network layer supported by the
  1566.    NR component, or in parallel with it.  SDR forwarding will be
  1567.  
  1568.  
  1569.  
  1570. Estrin, Rekhter & Hotz                                         [Page 28]
  1571.  
  1572. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1573.  
  1574.  
  1575.    supported via two techniques: loose source-routing and route setup.
  1576.  
  1577.    The first technique, loose source-routing, would allow the originator
  1578.    of a packet to specify a sequence of domains that the packet should
  1579.    traverse on its path to a destination.  Forwarding such a packet
  1580.    within a domain, or even between domains within a confederation,
  1581.    would be left to intra-domain routing.  This avoids per-connection
  1582.    state and supports transaction traffic.
  1583.  
  1584.    The second technique, route setup, will be based on mechanisms
  1585.    developed for IDPR and described in [IDPR90].  It is well suited to
  1586.    conversations that persist significantly longer than a round-trip-
  1587.    time.  The setup protocol defines packet formats and the processing
  1588.    of route installation request packets (i.e, setup packets).  When a
  1589.    source generates a setup packet, the first border router along the
  1590.    specified source route checks the setup request, and if accepted,
  1591.    installs routing information; this information includes a path ID,
  1592.    the previous and next hops, and whatever other accounting-related
  1593.    information the particular domain requires.  The setup packet is
  1594.    passed on to the next BR in the domain-level source route, and the
  1595.    same procedure is carried out [Footnote: The setup packet may be
  1596.    forwarded optimistically, i.e., before checks are completed, to
  1597.    reduce latency.].  When the setup packet reaches the destination, an
  1598.    accept message is propagated back hop by hop, and each BR en route
  1599.    activates its routing information.  Subsequent data packets traveling
  1600.    along the same path to the destination include a path ID in the
  1601.    packet.  That path ID is used to locate the appropriate next-hop
  1602.    information for each packet.
  1603.  
  1604.    Border routers that support both the NR and the SDR components, must
  1605.    be able to determine what forwarding mechanism to use.  That is, when
  1606.    presented with a network layer PDU, such a BR should be able to make
  1607.    an unambiguous decision about whether forwarding of that PDU should
  1608.    be handled by the NR or the SDR component.  Discrimination mechanisms
  1609.    are dependent on whether the new network layer introduced by the SDR
  1610.    component is built on top of, or in parallel with, the network layers
  1611.    supported by the NR component.  Once the discrimination is made,
  1612.    packets that have to be forwarded via routes installed by the SDR
  1613.    component are forwarded to the exit port associated with the
  1614.    particular Path ID in the packet header.  Packets that have to be
  1615.    forwarded via routes installed by the NR component are forwarded to
  1616.    the exit port associated with the particular destination and Type of
  1617.    Service parameters (if present) in their packet headers.
  1618.  
  1619.    Next, we describe the primary differences between the IDPR setup
  1620.    procedure previously specified, and the procedure we propose to
  1621.    develop for this hybrid architecture.
  1622.  
  1623.  
  1624.  
  1625.  
  1626. Estrin, Rekhter & Hotz                                         [Page 29]
  1627.  
  1628. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1629.  
  1630.  
  1631.    During route installation, if a BR on the path finds that the
  1632.    remainder of the indicated route from the BR to the destination is
  1633.    identical to the NR route from the BR to the destination, then the BR
  1634.    can turn off the SDR route at that point and map it onto the NR
  1635.    route.  For this to occur, the specifications of the SDR route must
  1636.    completely match those of the NR route.  In addition, the entire
  1637.    forward route must be equivalent (i.e., the remaining hops to the
  1638.    destination).
  1639.  
  1640.    Moreover, if the NR route changes during the course of an active SDR
  1641.    route, and the new NR route does not match the SDR route, then the
  1642.    SDR route must be installed for the remainder of the way to the
  1643.    destination.  Consequently, when an SDR route is mapped onto an NR
  1644.    route, the original setup packet must be saved.  A packet traveling
  1645.    from a source to destination may therefore traverse both an SDR and
  1646.    an NR route segment; however, a packet will not traverse another SDR
  1647.    segment after traveling over an NR segment.  However, during
  1648.    transient periods packets could traverse the wrong route and
  1649.    therefore this must be an optional and controllable feature.
  1650.  
  1651.    A source can also request notification if a previously-down link or
  1652.    node returns to operation some time after a requested route setup
  1653.    fails.  If a BR on the route discovers that the requested next-hop BR
  1654.    is not available, the BR can add the source to a notification list
  1655.    and when the next-hop BR becomes reachable, a notification can be
  1656.    sent back to the source.  This provides a means of flushing out bad
  1657.    news when it is no longer true.  For example, a domain might decide
  1658.    to route through a secondary route when its preferred route fails;
  1659.    the notification mechanism would inform the source in a timely manner
  1660.    when its preferred route is available again.
  1661.  
  1662.    A third option addresses adaptation after route installation.  During
  1663.    packet forwarding along an active SDR route, if a BR finds that the
  1664.    SDR route has failed, it may redirect the traffic along an existing
  1665.    NR route to the destination.  This adaptation is allowed only if use
  1666.    of the NR route does not violate policy; for example, it may provide
  1667.    a less desirable type of service.  This is done only if the source
  1668.    selects the option at route setup time.  It is also up to the source
  1669.    whether it is to be notified of such actions.
  1670.  
  1671.    When a SDR route does fail, the detecting BR sends notification to
  1672.    the source(s) of the active routes that are affected.  Optionally,
  1673.    the detecting BR may include additional information about the state
  1674.    of other BRs in the same domain.  In particular, the BR can include
  1675.    its domain's most recent "update" indicating that domain's inter-
  1676.    domain links and policy.  This can be helpful to the extent there is
  1677.    communication locality; i.e., if alternative routes might be used
  1678.    that traverse the domain in question, but avoid the failed BR.
  1679.  
  1680.  
  1681.  
  1682. Estrin, Rekhter & Hotz                                         [Page 30]
  1683.  
  1684. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1685.  
  1686.  
  1687.    In summary, when a route is first installed, the source has several
  1688.    options (which are represented by flags in the route setup packet):
  1689.  
  1690.      1. If an NR route is available that satisfies all local policy
  1691.         and TOS, then use it.  Otherwise...
  1692.  
  1693.      2. Indicate whether the source wants to allow the setup to
  1694.         default to a NR route if the SDR route setup fails.
  1695.  
  1696.      3. Request notification of mapping to a NR route.
  1697.  
  1698.      4. Request additional configured information on failure.
  1699.  
  1700.      5. Request addition to a notification list for resource
  1701.         re-availability.
  1702.  
  1703.      6. Allow data packets to be rerouted to a NR route when failure
  1704.         happens after setup (so long  as no policy is violated).
  1705.  
  1706.      7. Request notification of a reroute of data packets.
  1707.  
  1708.      8. Request additional configured information on failure notice
  1709.         when the route is active.
  1710.  
  1711.      9. Request addition to a notification list if an active route
  1712.         fails.
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738. Estrin, Rekhter & Hotz                                         [Page 31]
  1739.  
  1740. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1741.  
  1742.  
  1743. 5.0 The Unified Architecture
  1744.  
  1745.    In addition to further evaluation and implementation of the proposed
  1746.    architecture, future research must investigate opportunities for
  1747.    increased unification of the two components of our architecture.  We
  1748.    are investigating several opportunities for additional commonality:
  1749.  
  1750.      1. Routing Information Base:
  1751.         Perhaps a single RIB could be shared by both NR and SDR.
  1752.         NR routes can be represented as a directed graph labeled
  1753.         with flags (on the nodes or links) corresponding to the
  1754.         generic transit constraints.  SDR requires that this graph
  1755.         be augmented by links with non-generic policies that have
  1756.         been discovered and maintained for computing special routes;
  1757.         in addition, special policy flags may be added to links
  1758.         already maintained by the NR component.
  1759.  
  1760.      2. Information Distribution:
  1761.         The NR path vectors could include address(es) of repositories
  1762.         for SDR-update information for each AD (or confederation) to
  1763.         assist the SDR component in retrieving selective information
  1764.         on demand.  For domains with minimal policies, where the space
  1765.         required for policy information is smaller than the space
  1766.         required for a repository address (e.g., if the policies for
  1767.         the domain listed are all wildcard), the NR path vectors could
  1768.         include a flag to that effect.
  1769.  
  1770.      3. Packet Forwarding:
  1771.         We should consider replacing the current IDPR-style network
  1772.         layer (which contains a global path identifier used in
  1773.         forwarding data packets to the next policy gateway on an
  1774.         IDPR route)  with a standard header (e.g., IP or CLNP),
  1775.         augmented with some option fields.  This would  unify the
  1776.         packet header parsing and forwarding functions for SDR and NR,
  1777.         and possibly eliminate some encapsulation overhead.
  1778.  
  1779.      4. Reachability Information:
  1780.         Currently IDRP distributes network reachability information
  1781.         within updates, whereas IDPR only distributes domain
  1782.         reachability information.  IDPR uses a domain name service
  1783.         function to map network numbers to domain numbers; the latter
  1784.         is needed to make the routing decision.   We should consider
  1785.         obtaining the network reachability and domain information in
  1786.         a unified manner.
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794. Estrin, Rekhter & Hotz                                         [Page 32]
  1795.  
  1796. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1797.  
  1798.  
  1799. 5.1 Applicability to Various Network Layer Protocols
  1800.  
  1801.    The proposed architecture is designed to accommodate such existing
  1802.    network layer protocols as IP ([Postel81]), CLNP ([ISO-473-88]), and
  1803.    ST-II ([ST2-90]).  In addition, we intend for this architecture to
  1804.    support future network layer mechanisms, e.g., Clark and Jacobson's
  1805.    proposal or Braden and Casner's Integrated Services IP.  However on
  1806.    principal we can not make sweeping guarantees in advance of the
  1807.    mechanisms themselves.  In any case, not all of the mentioned
  1808.    protocols will be able to utilize all of the capabilities provided by
  1809.    the architecture.  For instance, unless the increase in the number of
  1810.    different types of services offered is matched by the ability of a
  1811.    particular network layer protocol to unambiguously express requests
  1812.    for such different types of services, the capability of the
  1813.    architecture to support routing in the presence of a large number of
  1814.    different types of service is largely academic.  That is, not all
  1815.    components of the architecture will have equal importance for
  1816.    different network layer protocols.  On the other hand, this
  1817.    architecture is designed to serve the future global internetworking
  1818.    environment.  The extensive research and development currently
  1819.    underway to implement and evaluate network mechanisms for different
  1820.    types of service suggests that future networks will offer such
  1821.    services.
  1822.  
  1823.    One of the fundamental issues in the proposed architecture is the
  1824.    issue of single versus multiple protocols.  The architecture does not
  1825.    make any assumptions about whether each network layer is going to
  1826.    have its own inter-domain routing protocol, or a single inter-domain
  1827.    routing protocol will be able to cover multiple network layers
  1828.    [Footnote: Similar issue already arose with respect to the intra-
  1829.    domain routing protocol, which generated sufficient amount of
  1830.    controversy within the Internet community.  It is our opinion, that
  1831.    the issue of single versus multiple protocols is more complex for the
  1832.    inter-domain routing than for the intra-domain routing.].  That is,
  1833.    the proposed architecture can be realized either by a single inter-
  1834.    domain routing protocol covering multiple network layers, or by
  1835.    multiple inter-domain routing protocols (with the same architecture)
  1836.    tailored to a specific network layer [Footnote: If the single
  1837.    protocol strategy is adopted, then it is likely that IDRP will be
  1838.    used as a base for the NR component.  Since presently IDRP is
  1839.    targeted towards CLNP, further work is needed to augment it to
  1840.    support IP and ST-II.  If the multiple protocol strategy is adopted,
  1841.    then it is likely that BGP will be used as a base for the NR
  1842.    component for IP, and IDRP will be used as a base for the NR
  1843.    component for CLNP.  Further work is needed to specify protocol in
  1844.    support for the NR component for ST-II.  Additional work may be
  1845.    needed to specify new features that may be added to BGP.].
  1846.  
  1847.  
  1848.  
  1849.  
  1850. Estrin, Rekhter & Hotz                                         [Page 33]
  1851.  
  1852. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1853.  
  1854.  
  1855. 5.2 Transition
  1856.  
  1857.    The proposed architecture is not intended for full deployment in the
  1858.    short term future.  We are proposing this architecture as a goal
  1859.    towards which we can begin guiding our operational and research
  1860.    investment over the next 5 years.
  1861.  
  1862.    At the same time, the architecture does not require wholesale
  1863.    overhaul of the existing Internet.  The NR component may be phased in
  1864.    gradually.  For example, the NR component for IP may be phased in by
  1865.    replacing existing EGP-2 routing with BGP routing.  Once the NR
  1866.    component is in place, it can be augmented by the facilities provided
  1867.    by the SDR component.
  1868.  
  1869.    The most critical components of the architecture needed to support
  1870.    SDR include route installation and packet forwarding in the routers
  1871.    that support SDR.  Participation as a transit routing domain requires
  1872.    that the domain can distribute local configuration information (LCI)
  1873.    and that some of its routers implement the route installation and
  1874.    route management protocols.  Participation as a source requires that
  1875.    the domain have access to a RS to compute routes, and that the source
  1876.    domain has a router that implements the route installation and route
  1877.    management protocols.  In addition, a network management entity must
  1878.    describe local configuration information and send it to the central
  1879.    repository(ies).  A collection and distribution mechanism must be put
  1880.    in place, even if it is centralized.
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906. Estrin, Rekhter & Hotz                                         [Page 34]
  1907.  
  1908. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1909.  
  1910.  
  1911. 6.0 Conclusions and Future Work
  1912.  
  1913.    In summary, the proposed architecture combines hop-by-hop path-
  1914.    vector, and source-routed link-state, protocols, and uses each for
  1915.    that which it is best suited: NR uses PV and multiple, flexible,
  1916.    levels of confederations to support efficient routing of generic
  1917.    packets over generic routes; SDR uses LS computation over a database
  1918.    of configured and dynamic information to route special traffic over
  1919.    special routes.  In the past, the community has viewed these two as
  1920.    mutually exclusive; to the contrary, they are quite complementary and
  1921.    it is fortunate that we, as a community, have pursued both paths in
  1922.    parallel.  Together these two approaches will flexibly and
  1923.    efficiently support TOS and policy routing in very large global
  1924.    internets.
  1925.  
  1926.    It is now time to consider the issues associated with combining and
  1927.    integrating the two.  We must go back and look at both architectures
  1928.    and their constituent protocols, eliminate redundancies, fill in new
  1929.    holes, and provide seamless integration.
  1930.  
  1931. 7.0 Acknowledgments
  1932.  
  1933.    We would like to thank Hans-Werner Braun (San Diego Supercomputer
  1934.    Center), Lee Breslau (USC), Scott Brim (Cornell University), Tony Li
  1935.    (cisco Systems), Doug Montgomery (NIST), Tassos Nakassis (NIST),
  1936.    Martha Steenstrup (BBN), and Daniel Zappala (USC) for their comments
  1937.    on a previous draft.
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962. Estrin, Rekhter & Hotz                                         [Page 35]
  1963.  
  1964. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  1965.  
  1966.  
  1967. 8.0 References
  1968.  
  1969.    [ANSI 87-150R]  "Intermediate System to Intermediate System Intra-
  1970.    Domain Routing Exchange Protocol", ANSI X3S3.3/87-150R.
  1971.  
  1972.    [BGP 91]  Lougheed, K., and Y. Rekhter, "A Border Gateway Protocol 3
  1973.    (BGP-3)", RFC 1267, cisco Systems, T.J. Watson Research Center, IBM
  1974.    Corp., October 1991.
  1975.  
  1976.    [Breslau-Estrin 91]  Breslau, L., and D. Estrin, "Design and
  1977.    Evaluation of Inter-Domain Policy Routing Protocols", To appear in
  1978.    Journal  of Internetworking Research and Experience, 1991.  (Earlier
  1979.    version appeared in ACM Sigcomm 1990.)
  1980.  
  1981.    [Clark 90]  Clark, D., "Policy Routing in Internetworks", Journal of
  1982.    Internetworking Research and Experience, Vol.  1, pp. 35-52, 1990.
  1983.  
  1984.    [Dijkstra 59]  Dijkstra, E., "A Note on Two Problems in Connection
  1985.    with Graphs", Numer. Math., Vol.  1, 1959, pp. 269-271.
  1986.  
  1987.    [ECMA89]  "Inter-Domain Intermediate Systems Routing", Draft
  1988.    Technical Report ECMA TR/ISR, ECMA/TC32-TG 10/89/56, May 1989.
  1989.  
  1990.    [EGP]  Rosen, E., "Exterior Gateway Protocol (EGP)", RFC 827, BBN,
  1991.    October 1982.
  1992.  
  1993.    [Estrin 89]  Estrin, D., "Policy Requirements for Inter
  1994.    Administrative Domain Routing", RFC 1125, USC Computer Science
  1995.    Department, November 1989.
  1996.  
  1997.    [Estrin-etal91]  Estrin, D., Breslau, L., and L. Zhang, "Protocol
  1998.    Mechanisms for Adaptive Routing in Global Multimedia Internets",
  1999.    University of Southern California, Computer Science Department
  2000.    Technical Report, CS-SYS-91-04, November 1991.
  2001.  
  2002.    [Hedrick 88]  Hedrick, C., "Routing Information Protocol", RFC 1058,
  2003.    Rutgers University, June 1988.
  2004.  
  2005.    [Honig 90]  Honig, J., Katz, D., Mathis, M., Rekhter, Y., and J. Yu,
  2006.    "Application of the Border Gateway Protocol in the Internet", RFC
  2007.    1164, Cornell Univ. Theory Center, Merit/NSFNET, Pittsburgh
  2008.    Supercomputing Center, T.J. Watson Research Center, IBM Corp., June
  2009.    1990.
  2010.  
  2011.    [IDPR90]  Steenstrup, M., "Inter-Domain Policy Routing Protocol
  2012.    Specification and Usage: Version 1", Work in Progress, February 1991.
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018. Estrin, Rekhter & Hotz                                         [Page 36]
  2019.  
  2020. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  2021.  
  2022.  
  2023.    [IDRP91]  "Intermediate System to Intermediate System Inter-domain
  2024.    Routeing Exchange Protocol", ISO/IEC/ JTC1/SC6 CD10747.
  2025.  
  2026.    [ISIS10589]  "Information Processing Systems - Telecommunications and
  2027.    Information Exchange between Systems - Intermediate System to
  2028.    Intermediate System Intra-Domain Routing Exchange Protocol for use in
  2029.    Conjunction with the protocol for providing the Connectionless-mode
  2030.    Network Service (ISO 8473)", ISO/IEC 10589.
  2031.  
  2032.    [ISO-473 88]  "Protocol for providing the connectionless-mode network
  2033.    service", ISO 8473, 1988.
  2034.  
  2035.    [Jaffee 82]  Jaffee, J., and F. Moss, "A Responsive Distributed
  2036.    Routing Algorithm for Computer Networks", IEEE Transactions on
  2037.    Communications, July 1982.
  2038.  
  2039.    [Little 89]  Little, M., "Goals and Functional Requirements for
  2040.    Inter-Autonomous System Routing", RFC 1126, SAIC, October 1989.
  2041.  
  2042.    [Oran 89]  Oran, D., "Expert's Paper: The Relationship between
  2043.    Addressing and Routeing", ISO/JTC1/SC6/WG2, 1989.
  2044.  
  2045.    [OSPF]  Moy, J., "The Open Shortest Path First (OSPF) Specification",
  2046.    RFC 1131, Proteon, October 1989.
  2047.  
  2048.    [Postel 81]  Postel, J., "Internet Protocol", RFC 791, DARPA,
  2049.    September 1981.
  2050.  
  2051.    [Rekhter 91]  Rekhter, Y., "IDRP protocol analysis: storage
  2052.    complexity", IBM Research Report RC17298(#76515), October 1991.
  2053.  
  2054.    [Shin87] Shin, K., and M. Chen, "Performance Analysis of Distributed
  2055.    Routing Strategies Free of Ping-Pong-Type Looping", IEEE Transactions
  2056.    on Computers, February 1987.
  2057.  
  2058.    [ST2-90]  Topolcic, C., "Experimental Internet Stream Protocol,
  2059.    version 2 (ST II)", RFC 1190, CIP Working Group, October 1990.
  2060.  
  2061.    [Zaumen 91] Zaumen, W., and J. Garcia-Luna-Aceves, "Dynamics of Link
  2062.    State and Loop-free Distance-Vector Routing Algorithms", ACM Sigcomm
  2063.    '91, Zurich, Switzerland, September 1991.
  2064.  
  2065.    [Zhang 91] Zhang, L., "Virtual Clock: A New Traffic Control Algorithm
  2066.    for Packet Switching Networks".
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074. Estrin, Rekhter & Hotz                                         [Page 37]
  2075.  
  2076. RFC 1322       A Unified Approach to Inter-Domain Routing       May 1992
  2077.  
  2078.  
  2079. Security Considerations
  2080.  
  2081.    Security issues are not discussed in this memo.
  2082.  
  2083. Authors' Addresses
  2084.  
  2085.    Deborah Estrin
  2086.    University of Southern California
  2087.    Computer Science Department, MC 0782
  2088.    Los Angeles, California 90089-0782
  2089.  
  2090.    Phone: (310) 740-4524
  2091.    EMail: estrin@usc.edu
  2092.  
  2093.  
  2094.    Yakov Rekhter
  2095.    IBM T.J. Watson Research Center
  2096.    P.O. Box 218
  2097.    Yorktown Heights, New York 10598
  2098.  
  2099.    Phone: (914) 945-3896
  2100.    EMail: yakov@ibm.com
  2101.  
  2102.  
  2103.    Steven Hotz
  2104.    University of Southern California
  2105.    Computer Science Department, MC 0782
  2106.    Los Angeles, California 90089-0782
  2107.  
  2108.    Phone: (310) 822-1511
  2109.    EMail: hotz@usc.edu
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130. Estrin, Rekhter & Hotz                                         [Page 38]
  2131.