home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 1900s / rfc1965.txt < prev    next >
Text File  |  1996-06-09  |  14KB  |  396 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          P. Traina
  8. Request for Comments: 1965                                 cisco Systems
  9. Category: Experimental                                         June 1996
  10.  
  11.  
  12.                 Autonomous System Confederations for BGP
  13.  
  14. Status of this Memo
  15.  
  16.    This memo defines an Experimental Protocol for the Internet
  17.    community.  This memo does not specify an Internet standard of any
  18.    kind.  Discussion and suggestions for improvement are requested.
  19.    Distribution of this memo is unlimited.
  20.  
  21. Abstract
  22.  
  23.    Border Gateway Protocol [1] is an inter-autonomous system routing
  24.    protocol designed for TCP/IP networks.
  25.  
  26.    This document describes an extension to BGP which may be used to
  27.    create a confederation of autonomous systems which is represented as
  28.    one single autonomous system to BGP peers external to the
  29.    confederation.
  30.  
  31.    The intention of this extension is to aid in policy administration
  32.    and reduce the management complexity of maintaining a large
  33.    autonomous system.
  34.  
  35.    The extension this document describes is widely deployed in the
  36.    Internet today.
  37.  
  38. Introduction
  39.  
  40.    It may be useful to subdivide autonomous systems with a very large
  41.    number of BGP speakers into smaller domains for purposes of
  42.    controlling routing policy via information contained in the BGP
  43.    AS_PATH attribute.  For example, one may chose to consider all BGP
  44.    speakers in a geographic region as a single entity.
  45.  
  46.    In addition to improvements in routing policy control, current
  47.    techniques for deploying BGP among speakers in the same autonomous
  48.    system establish a full mesh of TCP connections among all speakers
  49.    for the purpose of exchanging exterior routing information.  In
  50.    autonomous systems the number of intra-domain connections that need
  51.    to be maintained by each border router can become significant.
  52.  
  53.    Subdividing a large autonomous system allows a significant reduction
  54.    in the total number of intra-domain BGP connections, as the
  55.  
  56.  
  57.  
  58. Traina                        Experimental                      [Page 1]
  59.  
  60. RFC 1965               AS Confederations for BGP               June 1996
  61.  
  62.  
  63.    connectivity requirements simplify to the model used for inter-domain
  64.    connections.
  65.  
  66.    Unfortunately subdividing an autonomous system may increase the
  67.    complexity of policy routing based on AS_PATH information for all
  68.    members of the Internet.  Additionally, this division increases the
  69.    maintenance overhead of coordinating external peering when the
  70.    internal topology of this collection of autonomous systems is
  71.    modified.
  72.  
  73.    Finally, dividing a large AS may unnecessarily increase the length of
  74.    the sequence portions of the AS_PATH attribute.  Several common BGP
  75.    implementations can use the number of "hops" required to reach a
  76.    given destination as part of the path selection criteria.  While this
  77.    is not an optimal method of determining route preference, given the
  78.    lack of other in-band information, it provides a reasonable default
  79.    behavior which is widely used across the Internet.  Therefore,
  80.    division of an autonomous system into separate systems may adversely
  81.    affect optimal routing of packets through the Internet.
  82.  
  83.    However, there is usually no need to expose the internal topology of
  84.    this divided autonomous system,  which means it is possible to regard
  85.    a collection of autonomous systems under a common administration as a
  86.    single entity or autonomous system when viewed from outside the
  87.    confines of the confederation of autonomous systems itself.
  88.  
  89. Terms and Definitions
  90.  
  91.    AS Confederation
  92.       A collection of autonomous systems advertised as a single AS
  93.       number to BGP speakers that are not members of the confederation.
  94.  
  95.    AS Confederation Identifier
  96.       An externally visible autonomous system number that identifies the
  97.       confederation as a whole.
  98.  
  99.    Member-AS
  100.       An autonomous system that is contained in a given AS
  101.       confederation.
  102.  
  103. Overview
  104.  
  105.    IDRP[2] has the concept of a routing domain confederation.  An IDRP
  106.    routing domain confederation appears to IDRP speakers external to the
  107.    confederation as a single administrative entity.  This extension is
  108.    based upon that work.
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Traina                        Experimental                      [Page 2]
  115.  
  116. RFC 1965               AS Confederations for BGP               June 1996
  117.  
  118.  
  119.    In IDRP, routing domain confederations may be nested within each
  120.    other or disjoint portions of still larger confederations.  The
  121.    algorithm BGP defines for additions to the AS_PATH attribute imposes
  122.    an additional restriction that AS confederations must be strictly
  123.    hierarchical in nature.
  124.  
  125. AS_CONFED segment type extension
  126.  
  127.    Currently, BGP specifies that the AS_PATH attribute is a well-known
  128.    mandatory attribute that is composed of a sequence of AS path
  129.    segments.  Each AS path segment is represented by a type/length/value
  130.    triple.
  131.  
  132.    In [1], the path segment type is a 1-octet long field with the two
  133.    following values defined:
  134.  
  135.              Value     Segment Type
  136.  
  137.              1         AS_SET: unordered set of ASs a route in the
  138.                               UPDATE message has traversed
  139.  
  140.              2         AS_SEQUENCE: ordered set of ASs a route in
  141.                               the UPDATE message has traversed
  142.  
  143.    This document reserves two additional segment types:
  144.  
  145.              3         AS_CONFED_SET: unordered set of ASs in the local
  146.                               confederation that the UPDATE message
  147.                               has traversed
  148.  
  149.              4         AS_CONFED_SEQUENCE: ordered set of ASs in the
  150.                               local confederation that the UPDATE
  151.                               message has traversed
  152.  
  153. Operation
  154.  
  155.    A member of a BGP confederation will use its confederation identifier
  156.    in all transactions with peers that are not members of its
  157.    confederation.  This confederation identifier is considered to be the
  158.    "externally visible" AS number and this number is used in OPEN
  159.    messages and advertised in the AS_PATH attribute.
  160.  
  161.    A member of a BGP confederation will use its routing domain
  162.    identifier (the internally visible AS number) in all transactions
  163.    with peers that are members of the same confederation as the given
  164.    router.
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Traina                        Experimental                      [Page 3]
  171.  
  172. RFC 1965               AS Confederations for BGP               June 1996
  173.  
  174.  
  175.    A BGP speaker receiving an AS_PATH attribute containing a
  176.    confederation ID matching its own confederation shall treat the path
  177.    in the same fashion as if it had received a path containing its own
  178.    AS number.
  179.  
  180. AS_PATH modification rules
  181.  
  182.    Section 5.1.2 of [1] is replaced with the following text.
  183.  
  184.    When a BGP speaker propagates a route which it has learned from
  185.    another BGP speaker's UPDATE message, it shall modify the route's
  186.    AS_PATH attribute based on the location of the BGP speaker to which
  187.    the route will be sent:
  188.  
  189.       a) When a given BGP speaker advertises the route to another BGP
  190.       speaker located in its own autonomous system, the advertising
  191.       speaker shall not modify the AS_PATH attribute associated with
  192.       the route.
  193.  
  194.       b) When a given BGP speaker advertises the route to a BGP
  195.       speaker located in a neighboring autonomous system that is a
  196.       member of the local autonomous system confederation, then the
  197.       advertising speaker shall update the AS_PATH attribute as
  198.       follows:
  199.  
  200.          1) if the first path segment of the AS_PATH is of type
  201.          AS_CONFED_SEQUENCE, the local system shall prepend its own AS
  202.          number as the last element of the sequence (put it in the
  203.          leftmost position).
  204.  
  205.          2) if the first path segment of the AS_PATH is not of type
  206.          AS_CONFED_SEQUENCE the local system shall prepend a new path
  207.          segment of type AS_CONFED_SEQUENCE to the AS_PATH, including
  208.          its own confederation identifier in that segment.
  209.  
  210.       c) When a given BGP speaker advertises the route to a BGP
  211.       speaker located in a neighboring autonomous system that is not a
  212.       member of the current routing domain confederation, then the
  213.       advertising speaker shall update the AS_PATH attribute as
  214.       follows:
  215.  
  216.          1) if the first path segment of the AS_PATH is of type
  217.          AS_CONFED_SEQUENCE, that segment and any immediately
  218.          following segments of the type AS_CONFED_SET are removed from
  219.          the AS_PATH attribute, leaving the sanitized AS_PATH
  220.          attribute to be operated on by steps 2, or 3.
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Traina                        Experimental                      [Page 4]
  227.  
  228. RFC 1965               AS Confederations for BGP               June 1996
  229.  
  230.  
  231.          2) if the first path segment of the remaining AS_PATH is of
  232.          type AS_SEQUENCE, the local system shall prepend its own
  233.          confederation identifier as the last element of the sequence
  234.          (put it in the leftmost position).
  235.  
  236.          3) if there are no path segments following the removal of the
  237.          first AS_CONFED_SET/AS_CONFED_SEQUENCE segments, or if the
  238.          first path segment of the remaining AS_PATH is of type AS_SET
  239.          the local system shall prepend a new path segment of type
  240.          AS_SEQUENCE to the AS_PATH, including its own confederation
  241.          identifier in that segment.
  242.  
  243.    When a BGP speaker originates a route:
  244.  
  245.       a) the originating speaker shall include an empty AS_PATH
  246.       attribute in all UPDATE messages sent to BGP speakers located in
  247.       its own autonomous system. (An empty AS_PATH attribute is one
  248.       whose length field contains the value zero).
  249.  
  250.       b) the originating speaker shall include its own AS number in an
  251.       AS_CONFED_SEQUENCE segment of the AS_PATH attribute of all
  252.       UPDATE messages sent to BGP speakers located in neighboring
  253.       autonomous systems that are members of the local confederation.
  254.       (In this case, the AS number of the originating speaker's member
  255.       autonomous system number will be the only entry in the AS_PATH
  256.       attribute).
  257.  
  258.       c) the originating speaker shall include its own confederation
  259.       identifier in a AS_SEQUENCE segment of the AS_PATH attribute of
  260.       all UPDATE messages sent to BGP speakers located in neighboring
  261.       autonomous systems that are not members of the local
  262.       confederation. (In this case, the confederation identifier of
  263.       the originating speaker's member confederation will be the only
  264.       entry in the AS_PATH attribute).
  265.  
  266. Common Administration Issues
  267.  
  268.    It is reasonable for member ASs of a confederation to share a common
  269.    administration and IGP information for the entire confederation.
  270.  
  271.    It shall be legal for a BGP speaker to advertise an unchanged
  272.    NEXT_HOP and MULTI_EXIT_DISCRIMINATOR attribute to peers in a
  273.    neighboring AS within the same confederation.  In addition, the
  274.    restriction against sending the LOCAL_PREFERENCE attribute to peers
  275.    in a neighboring AS within the same confederation is removed.  Path
  276.    selection criteria for information received from members inside a
  277.    confederation may follow the same rules used for information received
  278.    from members inside the same autonomous system.
  279.  
  280.  
  281.  
  282. Traina                        Experimental                      [Page 5]
  283.  
  284. RFC 1965               AS Confederations for BGP               June 1996
  285.  
  286.  
  287. Compatibility
  288.  
  289.    All BGP speakers participating in a confederation must recognize the
  290.    AS_CONFED_SET and AS_CONFED_SEQUENCE segment type extensions to the
  291.    AS_PATH attribute.
  292.  
  293.    Any BGP speaker not supporting these extensions will generate a
  294.    notification message specifying an "UPDATE Message Error" and a sub-
  295.    code of "Malformed AS_PATH".
  296.  
  297.    This compatibility issue implies that all BGP speakers participating
  298.    in a confederation must support BGP confederations,  however BGP
  299.    speakers outside the confederation need not support these extensions.
  300.  
  301. Compatibility Discussion
  302.  
  303.    We considered the use of a distinct, optional, transitive attribute
  304.    to carry AS confederation information as opposed to specifying new
  305.    types in the existing AS path attribute.  This would relax the
  306.    requirement that all BGP speakers participating in a confederation to
  307.    allow the use of legacy units provided they have no external (i.e.
  308.    neither inter-AS nor intra-confederation) connectivity.
  309.  
  310.    At the time of this writing, an implementation of this extension as
  311.    documented is widely deployed throughout the Internet,  therefore the
  312.    value of any change that is incompatible with this document must be
  313.    weighed against the benefit gained from a relaxation of this
  314.    restriction.
  315.  
  316. References
  317.  
  318.    [1] Rekhter, Y., and T. Li, "A Border Gateway Protocol 4 (BGP-4)",
  319.        RFC 1771, March 1995.
  320.  
  321.    [2] Kunzinger, C. Editor, "Inter-Domain Routing Protocol", ISO/IEC
  322.        10747, October 1993.
  323.  
  324. Security Considerations
  325.  
  326.    Security issues are not discussed in this memo.
  327.  
  328. Acknowledgments
  329.  
  330.    Ravi Chandra and Yakov Rekhter reviewed this document and provided
  331.    constructive and valuable comments.
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Traina                        Experimental                      [Page 6]
  339.  
  340. RFC 1965               AS Confederations for BGP               June 1996
  341.  
  342.  
  343. Author's Address
  344.  
  345.    Paul Traina
  346.    cisco Systems, Inc.
  347.    170 W. Tasman Dr.
  348.    San Jose, CA 95134
  349.  
  350.    EMail: pst@cisco.com
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Traina                        Experimental                      [Page 7]
  395.  
  396.