home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 900s / rfc975.txt < prev    next >
Text File  |  1986-02-12  |  27KB  |  571 lines

  1.  
  2.  
  3. Network Working Group                                        D. L. Mills
  4. Request for Comments: 975                               M/A-COM Linkabit
  5.                                                            February 1986
  6.  
  7.                        Autonomous Confederations
  8.  
  9.  
  10. Status of This Memo
  11.  
  12.    This RFC proposes certain enhancements of the Exterior Gateway
  13.    Protocol (EGP) to support a simple, multiple-level routing capability
  14.    while preserving the robustness features of the current EGP model.
  15.    It requests discussion and suggestions for improvements.
  16.    Distribution of this memo is unlimited.
  17.  
  18. Overview
  19.  
  20.    The enhancements, which do not require retrofits in existing
  21.    implementations in order to interoperate with enhanced
  22.    implementations, in effect generalize the concept of core system to
  23.    include multiple communities of autonomous systems, called autonomous
  24.    confederations. Autonomous confederations maintain a higher degree of
  25.    mutual trust than that assumed between autonomous systems in general,
  26.    including reasonable protection against routing loops between the
  27.    member systems, but allow the routing restrictions of the current EGP
  28.    model to be relaxed.
  29.  
  30.    The enhancements involve the "hop count" or distance field of the EGP
  31.    Update message, the interpretation of which is not covered by the
  32.    current EGP model.  This field is given a special interpretation
  33.    within each autonomous confederation to support up to three levels of
  34.    routing, one within the autonomous system, a second within the
  35.    autonomous confederation and an optional third within the universe of
  36.    confederations.
  37.  
  38. 1.  Introduction and Background
  39.  
  40.    The historical development of Internet exterior-gateway routing
  41.    algorithms began with a rather rigid and restricted topological model
  42.    which emphasized robustness and stability at the expense of routing
  43.    dynamics and flexibility.  Evolution of robust and dynamic routing
  44.    algorithms has since proved extraordinarily difficult, probably due
  45.    more to varying perceptions of service requirements than to
  46.    engineering problems.
  47.  
  48.    The original exterior-gateway model suggested in RFC-827 [1] and
  49.    subsequently refined in RFC-888 [2] severely restricted the Internet
  50.    topology essentially to a tree structure with root represented by the
  51.    BBN-developed "core" gateway system.  The most important
  52.    characteristic of the model was that debilitating resource-consuming
  53.    routing loops between clusters of gateways (called autonomous
  54.  
  55.  
  56. Mills                                                           [Page 1]
  57.  
  58.  
  59.  
  60. RFC 975                                                    February 1986
  61. Autonomous Confederations
  62.  
  63.  
  64.    systems) could not occur in a tree-structured topology.  However, the
  65.    administrative and enforcement difficulties involved, not to mention
  66.    the performance liabilities, made widespread implementation
  67.    impractical.
  68.  
  69.    1.1.  The Exterior Gateway Protocol
  70.  
  71.       Requirements for near-term interoperability between the BBN core
  72.       gateways and the remainder of the gateway population implemented
  73.       by other organizations required that an interim protocol be
  74.       developed with the capability of exchanging reachability
  75.       information, but not necessarily the capability to function as a
  76.       true routing algorithm. This protocol is called the Exterior
  77.       Gateway Protocol (EGP) and is documented in RFC-904 [3].
  78.  
  79.       EGP was not designed as a routing algorithm, since no agreement
  80.       could be reached on a trusted, common metric.  However, EGP was
  81.       designed to provide high-quality reachability information, both
  82.       about neighbor gateways and about routes to non-neighbor gateways.
  83.       At the present state of development, dynamic routes are computed
  84.       only by the core system and provided to non-core gateways using
  85.       EGP only as an interface mechanism.  Non-core gateways can provide
  86.       routes to the core system and even to other non-core gateways, but
  87.       cannot pass on "third-party" routes computed using data received
  88.       from other gateways.
  89.  
  90.       As operational experience with EGP has accumulated, it has become
  91.       clear that a more decentralized dynamic routing capability is
  92.       needed in order to avoid resource-consuming suboptimal routes.  In
  93.       addition, there has long been resistance to the a-priori
  94.       assumption of a single core system, with implications of
  95.       suboptimal performance, administrative problems, impossible
  96.       enforcement and possible subversion.  Whether or not this
  97.       resistance is real or justified, the important technical question
  98.       remains whether a more dynamic, distributed approach is possible
  99.       without significantly diluting stability and robustness.
  100.  
  101.       This document proposes certain enhancements of EGP which
  102.       generalize the concept of core system to include multiple
  103.       communities of autonomous systems, called autonomous
  104.       confederations.  Autonomous confederations maintain a higher
  105.       degree of mutual trust than that assumed between autonomous
  106.       systems in general, including reasonable protection against
  107.       routing loops between the member systems.  The enhancements
  108.       involve the "hop count" or distance field of the EGP Update
  109.  
  110.  
  111.  
  112.  
  113. Mills                                                           [Page 2]
  114.  
  115.  
  116.  
  117. RFC 975                                                    February 1986
  118. Autonomous Confederations
  119.  
  120.  
  121.       message, which is given a special interpretation as described
  122.       later.  Note that the interpretation of this field is not
  123.       specified in RFC-904, but is left as a matter for further study.
  124.  
  125.       The interpretation of the distance field involves three levels of
  126.       metrics, in which the lowest level is available to the interior
  127.       gateway protocol (IGP) of the autonomous system itself to extend
  128.       the interior routes to the autonomous system boundary.  The next
  129.       higher level selects preferred routes within the autonomous system
  130.       to those outside, while the third and highest selects preferred
  131.       routes within the autonomous confederation to those outside.
  132.  
  133.       The proposed model is believed compatible with the current
  134.       specifications and practices used in the Internet.  In fact, the
  135.       entire present conglomeration of autonomous systems, including the
  136.       core system, can be represented as a single autonomous
  137.       confederation, with new confederations being formed from existing
  138.       and new systems as necessary.
  139.  
  140.    1.2.  Routing Restrictions
  141.  
  142.       It was the intent in RFC-904 that the stipulated routing
  143.       restrictions superceded all previous documents, including RFC-827
  144.       and RFC-888.  The notion that a non-core gateway must not pass on
  145.       third-party information was suggested in planning meetings that
  146.       occured after the previous documents had been published and before
  147.       RFC-904 was finalized.  This effectively obsoletes prior notions
  148.       of "stub" or any other asymmetry other than the third-party rule.
  149.  
  150.       Thus, the only restrictions placed on a non-core gateway is that
  151.       in its EGP messages (a) a gateway can be listed only if it belongs
  152.       to the same autonomous system (internal neighbor) and (b) a net
  153.       can be listed only if it is reachable via gateways belonging to
  154.       that system.  There are no other restrictions, overt or implied.
  155.       The specification does not address the design of the core system
  156.       or its gateways.
  157.  
  158.       The restrictions imply that, to insure full connectivity, every
  159.       non-core gateway must run EGP with a core gateway.  Since the
  160.       present core-gateway implementation disallows other gateways on
  161.       EGP-neighbor paths, this further implies that every non-core
  162.       gateway must share a net in common with at least one core gateway.
  163.  
  164.       Note that there is no a-priori prohibition on using EGP as an IGP,
  165.       or even on using EGP with a gateway of another non-core system,
  166.  
  167.  
  168.  
  169.  
  170. Mills                                                           [Page 3]
  171.  
  172.  
  173.  
  174. RFC 975                                                    February 1986
  175. Autonomous Confederations
  176.  
  177.  
  178.       providing that the third-party rule is observed.  If a gateway in
  179.       each system ran EGP with a gateway in every other system, the
  180.       notion of core system would be unneccessary and superflous.
  181.  
  182.       At one time during the evolution of the EGP model a strict
  183.       hierarchical topology (tree structure) of autonomous systems was
  184.       required, but this is not the case now.  At one time it was
  185.       forbidden for two nets to be connected by gateways of two or more
  186.       systems, but this is not the case now.  Autonomous systems are
  187.       sets of gateways, not nets or hosts, so that a given net or host
  188.       can be reachable via more than one system;  however, every gateway
  189.       belongs to exactly one system.
  190.  
  191.    1.3.  Examples and Problems
  192.  
  193.       Consider the common case of two local-area nets A and B connected
  194.       to the ARPANET by gateways of different systems.  Now assume A and
  195.       B are connected to each other by a gateway A-B belonging to the
  196.       same system as the A-ARPANET gateway, which could then list itself
  197.       and both the A and B nets in EGP messages sent to any other
  198.       gateway, since both are now reachable in its system.  However, the
  199.       B-ARPANET gateway could list itself and only the B net, since the
  200.       A-B gateway is not in its system.
  201.  
  202.       In principle, we could assume the existence of a second gateway
  203.       B-A belonging to the same system as the B-ARPANET gateway, which
  204.       would entitle it to list the A net as well;  however, it may be
  205.       easier for both systems to sign a treaty and consider the A-B
  206.       gateway under joint administration.  The implementation of the
  207.       treaty may not be trivial, however, since the joint gateway must
  208.       appear to other gateways as two distinct gateways, each with its
  209.       own autonomous-system number.
  210.  
  211.       Another case occurs when for some reason or other a system has no
  212.       path to a core gateway other than via another non-core system.
  213.       Consider a third local-are net C, together with gateway C-A
  214.       belonging to a system other than the A-ARPANET and B-ARPANET
  215.       gateways.  According to the restrictions above, gateway C-A could
  216.       list net C in EGP messages sent to A-ARPANET, while A-ARPANET
  217.       could list ARPANET in messages sent to C-A, but not other nets
  218.       which it may learn about from the core.  Thus, gateway C-A cannot
  219.       acquire full routing information unless it runs EGP directly with
  220.       a core gateway.
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227. Mills                                                           [Page 4]
  228.  
  229.  
  230.  
  231. RFC 975                                                    February 1986
  232. Autonomous Confederations
  233.  
  234.  
  235. 2.  Autonomous Systems and Confederations
  236.  
  237.    The second example above illustrates the need for a mechanism in
  238.    which arbitrary routing information can be exchanged between non-core
  239.    gateways without degrading the degree of robustness relative to a
  240.    mutually agreed security model.  One way of doing this is is to
  241.    extend the existing single-core autonomous-system model to include
  242.    multiple core systems.  This requires both a topological model which
  243.    can be used to define the scope of these systems together with a
  244.    global, trusted metric that can be used to drive the routing
  245.    computations.  An appropriate topological model is described in the
  246.    next section, while an appropriate metric is suggested in the
  247.    following section.
  248.  
  249.    2.1.  Topological Models
  250.  
  251.       An "autonomous system" consists of a set of gateways, each of
  252.       which can reach any other gateway in the same system using paths
  253.       via gateways only in that system.  The gateways of a system
  254.       cooperatively maintain a routing data base using an interior
  255.       gateway protocol (IGP) and a intra-system trusted routing
  256.       mechanism of no further concern here.  The IGP is expected to
  257.       include security mechanisms to insure that only gateways of the
  258.       same system can acquire each other as neighbors.
  259.  
  260.       One or more gateways in an autonomous system can run EGP with one
  261.       or more gateways in a neighboring system.  There is no restriction
  262.       on the number or configuration of EGP neighbor paths, other than
  263.       the requirement that each path involve only gateways of one system
  264.       or the other and not intrude on a third system.  It is
  265.       specifically not required that EGP neighbors share a common
  266.       network, although most probably will.
  267.  
  268.       An "autonomous confederation" consists of a set of autonomous
  269.       systems sharing a common security model;  that is, they trust each
  270.       other to compute routes to other systems in the same
  271.       confederation.  Each gateway in a confederation can reach any
  272.       other gateway in the same confederation using paths only in that
  273.       confederation.  Although there is no restriction on the number or
  274.       configuration of EGP paths other than the above, it is expected
  275.       that some mechanism be available so that potential EGP neighbors
  276.       can discover whether they are in the same confederation.  This
  277.       could be done by access-control lists, for example, or by
  278.       partitioning the set of system numbers.
  279.  
  280.       A network is "directly reachable" from an autonomous system if a
  281.       gateway in that system has an interface to it.  Every gateway in
  282.  
  283.  
  284. Mills                                                           [Page 5]
  285.  
  286.  
  287.  
  288. RFC 975                                                    February 1986
  289. Autonomous Confederations
  290.  
  291.  
  292.       that system is entitled to list all directly reachable networks in
  293.       EGP messages sent to any other system.  In general, it may happen
  294.       that a particular network is directly reachable from more than one
  295.       system.
  296.  
  297.       A network is "reachable" from an autonomous system if it is
  298.       directly reachable from an autonomous system belonging to the same
  299.       confederation.  A directly reachable net is always reachable from
  300.       the same system.  Every gateway in that confederation is entitled
  301.       to list all reachable nets in EGP messages sent to any other
  302.       system.  It may happen that a particular net is either directly
  303.       reachable or reachable from different confederations.
  304.  
  305.       In order to preserve global routing stability in the Internet, it
  306.       is explicitly assumed that routes within an autonomous system to a
  307.       directly reachable net are always preferred over routes outside
  308.       that system and that routes within an autonomous confederation are
  309.       always preferred over routes outside that confederation.  The
  310.       mechanism by which this is assured is described in the next
  311.       section.
  312.  
  313.       In general, EGP Update messages can include two lists of gateways,
  314.       one for those gateways belonging to the same system (internal
  315.       neighbors) and the other for gateways belonging to different
  316.       systems (external neighbors).  Directly reachable nets must always
  317.       be associated with gateways of the same system, that is, with
  318.       internal neighbors, while non-directly reachable nets can be
  319.       associated with either internal or external neighbors.  Nets that
  320.       are reachable, but not directly reachable, must always be
  321.       associated with gateways of the same confederation.
  322.  
  323.    2.2.  Trusted Routing Metrics
  324.  
  325.       There seems to be a general principle which characterizes
  326.       distributed systems:  The "nearer" a thing is the more dynamic and
  327.       trustable it is, while the "farther" a thing is the more static
  328.       and suspicious it is.  For instance, the concept of network is
  329.       intrinsic to the Internet model, as is the concept of gateways
  330.       which bind them together.  A cluster of gateways "near" each other
  331.       (e.g.  within an autonomous system) typically exchange routing
  332.       information using a high-performance routing algorithm capable of
  333.       sensitive monitoring of, and rapid adaptation to, changing
  334.       performance indicators such as queueing delays and link loading.
  335.  
  336.       However, clusters of gateways "far" from each other (e.g.  widely
  337.       separated autonomous systems) usually need only coarse routing
  338.       information, possibly only "hints" on the best likely next hop to
  339.  
  340.  
  341. Mills                                                           [Page 6]
  342.  
  343.  
  344.  
  345. RFC 975                                                    February 1986
  346. Autonomous Confederations
  347.  
  348.  
  349.       the general destination area.  On the other hand, mutual suspicion
  350.       increases with distance, so these clusters may need elaborate
  351.       security considerations, including peer authentication,
  352.       confidentiality, secrecy and signature verification.  In addition,
  353.       considerations of efficiency usually dictate that the allowable
  354.       network bandidth consumed by the routing protocol itself decreases
  355.       with distance.  The price paid for both of these things typically
  356.       is in responsiveness, with the effect that the more distant
  357.       clusters are from each other, the less dynamic is the routing
  358.       algorithm.
  359.  
  360.       The above observations suggest a starting point for the evolution
  361.       of a globally acceptable routing metric.  Assume the metric is
  362.       represented by an integer, with low values representing finer
  363.       distinctions "nearer" the gateway and high values coarser
  364.       distinctions "farther" from it.  Values less than a globally
  365.       agreed constant X are associated with paths confined to the same
  366.       autonomous system as the sender, values greater than X but less
  367.       than another constant Y with paths confined to the autonomous
  368.       confederation of the sender and values greater than Y associated
  369.       with the remaining paths.
  370.  
  371.       At each of these three levels - autonomous system, autonomous
  372.       confederation and universe of confederations - multiple routing
  373.       algorithms could be operated simultaneously, with each producing
  374.       for each destination net a possibly different subtree and metric
  375.       in the ranges specified above.  However, within each system the
  376.       metric must have the same interpretation, so that other systems
  377.       can mitigate routes between multiple gateways in that system.
  378.       Likewise, within each confederation the metric must have the same
  379.       interpretation, so that other confederations can mitigate routes
  380.       to gateways in that confederation.  Although all confederations
  381.       must agree on a common universe-of-confederations algorithm, not
  382.       all confederations need to use the same confederation-level
  383.       algorithm and not all systems in the same confederation need to
  384.       use the same system-level algorithm.
  385.  
  386. 3.  Implementation Issues
  387.  
  388.    The manner in which the eight-bit "hop count" or distance field in
  389.    the EGP Update to be used is not specified in RFC-904, but left as a
  390.    matter for further study.  The above model provides both an
  391.    interpretation of this field, as well as hints on how to design
  392.    appropriate routing algorithms.
  393.  
  394.    For the sake of illustration, assume the values of X and Y above are
  395.    128 and 192 respectively.  This means that the gateways in a
  396.  
  397.  
  398. Mills                                                           [Page 7]
  399.  
  400.  
  401.  
  402. RFC 975                                                    February 1986
  403. Autonomous Confederations
  404.  
  405.  
  406.    particular system will assign distance values less than 128 for
  407.    directly-reachable nets and that exterior gateways can compare these
  408.    values freely in order to select among these gateways.  It also means
  409.    that the gateways in all systems of a particular confederation will
  410.    assign distance values between 128 and 192 for those nets not
  411.    directly reachable in the system but reachable in the confederation.
  412.    In the following it will be assumed that the various confederations
  413.    can be distinguished by some feature of the 16-bit system-number
  414.    field, perhaps by reserving a subfield.
  415.  
  416.    3.1.  Data-Base Management Functions
  417.  
  418.       The following implementation model may clarify the above issues,
  419.       as well as present at least one way to organize the gateway data
  420.       base.  The data base is organized as a routing table, the entries
  421.       of which include a net number together with a list of items, where
  422.       each item consists of (a) the gateway address, system number and
  423.       distance provided by an EGP neighbor, (b) a time-to-live counter,
  424.       local routing information and other information as necessary to
  425.       manage the data base.
  426.  
  427.       The routing table is updated each time an EGP Update message is
  428.       received from a neighbor and possibly by other means, such as the
  429.       system IGP.  The message is first decoded into a list of quads
  430.       consisting of a network number, gateway address, system number and
  431.       distance.  If the gateway address is internal to the neighbor
  432.       system, as determined from the EGP message, the system number of
  433.       the quad is set to that system; while, if not, the system number
  434.       is set to zero, indicating "external."
  435.  
  436.       Next, a new value of distance is computed from the old value
  437.       provided in the message and subject to the following constraints:
  438.       If the system number matches the local system number, the new
  439.       value is determined by the rules for the system IGP but must be
  440.       less than 128. If not and either the system number belongs to the
  441.       same confederation or the system number is zero and the old
  442.       distance is less than 192, the value is determined by the rules
  443.       for the confederation EGP, but must be at least 128 and less than
  444.       192.  Otherwise, the value is determined by the rules for the
  445.       (global) universe-of-federations EGP, but must be at least 192.
  446.  
  447.       For each quad in the list the routing table is first searched for
  448.       matching net number and a new entry made if not already there.
  449.       Next, the list of items for that net number is searched for
  450.       matching gateway address and system number and a new entry made if
  451.       not already there. Finally, the distance field is recomputed, the
  452.       time-to-live field reset and local routing information inserted.
  453.  
  454.  
  455. Mills                                                           [Page 8]
  456.  
  457.  
  458.  
  459. RFC 975                                                    February 1986
  460. Autonomous Confederations
  461.  
  462.  
  463.       The time-to-live fields of all items in each list are incremented
  464.       on a regular basis.  If a field exceeds a preset maximum, the item
  465.       is discarded;  while, if all items on a list are discarded, the
  466.       entire entry including net number is discarded.
  467.  
  468.       When a gateway sends an EGP Update message to a neighbor, it must
  469.       invert the data base in order by gateway address, rather than net
  470.       number.  As part of this process the routing table is scanned and
  471.       the gateway with minimum distance selected for each net number.
  472.       The resulting list is sorted by gateway address and partitioned on
  473.       the basis of internal/external system number.
  474.  
  475.    3.2.  Routing Functions
  476.  
  477.       A gateway encountering a datagram (service unit) searches the
  478.       routing table for matching destination net number and then selects
  479.       the gateway on that list with minimum distance.  As the result of
  480.       the value assignments above, it should be clear that routes at a
  481.       higher level will never be chosen if routes at a lower level
  482.       exist.  It should also be clear that route selection within a
  483.       system cannot affect route selection outside that system, except
  484.       through the intervention of the intra-confederation routing
  485.       algorithm.  If a simple min-system-hop algorithm is used for the
  486.       confederation EGP, the IGP of each system can influence it only to
  487.       the extent of reachability.
  488.  
  489.    3.3.  Compatibility Issues
  490.  
  491.       The proposed interpretation is backwards-compatibile with known
  492.       EGP implementations which do not interpret the distance field and
  493.       with several known EGP implementations that take private liberties
  494.       with this field.  Perhaps the simplest way to evolve the present
  495.       system is to collect the existing implementations that do not
  496.       interpet the distance field at all as a single confederation with
  497.       the present core system and routing restrictions.  All distances
  498.       provided by this confederation would be assumed equal to 192,
  499.       which would provide at least a rudimentary capability for routing
  500.       within the universe of confederations.
  501.  
  502.       One or more existing or proposed systems in which the distance
  503.       field has a uniform interpretation throughout the system can be
  504.       organized as autonomous confederations.  This might include the
  505.       Butterfly gateways now now being deployed, as well as clones
  506.       elsewhere. These systems provide the capability to select routes
  507.       into the system based on the distance fields for the different
  508.       gateways.  It is anticipated that the distance fields for the
  509.       Butterfly system can be set to at least 128 if the routing
  510.  
  511.  
  512. Mills                                                           [Page 9]
  513.  
  514.  
  515.  
  516. RFC 975                                                    February 1986
  517. Autonomous Confederations
  518.  
  519.  
  520.       information comes from another Butterfly system and to at least
  521.       192 if from a non-Butterfly system presumed outside the
  522.       confederation.
  523.  
  524.       New systems using an implmentation model such as suggested above
  525.       can select routes into a confederation based on the distance
  526.       field.  For this to work properly, however, it is necessary that
  527.       all systems and confederations adopt a consistent interpretation
  528.       of distance values exceeding 192.
  529.  
  530. 4.  Summary and Conclusions
  531.  
  532.    Taken at face value, this document represents a proposal for an
  533.    interpretation of the distance field of the EGP Update message, which
  534.    has previously been assigned no architected interpretation, but has
  535.    been often used informally.  The proposal amounts to ordering the
  536.    autonomous systems in a hierarchy of systems and confederations,
  537.    together with an interpretation of the distance field as a
  538.    three-level metric.  The result is to create a corresponding
  539.    three-level routing community, one prefering routes inside a system,
  540.    a second preferring routes inside a confederation and the third with
  541.    no preference.
  542.  
  543.    While the proposed three-level hierarchy can readily be extended to
  544.    any number of levels, this would create strain on the distance field,
  545.    which is limited to eight bits in the current EGP model.
  546.  
  547.    The concept of distance can easily be generalized to "administrative
  548.    distance" as suggested by John Nagle and others.
  549.  
  550. 5.  References
  551.  
  552.    [1]  Rosen, E., Exterior Gateway Protocol (EGP), DARPA Network
  553.         Working Group Report RFC-827, Bolt Beranek and Newman, September
  554.         1982.
  555.  
  556.    [2]  Seamonson, L.J., and E.C., Rosen.  "STUB" Exterior Gateway
  557.         Protocol, DARPA Network Working Group Report RFC-888, BBN
  558.         Communications, January 1984.
  559.  
  560.    [3]  Mills, D.L., Exterior Gateway Protocol Formal Specification,
  561.         DARPA Network Working Group Report RFC-904, M/A-COM Linkabit,
  562.         April 1984.
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569. Mills                                                          [Page 10]
  570.  
  571.