summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1774.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc1774.txt')
-rw-r--r--doc/rfc/rfc1774.txt563
1 files changed, 563 insertions, 0 deletions
diff --git a/doc/rfc/rfc1774.txt b/doc/rfc/rfc1774.txt
new file mode 100644
index 0000000..8582bf5
--- /dev/null
+++ b/doc/rfc/rfc1774.txt
@@ -0,0 +1,563 @@
+
+
+
+
+
+
+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.
+
+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 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
+ protocol.
+
+ 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
+ [1].
+
+ Possible applications of BGP in the Internet are documented in [2].
+
+ Please send comments to iwg@ans.net.
+
+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
+ protocol.
+
+ 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
+ enforced.
+
+ 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
+ routing.
+
+ 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]
+
+RFC 1774 BGP-4 Protocol Analysis March 1995
+
+
+ autonomous system.
+
+ To allow graceful coexistence with EGP and OSPF, BGP provides support
+ for carrying both EGP and OSPF derived exterior routes BGP also
+ allows to carry statically defined exterior routes or routes derived
+ by other IGP information.
+
+BGP performance characteristics and scalability
+
+ In this section we'll try to answer the question of how much link
+ bandwidth, router memory and router CPU cycles does the BGP protocol
+ consume under normal conditions. We'll also address the scalability
+ of BGP, and look at some of its limits.
+
+ BGP does not require all the routers within an autonomous system to
+ participate in the BGP protocol. Only the border routers that provide
+ connectivity between the local autonomous system and its adjacent
+ autonomous systems participate in BGP. Constraining the set of
+ participants is just one way of addressing the scaling issue.
+
+Link bandwidth and CPU utilization
+
+ Immediately after the initial BGP connection setup, the peers
+ exchange complete set of routing information. If we denote the total
+ number of routes in the Internet by N, the mean AS distance of the
+ Internet by M (distance at the level of an autonomous system,
+ expressed in terms of the number of autonomous systems), the total
+ number of autonomous systems in the Internet by A, and assume that
+ the networks are uniformly distributed among the autonomous systems,
+ then the worst case amount of bandwidth consumed during the initial
+ exchange between a pair of BGP speakers is
+
+ MR = O(N + M * A)
+
+ The following table illustrates typical amount of bandwidth consumed
+ during the initial exchange between a pair of BGP speakers based on
+ the above assumptions (ignoring bandwidth consumed by the BGP
+ Header).
+
+ # NLRI Mean AS Distance # AS's Bandwidth
+ ---------- ---------------- ------ ---------
+ 10,000 15 300 49,000 bytes
+ 20,000 8 400 86,000 bytes *
+ 40,000 15 400 172,000 bytes
+ 100,000 20 3,000 520,000 bytes
+
+ * the actual "size" of the Internet at the the time of this
+ document's publication
+
+
+
+Traina [Page 3]
+
+RFC 1774 BGP-4 Protocol Analysis March 1995
+
+
+ Note that most of the bandwidth is consumed by the exchange of the
+ Network Layer Reachability Information (NLRI).
+
+ BGP-4 was created specifically to reduce the amount of NLRI entries
+ carried and exchanged by border routers. BGP-4, along with CIDR [4]
+ has introduced the concept of the "Supernet" which describes a
+ power-of-two aggregation of more than one class-based network.
+
+ Due to the advantages of advertising a few large aggregate blocks
+ instead of many smaller class-based individual networks, it is
+ difficult to estimate the actual reduction in bandwidth and
+ processing that BGP-4 has provided over BGP3. If we simply enumerate
+ all aggregate blocks into their individual class-based networks, we
+ would not take into account "dead" space that has been reserved for
+ future expansion. The best metric for determining the success of
+ BGP-4's aggregation is to sample the number NLRI entries in the
+ globally connected Internet today and compare it to projected growth
+ rates before BGP-4 was deployed.
+
+ In January of 1994, router carrying a full routing load for the
+ globally connected Internet had approximately 19,000 network entries
+ (this number is not exact due to local policy variations). The BGP
+ deployment working group estimated that the growth rate at that time
+ was over 1000 new networks per month and increasing. Since the
+ widespread deployment of BGP-4, the growth rate has dropped
+ significantly and a sample done at the end of November 1994 showed
+ approximately 21,000 entries present, as opposed to the expected
+ 30,000.
+
+ CPU cycles consumed by BGP depends only on the stability of the
+ Internet. If the Internet is stable, then the only link bandwidth and
+ router CPU cycles consumed by BGP are due to the exchange of the BGP
+ KEEPALIVE messages. The KEEPALIVE messages are exchanged only between
+ peers. The suggested frequency of the exchange is 30 seconds. The
+ KEEPALIVE messages are quite short (19 octets), and require virtually
+ no processing. Therefore, the bandwidth consumed by the KEEPALIVE
+ messages is about 5 bits/sec. Operational experience confirms that
+ the overhead (in terms of bandwidth and CPU) associated with the
+ KEEPALIVE messages should be viewed as negligible. If the Internet
+ is unstable, then only the changes to the reachability information
+ (that are caused by the instabilities) are passed between routers
+ (via the UPDATE messages). If we denote the number of routing changes
+ per second by C, then in the worst case the amount of bandwidth
+ consumed by the BGP can be expressed as O(C * M). The greatest
+ overhead per UPDATE message occurs when each UPDATE message contains
+ only a single network. It should be pointed out that in practice
+ routing changes exhibit strong locality with respect to the AS path.
+ That is routes that change are likely to have common AS path. In this
+
+
+
+Traina [Page 4]
+
+RFC 1774 BGP-4 Protocol Analysis March 1995
+
+
+ case multiple networks can be grouped into a single UPDATE message,
+ thus significantly reducing the amount of bandwidth required (see
+ also Appendix 6.1 of [1]).
+
+ Since in the steady state the link bandwidth and router CPU cycles
+ consumed by the BGP protocol are dependent only on the stability of
+ the Internet, but are completely independent on the number of
+ networks that compose the Internet, it follows that BGP should have
+ no scaling problems in the areas of link bandwidth and router CPU
+ utilization, as the Internet grows, provided that the overall
+ stability of the inter-AS connectivity (connectivity between ASs) of
+ the Internet can be controlled. Stability issue could be addressed by
+ introducing some form of dampening (e.g., hold downs). Due to the
+ nature of BGP, such dampening should be viewed as a local to an
+ autonomous system matter (see also Appendix 6.3 of [1]). It is
+ important to point out, that regardless of BGP, one should not
+ underestimate the significance of the stability in the Internet.
+
+ Growth of the Internet has made the stability issue one of the most
+ crucial ones. It is important to realize that BGP, by itself, does
+ not introduce any instabilities in the Internet. Current observations
+ in the NSFNET show that the instabilities are largely due to the
+ ill-behaved routing within the autonomous systems that compose the
+ Internet. Therefore, while providing BGP with mechanisms to address
+ the stability issue, we feel that the right way to handle the issue
+ is to address it at the root of the problem, and to come up with
+ intra-autonomous routing schemes that exhibit reasonable stability.
+
+ It also may be instructive to compare bandwidth and CPU requirements
+ of BGP with EGP. While with BGP the complete information is exchanged
+ only at the connection establishment time, with EGP the complete
+ information is exchanged periodically (usually every 3 minutes). Note
+ that both for BGP and for EGP the amount of information exchanged is
+ roughly on the order of the networks reachable via a peer that sends
+ the information (see also Section 5.2). Therefore, even if one
+ assumes extreme instabilities of BGP, its worst case behavior will be
+ the same as the steady state behavior of EGP.
+
+ Operational experience with BGP showed that the incremental updates
+ approach employed by BGP presents an enormous improvement both in the
+ area of bandwidth and in the CPU utilization, as compared with
+ complete periodic updates used by EGP (see also presentation by
+ Dennis Ferguson at the Twentieth IETF, March 11-15, 1991, St.Louis).
+
+
+
+
+
+
+
+
+Traina [Page 5]
+
+RFC 1774 BGP-4 Protocol Analysis March 1995
+
+
+Memory requirements
+
+ To quantify the worst case memory requirements for BGP, denote the
+ total number of networks in the Internet by N, the mean AS distance
+ of the Internet by M (distance at the level of an autonomous system,
+ expressed in terms of the number of autonomous systems), the total
+ number of autonomous systems in the Internet by A, and the total
+ number of BGP speakers that a system is peering with by K (note that
+ K will usually be dominated by the total number of the BGP speakers
+ within a single autonomous system). Then the worst case memory
+ requirements (MR) can be expressed as
+
+ MR = O((N + M * A) * K)
+
+ In the current NSFNET Backbone (N = 2110, A = 59, and M = 5) if each
+ network is stored as 4 octets, and each autonomous system is stored
+ as 2 octets then the overhead of storing the AS path information (in
+ addition to the full complement of exterior routes) is less than 7
+ percent of the total memory usage.
+
+ It is interesting to point out, that prior to the introduction of BGP
+ in the NSFNET Backbone, memory requirements on the NSFNET Backbone
+ routers running EGP were on the order of O(N * K). Therefore, the
+ extra overhead in memory incurred by the NSFNET routers after the
+ introduction of BGP is less than 7 percent.
+
+ Since a mean AS distance grows very slowly with the total number of
+ networks (there are about 60 autonomous systems, well over 2,000
+ networks known in the NSFNET backbone routers, and the mean AS
+ distance of the current Internet is well below 5), for all practical
+ purposes the worst case router memory requirements are on the order
+ of the total number of networks in the Internet times the number of
+ peers the local system is peering with. We expect that the total
+ number of networks in the Internet will grow much faster than the
+ average number of peers per router. Therefore, scaling with respect
+ to the memory requirements is going to be heavily dominated by the
+ factor that is linearly proportional to the total number of networks
+ in the Internet.
+
+ The following table illustrates typical memory requirements of a
+ router running BGP. It is assumed that each network is encoded as 4
+ bytes, each AS is encoded as 2 bytes, and each networks is reachable
+ via some fraction of all of the peers (# BGP peers/per net).
+
+
+
+
+
+
+
+
+Traina [Page 6]
+
+RFC 1774 BGP-4 Protocol Analysis March 1995
+
+
+ # Networks Mean AS Distance # AS's # BGP peers/per net Memory Req
+ ---------- ---------------- ------ ------------------- ----------
+ 2,100 5 59 3 27,000
+ 4,000 10 100 6 108,000
+ 10,000 15 300 10 490,000
+ 100,000 20 3,000 20 1,040,000
+
+ To put memory requirements of BGP in a proper perspective, let's try
+ to put aside for a moment the issue of what information is used to
+ construct the forwarding tables in a router, and just focus on the
+ forwarding tables themselves. In this case one might ask about the
+ limits on these tables. For instance, given that right now the
+ forwarding tables in the NSFNET Backbone routers carry well over
+ 20,000 entries, one might ask whether it would be possible to have a
+ functional router with a table that will have 200,000 entries.
+ Clearly the answer to this question is completely independent of BGP.
+ On the other hand the answer to the original questions (that was
+ asked with respect to BGP) is directly related to the latter
+ question. Very interesting comments were given by Paul Tsuchiya in
+ his review of BGP in March of 1990 (as part of the BGP review
+ committee appointed by Bob Hinden). In the review he said that, "BGP
+ does not scale well. This is not really the fault of BGP. It is the
+ fault of the flat IP address space. Given the flat IP address space,
+ any routing protocol must carry network numbers in its updates." With
+ the introduction of CIDR [4] and BGP-4, we have attempted to reduce
+ this limitation. Unfortunately, we cannot erase history nor can
+ BGP-4 solve the problems inherent with inefficient assignment of
+ future address blocks.
+
+ To reiterate, BGP limits with respect to the memory requirements are
+ directly related to the underlying Internet Protocol (IP), and
+ specifically the addressing scheme employed by IP. BGP would provide
+ much better scaling in environments with more flexible addressing
+ schemes. It should be pointed out that with only very minor
+ additions BGP was extended to support hierarchies of autonomous
+ system [8]. Such hierarchies, combined with an addressing scheme that
+ would allow more flexible address aggregation capabilities, can be
+ utilized by BGP-like protocols, thus providing practically unlimited
+ scaling capabilities.
+
+Applicability of BGP
+
+ In this section we'll try to answer the question of what environment
+ is BGP well suited, and for what is it not suitable? Partially this
+ question is answered in the Section 2 of [1], where the document
+ states the following:
+
+
+
+
+
+Traina [Page 7]
+
+RFC 1774 BGP-4 Protocol Analysis March 1995
+
+
+ "To characterize the set of policy decisions that can be enforced
+ using BGP, one must focus on the rule that an AS advertises to its
+ neighbor ASs only those routes that it itself uses. This rule
+ reflects the "hop-by-hop" routing paradigm generally used
+ throughout the current Internet. Note that some policies cannot
+ be supported by the "hop-by-hop" routing paradigm and thus require
+ techniques such as source routing to enforce. For example, BGP
+ does not enable one AS to send traffic to a neighbor AS intending
+ that the traffic take a different route from that taken by traffic
+ originating in the neighbor AS. On the other hand, BGP can
+ support any policy conforming to the "hop-by-hop" routing
+ paradigm. Since the current Internet uses only the "hop-by-hop"
+ routing paradigm and since BGP can support any policy that
+ conforms to that paradigm, BGP is highly applicable as an inter-AS
+ routing protocol for the current Internet."
+
+ While BGP is well suitable for the current Internet, it is also
+ almost a necessity for the current Internet as well. Operational
+ experience with EGP showed that it is highly inadequate for the
+ current Internet. Topological restrictions imposed by EGP are
+ unjustifiable from the technical point of view, and unenforceable
+ from the practical point of view. Inability of EGP to efficiently
+ handle information exchange between peers is a cause of severe
+ routing instabilities in the operational Internet. Finally,
+ information provided by BGP is well suitable for enforcing a variety
+ of routing policies.
+
+ Rather than trying to predict the future, and overload BGP with a
+ variety of functions that may (or may not) be needed, the designers
+ of BGP took a different approach. The protocol contains only the
+ functionality that is essential, while at the same time provides
+ flexible mechanisms within the protocol itself that allow to expand
+ its functionality. Since BGP was designed with flexibility and
+ expandability in mind, we think it should be able to address new or
+ evolving requirements with relative ease. The existence proof of this
+ statement may be found in the way how new features (like repairing a
+ partitioned autonomous system with BGP) are already introduced in the
+ protocol.
+
+ To summarize, BGP is well suitable as an inter-autonomous system
+ routing protocol for the current Internet that is based on IP (RFC
+ 791) as the Internet Protocol and "hop-by-hop" routing paradigm. It
+ is hard to speculate whether BGP will be suitable for other
+ environments where internetting is done by other than IP protocols,
+ or where the routing paradigm will be different.
+
+
+
+
+
+
+Traina [Page 8]
+
+RFC 1774 BGP-4 Protocol Analysis March 1995
+
+
+Security Considerations
+
+ Security issues are not discussed in this memo.
+
+Acknowledgments
+
+ The BGP-4 protocol has been developed by the IDR/BGP Working Group of
+ the Internet Engineering Task Force. I would like to express thanks
+ to Yakov Rekhter for providing RFC 1265. This document is only a
+ minor update to the original text. I'd also like to explicitly thank
+ Yakov Rekhter and Tony Li for their review of this document as well
+ as their constructive and valuable comments.
+
+Editor's Address
+
+ Paul Traina
+ cisco Systems, Inc.
+ 170 W. Tasman Dr.
+ San Jose, CA 95134
+
+ EMail: pst@cisco.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Traina [Page 9]
+
+RFC 1774 BGP-4 Protocol Analysis March 1995
+
+
+References
+
+ [1] Rekhter, Y., and T., Li, "A Border Gateway Protocol 4 (BGP-4)",
+ RFC 1771, T.J. Watson Research Center, IBM Corp., cisco Systems,
+ March 1995.
+
+ [2] Rekhter, Y., and P. Gross, Editors, "Application of the Border
+ Gateway Protocol in the Internet", RFC 1772, T.J. Watson Research
+ Center, IBM Corp., MCI, March 1995.
+
+ [3] Willis, S., Burruss, J., and J. Chu, "Definitions of Managed
+ Objects for the Fourth Version of the Border Gateway Protocol
+ (BGP-4) using SMIv2", RFC 1657, Wellfleet Communications Inc.,
+ IBM Corp., July 1994.
+
+ [4] Fuller V., Li. T., Yu J., and K. Varadhan, "Classless Inter-
+ Domain Routing (CIDR): an Address Assignment and Aggregation
+ Strategy", RFC 1519, BARRNet, cisco, MERIT, OARnet, September
+ 1993.
+
+ [6] Moy J., "Open Shortest Path First Routing Protocol (Version 2)",
+ RFC 1257, Proteon, August 1991.
+
+ [7] Varadhan, K., Hares S., and Y. Rekhter, "BGP4/IDRP for IP---OSPF
+ Interaction", Work in Progress.
+
+ [8] ISO/IEC 10747, Kunzinger, C., Editor, "Inter-Domain Routing
+ Protocol", October 1993.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Traina [Page 10]
+