Network Working Group P. Traina, Editor
Request for Comments: 1774 cisco Systems
Category: Informational March 1995
BGP-4 Protocol Analysis
Status of this Memo
This memo provides information for the Internet community. This memo
does not specify an Internet standard of any kind. Distribution of
this memo is unlimited.
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 version 4 (BGP-4). This report summarizes
the key features of BGP, and analyzes the protocol with respect to
scaling and performance. This is the first of two reports on the BGP
BGP-4 is an inter-autonomous system routing protocol designed for
TCP/IP internets. Version 1 of the BGP protocol was published in RFC
1105. Since then BGP versions 2, 3, and 4 have been developed.
Version 2 was documented in RFC 1163. Version 3 is documented in
RFC1267. The changes between versions are explained in Appendix 2 of
Possible applications of BGP in the Internet are documented in .
Please send comments to firstname.lastname@example.org.
Key features and algorithms of the BGP-4 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
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
Traina [Page 1]RFC 1774 BGP-4 Protocol Analysis March 1995
routing policy decisions at the autonomous system level may be
The key features of the protocol are the notion of path attributes
and aggregation of network layer reachability information (NLRI).
Path attributes provide 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
thus far, 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
BGP-4 enhances the AS-PATH attribute to include sets of autonomous
systems as well as lists. This extended format allows generated
aggregate routes to carry path information from the more specific
routes used to generate the aggregate.
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.
In addition to incremental updates, BGP-4 has added the concept of
route aggregation so that information about groups of networks may
represented as a single entity.
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
Traina [Page 2]