diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1774.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1774.txt')
-rw-r--r-- | doc/rfc/rfc1774.txt | 563 |
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] + |