home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc1477 < prev    next >
Text File  |  1993-07-22  |  32KB  |  732 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                     M. Steenstrup
  8. Request for Comments: 1477                 BBN Systems and Technologies
  9.                                                               July 1993
  10.  
  11.  
  12.                       IDPR as a Proposed Standard
  13.  
  14. Status of this Memo
  15.  
  16.    This memo provides information for the Internet community.  It does
  17.    not specify an Internet standard.  Distribution of this memo is
  18.    unlimited.
  19.  
  20. 1.  Introduction
  21.  
  22.    This document contains a discussion of inter-domain policy routing
  23.    (IDPR), including an overview of functionality and a discussion of
  24.    experiments.  The objective of IDPR is to construct and maintain
  25.    routes between source and destination administrative domains, that
  26.    provide user traffic with the services requested within the
  27.    constraints stipulated for the domains transited.
  28.  
  29.    Four documents describe IDPR in detail:
  30.  
  31.       M. Steenstrup.  An architecture for inter-domain policy routing.
  32.       RFC 1478.  July 1993.
  33.  
  34.       M. Steenstrup.  Inter-domain policy routing protocol
  35.       specification: version 1.  RFC 1479.  July 1993.
  36.  
  37.       H. Bowns and M. Steenstrup.  Inter-domain policy routing
  38.       configuration and usage.  Work in Progress.  July 1991.
  39.  
  40.       R. Woodburn.  Definitions of managed objects for inter-domain
  41.       policy routing (version 1).  Work in Progress.  March 1993.
  42.  
  43.    This is a product of the Inter-Domain Policy Routing Working Group of
  44.    the Internet Engineering Task Force (IETF).
  45.  
  46. 2.  The Internet Environment
  47.  
  48.    As data communications technologies evolve and user populations grow,
  49.    the demand for internetworking increases.  The Internet currently
  50.    comprises over 7000 operational networks and over 10,000 registered
  51.    networks.  In fact, for the last several years, the number of
  52.    constituent networks has approximately doubled annually.  Although we
  53.    do not expect the Internet to sustain this growth rate, we must
  54.    prepare for the Internet of five to ten years in the future.
  55.  
  56.  
  57.  
  58. Steenstrup                                                      [Page 1]
  59.  
  60. RFC 1477                         IDPR                          July 1993
  61.  
  62.  
  63.    Internet connectivity has increased along with the number of
  64.    component networks.  Internetworks proliferate through
  65.    interconnection of autonomous, heterogeneous networks administered by
  66.    separate authorities.  We use the term "administrative domain" (AD)
  67.    to refer to any collection of contiguous networks, gateways, links,
  68.    and hosts governed by a single administrative authority that selects
  69.    the intra-domain routing procedures and addressing schemes, specifies
  70.    service restrictions for transit traffic, and defines service
  71.    requirements for locally-generated traffic.
  72.  
  73.    In the early 1980s, the Internet was purely hierarchical, with the
  74.    ARPANET as the single backbone.  The current Internet possesses a
  75.    semblance of a hierarchy in the collection of backbone, regional,
  76.    metropolitan, and campus domains that compose it.  However,
  77.    technological, economical, and political incentives have prompted the
  78.    introduction of inter-domain links outside of those in the strict
  79.    hierarchy.  Hence, the Internet has the properties of both
  80.    hierarchical and mesh connectivity.
  81.  
  82.    We expect that, over the next five years, the Internet will grow to
  83.    contain O(10) backbone domains, most providing connectivity between
  84.    many source and destination domains and offering a wide range of
  85.    qualities of service, for a fee.  Most domains will connect directly
  86.    or indirectly to at least one Internet backbone domain, in order to
  87.    communicate with other domains.  In addition, some domains may
  88.    install direct links to their most favored destinations.  Domains at
  89.    the lower levels of the hierarchy will provide some transit service,
  90.    limited to traffic between selected sources and destinations.
  91.    However, the majority of Internet domains will be "stubs", that is,
  92.    domains that do not provide any transit service for any other domains
  93.    but that connect directly to one or more transit domains.
  94.  
  95.    The bulk of Internet traffic will be generated by hosts in the stub
  96.    domains, and thus, the applications running in these hosts will
  97.    determine the traffic service requirements.  We expect application
  98.    diversity encompassing electronic mail, desktop videoconferencing,
  99.    scientific visualization, and distributed simulation, for example.
  100.    Many of these applications have strict requirements on loss, delay,
  101.    and throughput.
  102.  
  103.    In such a large and heterogeneous Internet, the routing procedures
  104.    must be capable of ensuring that traffic is forwarded along routes
  105.    that offer the required services without violating domain usage
  106.    restrictions.  We believe that IDPR meets this goal; it has been
  107.    designed to accommodate an Internet comprising O(10,000)
  108.    administrative domains with diverse service offerings and
  109.    requirements.
  110.  
  111.  
  112.  
  113.  
  114. Steenstrup                                                      [Page 2]
  115.  
  116. RFC 1477                         IDPR                          July 1993
  117.  
  118.  
  119. 3.  An Overview of IDPR
  120.  
  121.    IDPR generates, establishes, and maintains "policy routes" that
  122.    satisfy the service requirements of the users and respect the service
  123.    restrictions of the transit domains.  Policy routes are constructed
  124.    using information about the services offered by and the connectivity
  125.    between administrative domains and information about the services
  126.    requested by the users.
  127.  
  128. 3.1  Policies
  129.  
  130.    With IDPR, each domain administrator sets "transit policies" that
  131.    dictate how and by whom the resources in its domain should be used.
  132.    Transit policies are usually public, and they specify offered
  133.    services comprising:
  134.  
  135.    - Access restrictions: e.g., applied to traffic to or from certain
  136.      domains or classes of users.
  137.  
  138.    - Quality: e.g., delay, throughput, or error characteristics.
  139.  
  140.    - Monetary cost: e.g., charge per byte, message, or session time.
  141.  
  142.    Each domain administrator also sets "source policies" for traffic
  143.    originating in its domain.  Source policies are usually private, and
  144.    they specify requested services comprising:
  145.  
  146.    - Access: e.g., domains to favor or avoid in routes.
  147.  
  148.    - Quality: e.g., acceptable delay, throughput, and reliability.
  149.  
  150.    - Monetary cost: e.g., acceptable cost per byte, message, or session
  151.      time.
  152.  
  153. 3.2  Functions
  154.  
  155.    The basic IDPR functions include:
  156.  
  157.    - Collecting and distributing routing information, i.e., domain
  158.      transit policy and connectivity information.  IDPR uses link state
  159.      routing information distribution, so that each source domain may
  160.      obtain routing information about all other domains.
  161.  
  162.    - Generating and selecting policy routes based on the routing
  163.      information distributed and on source policy information.  IDPR
  164.      gives each source domain complete control over the routes it
  165.      generates.
  166.  
  167.  
  168.  
  169.  
  170. Steenstrup                                                      [Page 3]
  171.  
  172. RFC 1477                         IDPR                          July 1993
  173.  
  174.  
  175.    - Setting up paths across the Internet, using the policy routes
  176.      generated.
  177.  
  178.    - Forwarding messages across and between administrative domains along
  179.      the established paths.  IDPR uses source-specified message
  180.      forwarding, giving each source domain complete control over the
  181.      paths traversed by its hosts' inter-domain traffic.
  182.  
  183.    - Maintaining databases of routing information, inter-domain policy
  184.      routes, forwarding information, and configuration information.
  185.  
  186. 3.3  Entities
  187.  
  188.    Several different entities are responsible for performing the IDPR
  189.    functions:
  190.  
  191.    - "Policy gateways", the only IDPR-recognized connecting points
  192.      between adjacent domains, collect and distribute routing
  193.      information, participate in path setup, maintain forwarding
  194.      information databases, and forward data messages along established
  195.      paths.
  196.  
  197.    - "Path agents", resident within policy gateways, act on behalf of
  198.      hosts to select policy routes, to set up and manage paths, and to
  199.      maintain forwarding information databases.  Any Internet host can
  200.      reap the benefits of IDPR, as long as there exists a path agent
  201.      willing to act on its behalf and a means by which the host's
  202.      messages can reach that path agent.
  203.  
  204.    - Special-purpose servers maintain all other IDPR databases as
  205.      follows:
  206.  
  207.       o  Each "route server" is responsible for both its database of
  208.          routing information, including domain connectivity and transit
  209.          policy information, and its database of policy routes.  Also,
  210.          each route server generates policy routes on behalf of its
  211.          domain, using entries from its routing information database
  212.          and using source policy information supplied through
  213.          configuration or obtained directly from the path agents.  A
  214.          route server may reside within a policy gateway, or it may
  215.          exist as an autonomous entity.  Separating the route server
  216.          functions from the policy gateways frees the policy gateways
  217.          from both the memory intensive task of routing information
  218.          database and route database maintenance and the
  219.          computationally intensive task of route generation.
  220.  
  221.       o  Each "mapping server" is responsible for its database of
  222.          mappings that resolve Internet names and addresses to
  223.  
  224.  
  225.  
  226. Steenstrup                                                      [Page 4]
  227.  
  228. RFC 1477                         IDPR                          July 1993
  229.  
  230.  
  231.          administrative domains.  The mapping server function can be
  232.          easily integrated into an existing name service such as the
  233.          DNS.
  234.  
  235.       o  Each "configuration server" is responsible for its database of
  236.          configured information that applies to policy gateways, path
  237.          agents, and route servers in the given administrative domain.
  238.          Configuration information for a given domain includes source
  239.          and transit policies and mappings between local IDPR entities
  240.          and their addresses.  The configuration server function can be
  241.          easily integrated into a domain's existing network management
  242.          system.
  243.  
  244. 3.4  Message Handling
  245.  
  246.    There are two kinds of IDPR messages:
  247.  
  248.    - "Data messages" containing user data generated by hosts.
  249.  
  250.    - "Control messages" containing IDPR protocol-related control
  251.      information generated by policy gateways and route servers.
  252.  
  253.    Within the Internet, only policy gateways and route servers must be
  254.    able to generate, recognize, and process IDPR messages.  Mapping
  255.    servers and configuration servers perform necessary but ancillary
  256.    functions for IDPR, and they are not required to execute IDPR
  257.    protocols.  The existence of IDPR is invisible to all other gateways
  258.    and hosts.  Using encapsulation across each domain, an IDPR message
  259.    tunnels from source to destination across the Internet through
  260.    domains that may employ disparate intra-domain addressing schemes and
  261.    routing procedures.
  262.  
  263. 4.  Security
  264.  
  265.    IDPR contains mechanisms for verifying message integrity and source
  266.    authenticity and for protecting against certain types of denial of
  267.    service attacks.  It is particularly important to keep IDPR control
  268.    messages intact, because they carry control information critical to
  269.    the construction and use of viable policy routes between domains.
  270.  
  271. 4.1  Integrity and Authenticity
  272.  
  273.    All IDPR messages carry a single piece of information, referred to in
  274.    the IDPR documentation as the "integrity/authentication value", which
  275.    may be used not only to detect message corruption but also to verify
  276.    the authenticity of the message's source IDPR entity.  The Internet
  277.    Assigned Numbers Authority (IANA) specifies the set of valid
  278.    algorithms which may be used to compute the integrity/authentication
  279.  
  280.  
  281.  
  282. Steenstrup                                                      [Page 5]
  283.  
  284. RFC 1477                         IDPR                          July 1993
  285.  
  286.  
  287.    values.  This set may include algorithms that perform only message
  288.    integrity checks such as n-bit cyclic redundancy checksums (CRCs), as
  289.    well as algorithms that perform both message integrity and source
  290.    authentication checks such as signed hash functions of message
  291.    contents.
  292.  
  293.    Each domain administrator is free to select any
  294.    integrity/authentication algorithm, from the set specified by the
  295.    IANA, for computing the integrity/authentication values contained in
  296.    its domain's messages.  However, we recommend that IDPR entities in
  297.    each domain be capable of executing all of the valid algorithms so
  298.    that an IDPR message originating at an entity in one domain can be
  299.    properly checked by an entity in another domain.
  300.  
  301.    IDPR control messages must carry a non-null integrity/authentication
  302.    value.  We recommend that control message integrity/authentication be
  303.    based on a digital signature algorithm applied to a one-way hash
  304.    function, such as RSA applied to MD5, which simultaneously verifies
  305.    message integrity and source authenticity.  The digital signature may
  306.    be based on either public key or private key cryptography.  However,
  307.    we do not require that IDPR data messages carry a non-null
  308.    integrity/authentication value.  In fact, we recommend that a higher
  309.    layer (end-to-end) procedure assume responsibility for checking the
  310.    integrity and authenticity of data messages, because of the amount of
  311.    computation involved.
  312.  
  313. 4.2  Timestamps
  314.  
  315.    Each IDPR message carries a timestamp (expressed in seconds elapsed
  316.    since 1 January 1970 0:00 GMT) supplied by the source IDPR entity,
  317.    which serves to indicate the age of the message.  IDPR entities use
  318.    the absolute value of a timestamp to confirm that the message is
  319.    current and use the relative difference between timestamps to
  320.    determine which message contains the most recent information.  All
  321.    IDPR entities must possess internal clocks that are synchronized to
  322.    some degree, in order for the absolute value of a message timestamp
  323.    to be meaningful.  The synchronization granularity required by IDPR
  324.    is on the order of minutes and can be achieved manually.
  325.  
  326.    Each IDPR recipient of an IDPR control message must check that the
  327.    message's timestamp is in the acceptable range.  A message whose
  328.    timestamp lies outside of the acceptable range may contain stale or
  329.    corrupted information or may have been issued by a source whose clock
  330.    has lost synchronization with the message recipient.  Such messages
  331.    must therefore be discarded, to prevent propagation of incorrect IDPR
  332.    control information.  We do not require IDPR entities to perform a
  333.    timestamp acceptability test for IDPR data messages, but instead
  334.    leave the choice to the individual domain administrators.
  335.  
  336.  
  337.  
  338. Steenstrup                                                      [Page 6]
  339.  
  340. RFC 1477                         IDPR                          July 1993
  341.  
  342.  
  343. 5.  Size Considerations
  344.  
  345.    IDPR provides policy routing among administrative domains and has
  346.    been designed to accommodate an Internet containing tens of thousands
  347.    of domains, supporting diverse source and transit policies.
  348.  
  349.    In order to construct policy routes, route servers require routing
  350.    information at the domain level only; no intra-domain details need be
  351.    included in IDPR routing information.  Thus, the size of the routing
  352.    information database maintained by a route server depends on the
  353.    number of domains and transit policies and not on the number hosts,
  354.    gateways, or networks in the Internet.
  355.  
  356.    We expect that, within a domain, a pair of IDPR entities will
  357.    normally be connected such that when the primary intra-domain route
  358.    fails, the intra-domain routing procedure will be able to use an
  359.    alternate route.  In this case, a temporary intra-domain failure is
  360.    invisible at the inter-domain level.  Thus, we expect that most
  361.    intra-domain routing changes will be unlikely to force inter-domain
  362.    routing changes.
  363.  
  364.    Policy gateways distribute routing information when detectable
  365.    inter-domain changes occur but may also elect to distribute routing
  366.    information periodically as a backup.  Thus, policy gateways do not
  367.    often need to generate and distribute routing information messages,
  368.    and the frequency of distribution of these messages depends only
  369.    weakly on intra-domain routing changes.
  370.  
  371.    IDPR entities rely on intra-domain routing procedures operating
  372.    within domains to transport inter-domain messages across domains.
  373.    Hence, IDPR messages must appear well-formed according to the intra-
  374.    domain routing procedures and addressing schemes in each domain
  375.    traversed; this requires appropriate header encapsulation of IDPR
  376.    messages at domain boundaries.  Only policy gateways and route
  377.    servers must be capable of handling IDPR-specific messages; other
  378.    gateways and hosts simply treat the encapsulated IDPR messages like
  379.    any other.  Thus, for the Internet to support IDPR, only a small
  380.    proportion of Internet entities require special IDPR software.
  381.  
  382.    With domain-level routes, many different traffic flows may use not
  383.    only the same policy route but also the same path, as long their
  384.    source domains, destination domains, and requested services are
  385.    identical.  Thus, the size of the forwarding information database
  386.    maintained by a policy gateway depends on the number of domains and
  387.    source policies and not on the number of hosts in the Internet.
  388.    Moreover, memory associated with failed, expired, or disused paths
  389.    can be reclaimed for new paths, and thus forwarding information for
  390.    many paths can be accommodated.
  391.  
  392.  
  393.  
  394. Steenstrup                                                      [Page 7]
  395.  
  396. RFC 1477                         IDPR                          July 1993
  397.  
  398.  
  399. 6.  Interactions with Other Inter-Domain Routing Procedures
  400.  
  401.    We believe that many Internet domains will benefit from the
  402.    introduction of IDPR.  However, the decision to support IDPR in a
  403.    given domain is an individual one, left to the domain administrator;
  404.    not all domains must support IDPR.
  405.  
  406.    Within a domain that supports IDPR, other inter-domain routing
  407.    procedures, such as BGP and EGP, can comfortably coexist.  Each
  408.    inter-domain routing procedure is independent of the others.  The
  409.    domain administrator determines the relationship among the inter-
  410.    domain routing procedures by deciding which of its traffic flows
  411.    should use which inter-domain routing procedures and by configuring
  412.    this information for use by the policy gateways.
  413.  
  414.    Hosts in stub domains may have strict service requirements and hence
  415.    will benefit from the policy routing provided by IDPR.  However, the
  416.    stub domain itself need not support IDPR in order for its traffic
  417.    flows to use IDPR routes.  Instead, a "proxy domain" may perform IDPR
  418.    functions on behalf of the stub.  The proxy domain must be reachable
  419.    from the stub domain according to an inter-domain routing procedure
  420.    independent of IDPR.  Administrators of the stub and potential proxy
  421.    domains mutually negotiate the relationship.  Once an agreement is
  422.    reached, the administrator of the stub domain should provide the
  423.    proxy domain with its hosts' service requirements.
  424.  
  425.    IDPR policy routes must traverse a contiguous set of IDPR domains.
  426.    Hence, the degree of IDPR deployment in transit domains will
  427.    determine the availability of IDPR policy routes for Internet users.
  428.    For a given traffic flow, if there exists no contiguous set of IDPR
  429.    domains between the source and destination, the traffic flow relies
  430.    on an alternate inter-domain routing procedure to provide a route.
  431.    However, if there does exist a contiguous set of IDPR domains between
  432.    the source and destination, the traffic flow may take advantage of
  433.    policy routes provided by IDPR.
  434.  
  435. 7.  Implementation Experience
  436.  
  437.    To date, there exist two implementations of IDPR: one an independent
  438.    prototype and the other an integral part of the gated UNIX process.
  439.    We describe each of these implementations and our experience with
  440.    them in the following sections.
  441.  
  442. 7.1  The Prototype
  443.  
  444.    During the summer of 1990, the IDPR development group consisting of
  445.    participants from USC, SAIC, and BBN began work on a UNIX-based
  446.    software prototype of IDPR, designed for implementation in Sun
  447.  
  448.  
  449.  
  450. Steenstrup                                                      [Page 8]
  451.  
  452. RFC 1477                         IDPR                          July 1993
  453.  
  454.  
  455.    workstations.  This prototype consisted of multiple user-level
  456.    processes to provide the basic IDPR functions together with kernel
  457.    modifications to speed up IDPR data message forwarding.
  458.  
  459.    Most, but not all, of the IDPR functionality was captured in the
  460.    prototype.  In the interests of producing working software as quickly
  461.    as possible, we intentionally left out of the IDPR prototype support
  462.    for source policies and for multiple policy gateways connecting two
  463.    domains.  This simplified configuration and route generation without
  464.    compromising the basic functionality of IDPR.
  465.  
  466.    The IDPR prototype software was extensively instrumented to provide
  467.    detailed information for monitoring its behavior.  The
  468.    instrumentation allowed us to detect events including but not limited
  469.    to:
  470.  
  471.    - Change in policy gateway connectivity to adjacent domains.
  472.  
  473.    - Change in transit policies configured for a domain.
  474.  
  475.    - Transmission and reception of link state routing information.
  476.  
  477.    - Generation of policy routes, providing a description of the actual
  478.      route.
  479.  
  480.    - Transmission and reception of path control information.
  481.  
  482.    - Change of path state, such as path setup or teardown.
  483.  
  484.    With the extensive behavioral information available, we were able to
  485.    track most events occurring in our test networks and hence determine
  486.    whether the prototype software provided the expected functionality.
  487.  
  488. 7.1.1  Test Networks
  489.  
  490.    In February 1991, the IDPR development group began experimenting with
  491.    the completed IDPR prototype software.  Each IDPR development site
  492.    had its own testing environment, consisting of a set of
  493.    interconnected Sun workstations, each workstation performing the
  494.    functions of a policy gateway and route server:
  495.  
  496.    - USC used a laboratory test network consisting of SPARC1+
  497.      workstations, each pair of workstations connected by an Ethernet
  498.      segment.  The topology of the test network could be arbitrarily
  499.      configured.
  500.  
  501.    - SAIC used Sun3 workstations in networks at Sparta and at MITRE.
  502.      These two sites were connected through Alternet using a 9.6kb SLIP
  503.  
  504.  
  505.  
  506. Steenstrup                                                      [Page 9]
  507.  
  508. RFC 1477                         IDPR                          July 1993
  509.  
  510.  
  511.      link and through an X.25 path across the DCA EDN testbed.
  512.  
  513.    - BBN used SPARC1+ workstations at BBN and ISI connected over both
  514.      DARTnet and TWBnet.
  515.  
  516. 7.1.2  Experiments
  517.  
  518.    The principal goal of our experiments with the IDPR prototype
  519.    software was to provide a proof of concept.  In particular, we set
  520.    out to verify tha t the IDPR prototype software was able to:
  521.  
  522.    - Monitor connectivity across and between domains.
  523.  
  524.    - Update routing information when inter-domain connectivity changed
  525.      or when new transit policies were configured.
  526.  
  527.    - Distribute routing information to all domains.
  528.  
  529.    - Generate acceptable policy routes based on current link state
  530.      routing information.
  531.  
  532.    - Set up and maintain paths for these policy routes.
  533.  
  534.    - Tear down paths that contained failed components, supported stale
  535.      policies, or attained their maximum age.
  536.  
  537.    Furthermore, we wanted to verify that the IDPR prototype software
  538.    quickly detected and adapted to those events that directly affected
  539.    policy routes.
  540.  
  541.    The internetwork topology on which we based most of our experiments
  542.    consisted of four distinct administrative domains connected in a
  543.    ring.  Two of the four domains served as host traffic source and
  544.    destination, AD S and AD D respectively, while the two intervening
  545.    domains provided transit service for the host traffic, AD T1 and AD
  546.    T2.  AD S and AD D each contained a single policy gateway that
  547.    connected to two other policy gateways, one in each transit domain.
  548.    AD T1 and AD T2 each contained at most two policy gateways, each
  549.    policy gateway connected to the other and to a policy gateway in the
  550.    source or destination domain.  This internetwork topology provided
  551.    two distinct inter-domain routes between AD S and AD D, allowing us
  552.    to experiment with various component failure and transit policy
  553.    reconfiguration scenarios in the transit domains.
  554.  
  555.    For the first set of experiments, we configured transit policies for
  556.    AD T1 and AD T2 that were devoid of access restrictions.  We then
  557.    initialized each policy gateway in our internetwork, loading in the
  558.    domain-specific configurations and starting up the IDPR processes.
  559.  
  560.  
  561.  
  562. Steenstrup                                                     [Page 10]
  563.  
  564. RFC 1477                         IDPR                          July 1993
  565.  
  566.  
  567.    In our experiments, we did not use mapping servers; instead, we
  568.    configured address/domain mapping tables in each policy gateway.
  569.  
  570.    After policy gateway initialization, we observed that each policy
  571.    gateway immediately determined the connectivity to policy gateways in
  572.    its own domain and in the adjacent domains.  The representative
  573.    policy gateway in each domain then generated a routing information
  574.    message that was received by all other policy gateways in the
  575.    internetwork.
  576.  
  577.    To test the route generation and path setup functionality of the IDPR
  578.    prototype software, we began a telnet session between a host in AD S
  579.    and a host in AD D.  We observed that the telnet traffic prompted the
  580.    path agent resident in the policy gateway in AD S to request a policy
  581.    route from its route server.  The route server then generated a
  582.    policy route and returned it to the path agent.  Using the policy
  583.    route supplied by the route server, the path agent initiated path
  584.    setup, and the telnet session was established immediately.
  585.  
  586.    Having confirmed that the prototype software satisfactorily performed
  587.    the basic IDPR functions, we proceeded to test the software under
  588.    changing network conditions.  The first of these tests showed that
  589.    the IDPR prototype software was able to deal successfully with a
  590.    component failure along a path.  To simulate a path component
  591.    failure, we terminated the IDPR processes on a policy gateway in the
  592.    transit domain, AD T1, traversed by the current path.  The policy
  593.    gateways on either side of the failed policy gateway immediately
  594.    detected the failure.  Next, these two policy gateways, representing
  595.    two different domains, each issued a routing information message
  596.    indicating the connectivity change and each initiated path teardown
  597.    for its remaining path section.
  598.  
  599.    Once the path was torn down, the path agent agent in AD S requested a
  600.    new route from its route server, to carry the existing telnet
  601.    traffic.  The route server, having received the new routing
  602.    information messages, proceeded to generate a policy route through
  603.    the other transit domain, AD T2.  Then, the path agent in AD S set up
  604.    a path for the new route supplied by the route server.  Throughout
  605.    the component failure and traffic rerouting, the telnet session
  606.    remained intact.
  607.  
  608.    At this point, we restored the failed policy gateway in AD T1 to the
  609.    functional state, by restarting its IDPR processes.  The restored
  610.    policy gateway connectivity prompted the generation and distribution
  611.    of routing information messages indicating the change in domain
  612.    connectivity.
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Steenstrup                                                     [Page 11]
  619.  
  620. RFC 1477                         IDPR                          July 1993
  621.  
  622.  
  623.    Having returned the internetwork topology to its initial
  624.    configuration, we proceeded to test that the IDPR prototype software
  625.    was able to deal successfully with transit policy reconfiguration.
  626.    The current policy route carrying the telnet traffic traversed AD T2.
  627.    We then reconfigured the transit policy for AD T2 to preclude access
  628.    of traffic travelling from AD S to AD D.  The transit policy
  629.    reconfiguration prompted both the distribution of routing information
  630.    advertising the new transit policy for AD T2 and the initiation of
  631.    path teardown.
  632.  
  633.    Once the path was torn down, the path agent in AD S requested a new
  634.    route from its route server, to carry the existing telnet traffic.
  635.    The route server, having received the new routing information
  636.    message, proceeded to generate a policy route through the original
  637.    transit domain, AD T1.  Then, the path agent in AD S set up a path
  638.    for the new route supplied by the route server.  Throughout the
  639.    policy reconfiguration and rerouting, the telnet session remained
  640.    intact.
  641.  
  642.    This set of experiments, although simple, tested all of the major
  643.    functionality of the IDPR prototype software and demonstrated that
  644.    the prototype software could quickly and accurately adapt to changes
  645.    in the internetwork.
  646.  
  647. 7.1.3  Performance Analysis
  648.  
  649.    We (USC and SAIC members of the IDPR development group) evaluated the
  650.    performance of the path setup and message forwarding portions of the
  651.    IDPR prototype software.  For path setup, we measured the amount of
  652.    processing required at the source path agent and at intermediate
  653.    policy gateways during path setup.  For message forwarding, we
  654.    compared the processing required at each policy gateway when using
  655.    IDPR forwarding with IP encapsulation and when using only IP
  656.    forwarding.  We also compared the processing required when no
  657.    integrity/authentication value was calculated for the message and
  658.    when the RSA/MD4 algorithms were employed.
  659.  
  660.    Our performance measurements were encouraging, but we have not listed
  661.    them here.  We emphasize that although we tried to produce efficient
  662.    software for the IDPR prototype, we were not able to devote much
  663.    effort to optimizing this software.  Hence, the performance
  664.    measurements for the IDPR prototype software should not be blindly
  665.    extrapolated to other implementations of IDPR.  To obtain a copy of
  666.    the performance measurements for path setup and message forwarding in
  667.    the IDPR prototype software, contact Robert Woodburn
  668.    (woody@sparta.com) and Deborah Estrin (estrin@usc.edu).
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Steenstrup                                                     [Page 12]
  675.  
  676. RFC 1477                         IDPR                          July 1993
  677.  
  678.  
  679. 7.2  The Gated Version
  680.  
  681.    In 1992, SRI joined the IDPR development group, and together SRI,
  682.    SAIC, and BBN completed the task of integrating IDPR into the gated
  683.    UNIX process.  As a result, IDPR is now available as part of gated.
  684.    The gated version of IDPR contains the full functionality of IDPR
  685.    together with a simple yet versatile user interface for IDPR
  686.    configuration.  As a single process, the gated version of IDPR
  687.    performs more efficiently than the multiple-process prototype
  688.    version.
  689.  
  690.    The gated version of IDPR is freely available to the Internet
  691.    community.  Hence, anyone with a UNIX-based machine can experiment
  692.    with IDPR, without investing any money or implementation effort.  By
  693.    making IDPR widely accessible, we can gain Internet experience by
  694.    introducing IDPR into operational networks with real usage
  695.    constraints and transporting host traffic with real service
  696.    requirements.  Currently, a pilot deployment and demonstration of
  697.    IDPR is under way in selected locations in the Internet.
  698.  
  699. 8.  Security Considerations
  700.  
  701.    Refer to section 4 for details on security in IDPR.
  702.  
  703. 9.  Author's Address
  704.  
  705.    Martha Steenstrup
  706.    BBN Systems and Technologies
  707.    10 Moulton Street
  708.    Cambridge, MA 02138
  709.  
  710.    Phone: (617) 873-3192
  711.    Email: msteenst@bbn.com
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Steenstrup                                                     [Page 13]
  731.  
  732.