BGP Protocol Analysis
RFC 1265

Document Type RFC - Informational (October 1991; No errata)
Author Yakov Rekhter 
Last updated 2013-03-02
Stream IETF
Formats plain text html pdf htmlized bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 1265 (Informational)
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                 Y. Rekhter, Editor
Request for Comments: 1265        T.J. Watson Research Center, IBM Corp.
                                                            October 1991

                         BGP Protocol Analysis

1. Status of this Memo.

   This memo provides information for the Internet community. It does
   not specify an Internet standard. Distribution of this memo is

2. Introduction.

   The purpose of this report is to document how the requirements for
   advancing a routing protocol to Draft Standard have been satisfied by
   the Border Gateway Protocol (BGP). This report summarizes the key
   feature of BGP, and analyzes the protocol with respect to scaling and
   performance. This is the first of two reports on the BGP protocol.

   BGP is an inter-autonomous system routing protocol designed for the
   TCP/IP internets.  Version 1 of the BGP protocol was published in RFC
   1105. Since then BGP versions 2 and 3 have been developed.  Version 2
   was documented in RFC 1163. Version 3 is documented in [1]. The
   changes between versions 1, 2 and 3 are explained in Appendix 3 of

   Possible applications of BGP in the Internet are documented in [2].

   Please send comments to

3. Acknowledgements.

   The BGP protocol has been developed by the IWG/BGP Working Group of
   the Internet Engineering Task Force. We would like to express our
   deepest thanks to Guy Almes (Rice University) who was the previous
   chairman of the IWG Working Group.  We also like to explicitly thank
   Bob Braden (ISI) and Bob Hinden (BBN) for the review of this document
   as well as their constructive and valuable comments.

4. Key features and algorithms of the BGP protocol.

   This section summarizes the key features and algorithms of the BGP
   protocol. BGP is an inter-autonomous system routing protocol; it is
   designed to be used between multiple autonomous systems. BGP assumes
   that routing within an autonomous system is done by an intra-
   autonomous system routing protocol. BGP does not make any assumptions

BGP Working Group                                               [Page 1]
RFC 1265                 BGP Protocol Analysis              October 1991

   about intra-autonomous system routing protocols employed by the
   various autonomous systems.  Specifically, BGP does not require all
   autonomous systems to run the same intra-autonomous system routing

   BGP is a real inter-autonomous system routing protocol. It imposes no
   constraints on the underlying Internet topology. The information
   exchanged via BGP is sufficient to construct a graph of autonomous
   systems connectivity from which routing loops may be pruned and some
   routing policy decisions at the autonomous system level may be

   The key feature of the protocol is the notion of Path Attributes.
   This feature provides BGP with flexibility and expandability. Path
   attributes are partitioned into well-known and optional. The
   provision for optional attributes allows experimentation that may
   involve a group of BGP routers without affecting the rest of the
   Internet.  New optional attributes can be added to the protocol in
   much the same fashion as new options are added to the Telnet
   protocol, for instance.  One of the most important path attributes is
   the AS-PATH. As reachability information traverses the Internet, this
   information is augmented by the list of autonomous systems that have
   been traversed thusfar, forming the AS-PATH.  The AS-PATH allows
   straightforward suppression of the looping of routing information. In
   addition, the AS-PATH serves as a powerful and versatile mechanism
   for policy-based routing.

   BGP uses an algorithm that cannot be classified as either a pure
   distance vector, or a pure link state. Carrying a complete AS path in
   the AS-PATH attribute allows to reconstruct large portions of the
   overall topology. That makes it similar to the link state algorithms.
   Exchanging only the currently used routes between the peers makes it
   similar to the distance vector algorithms.

   To conserve bandwidth and processing power, BGP uses incremental
   updates, where after the initial exchange of complete routing
   information, a pair of BGP routers exchanges only changes (deltas) to
   that information. Technique of incremental updates requires reliable
   transport between a pair of BGP routers. To achieve this
   functionality BGP uses TCP as its transport.

   BGP is a self-contained protocol. That is, it specifies how routing
   information is exchanged both between BGP speakers in different
   autonomous systems, and between BGP speakers within a single
   autonomous system.

   To allow graceful coexistence with EGP, BGP provides support for
   carrying EGP derived exterior routes. BGP also allows to carry

BGP Working Group                                               [Page 2]
Show full document text