📄 rfc1266.txt
字号:
Network Working Group Y. Rekhter, Editor
Request for Comments: 1266 T.J. Watson Research Center, IBM Corp.
October 1991
Experience with the BGP Protocol
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
unlimited.
2. Introduction.
The purpose of this memo is to document how the requirements for
advancing a routing protocol to Draft Standard have been satisfied by
Border Gateway Protocol (BGP). This report documents experience with
BGP. This is the second of two reports on the BGP protocol. As
required by the Internet Activities Board (IAB) and the Internet
Engineering Steering Group (IESG), the first report will present a
performance analysis of the BGP protocol.
The remaining sections of this memo document how BGP satisfies
General Requirements specified in Section 3.0, as well as
Requirements for Draft Standard specified in Section 5.0 of the
"Internet Routing Protocol Standardization Criteria" document [1].
This report is based on the work of Dennis Ferguson (University of
Toronto), Susan Hares (MERIT/NSFNET), and Jessica Yu (MERIT/NSFNET).
Details of their work were presented at the Twentieth IETF meeting
(March 11-15, 1991, St. Louis) and are available from the IETF
Proceedings.
Please send comments to iwg@rice.edu.
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 Hinden (BBN) for the review of this document as well as his
constructive and valuable comments.
BGP Working Group [Page 1]
RFC 1266 Experience with the BGP Protocol October 1991
4. Documentation.
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 [3]. The
changes between versions 1, 2 and 3 are explained in Appendix 3 of
[3]. Most of the functionality that was present in the Version 1 is
present in the Version 2 and 3. Changes between Version 1 and
Version 2 affect mostly the format of the BGP messages. Changes
between Version 2 and Version 3 are quite minor.
BGP Version 2 removed from the protocol the concept of "up", "down",
and "horizontal" relations between autonomous systems that were
present in the Version 1. BGP Version 2 introduced the concept of
path attributes. In addition, BGP Version 2 clarified parts of the
protocol that were "underspecified". BGP Version 3 lifted some of
the restrictions on the use of the NEXT_HOP path attribute, and added
the BGP Identifier field to the BGP OPEN message. It also clarifies
the procedure for distributing BGP routes between the BGP speakers
within an autonomous system. Possible applications of BGP in the
Internet are documented in [2].
The BGP protocol was developed by the IWG/BGP Working Group of the
Internet Engineering Task Force. This Working Group has a mailing
list, iwg@rice.edu, where discussions of protocol features and
operation are held. The IWG/BGP Working Group meets regularly during
the quarterly Internet Engineering Task Force conferences. Reports of
these meetings are published in the IETF's Proceedings.
5. MIB
A BGP Management Information Base has been published [4]. The MIB
was written by Steve Willis (swillis@wellfleet.com) and John Burruss
(jburruss@wellfleet.com).
Apart from a few system variables, the BGP MIB is broken into two
tables: the BGP Peer Table and the BGP Received Path Attribute Table.
The Peer Table reflects information about BGP peer connections, such
as their state and current activity. The Received Path Attribute
Table contains all attributes received from all peers before local
routing policy has been applied. The actual attributes used in
determining a route are a subset of the received attribute table.
The BGP MIB is quite small. It contains total of 27 objects.
BGP Working Group [Page 2]
RFC 1266 Experience with the BGP Protocol October 1991
6. Security architecture.
BGP provides flexible and extendible mechanism for authentication and
security. The mechanism allows to support schemes with various degree
of complexity. All BGP sessions are authenticated based on the BGP
Identifier of a peer. In addition, all BGP sessions are authenticated
based on the autonomous system number advertised by a peer. As part
of the BGP authentication mechanism, the protocol allows to carry
encrypted digital signature in every BGP message. All authentication
failures result in sending the NOTIFICATION messages and immediate
termination of the BGP connection.
Since BGP runs over TCP and IP, BGP's authentication scheme may be
augmented by any authentication or security mechanism provided by
either TCP or IP.
7. Implementations.
There are multiple interoperable implementations of BGP currently
available. This section gives a brief overview of the three
completely independent implementations that are currently used in the
operational Internet. They are:
- cisco. This implementation was wholly developed by cisco.
It runs on the proprietary operating system used by the
cisco routers. Consult Kirk Lougheed (lougheed@cisco.com)
for more details.
- "gated". This implementation was developed wholly by Jeff
Honig (jch@risci.cit.cornell.edu) and Dennis Ferguson
(dennis@CAnet.CA). It runs on a variety of operating systems
(4.3 BSD, AIX, etc...). It is the only available public domain
code for BGP. Consult Jeff Honig or Dennis Ferguson for more
details.
- NSFNET. This implementation was developed wholly by Yakov
Rekhter (yakov@watson.ibm.com). It runs on the T1 NSFNET
Backbone and T3 NSFNET Backbone. Consult Yakov Rekhter for
more details.
To facilitate efficient BGP implementations, and avoid commonly made
mistakes, the implementation experience with BGP in "gated" was
documented as part of RFC 1164. Implementors are strongly encouraged
to follow the implementation suggestions outlined in that document.
Experience with implementing BGP showed that the protocol is
relatively simple to implement. On the average BGP implementation
takes about 1 man/month effort.
BGP Working Group [Page 3]
RFC 1266 Experience with the BGP Protocol October 1991
Note that, as required by the IAB/IESG for Draft Standard status,
there are multiple interoperable completely independent
implementations, namely those from cisco, "gated", and IBM.
8. Operational experience.
This section discusses operational experience with BGP.
BGP has been used in the production environment since 1989. This use
involves all three implementations listed above. Production use of
BGP includes utilization of all significant features of the protocol.
The present production environment, where BGP is used as the inter-
autonomous system routing protocol, is highly heterogeneous. In
terms of the link bandwidth it varies from 56 Kbits/sec to 45
Mbits/sec. In terms of the actual routes that run BGP it ranges from
a relatively slow performance PC/RT to a very high performance
RS/6000, and includes both the special purpose routers (cisco) and
the general purpose workstations running UNIX. In terms of the actual
topologies it varies from a very sparse (spanning tree or a ring of
CA*Net) to a quite dense (T1 or T3 NSFNET Backbones).
At the time of this writing BGP is used as an inter-autonomous system
routing protocol between the following autonomous systems: CA*Net, T1
NSFNET Backbone, T3 NSFNET Backbone, T3 NSFNET Test Network, CICNET,
MERIT, and PSC. Within CA*Net there are 10 border routers
participating in BGP. Within T1 NSFNET Backbone there are 20 border
routers participating in BGP. Within T3 NSFNET Backbone there are 15
border routers participating in BGP. Within T3 NSFNET Test Network
there are 7 border routers participating in BGP. Within CICNET there
are 2 border routers participating in BGP. Within MERIT there is 1
border router participating in BGP. Within PSC there is 1 router
participating in BGP. All together there are 56 border routers
spanning 7 autonomous systems that are running BGP. Out of these, 49
border routers that span 6 autonomous systems are part of the
operational Internet.
BGP is used both for the exchange of routing information between a
transit and a stub autonomous system, and for the exchange of routing
information between multiple transit autonomous systems. It covers
both the Backbones (CA*Net, T1 NSFNET Backbone, T3 NSFNET Backbone),
and the Regional Networks (PSC, MERIT).
Within CA*Net, T3 NSFNET Backbone, and T3 NSFNET Test Network BGP is
used as the exclusive carrier of the exterior routing information
both between the autonomous systems that correspond to the above
networks, and with the autonomous system of each network. At the time
of this writing within the T1 NSFNET Backbone BGP is used together
with the NSFNET Backbone Interior Routing Protocol to carry the
BGP Working Group [Page 4]
RFC 1266 Experience with the BGP Protocol October 1991
exterior routing information. T1 NSFNET Backbone is in the process of
moving toward carrying the exterior routing information exclusively
by BGP. The full set of exterior routes that is carried by BGP is
well over 2,000 networks.
Operational experience described above involved multi-vendor
deployment (cisco, "gated", and NSFNET).
Specific details of the operational experience with BGP in the NSFNET
were presented at the Twentieth IETF meeting (March 11-15, 1991, St.
Louis) by Susan Hares (MERIT/NSFNET). Specific details of the
operational experience with BGP in the CA*Net were presented at the
Twentieth IETF meeting (March 11-15, 1991, St. Louis) by Dennis
Ferguson (University of Toronto). Both of these presentations are
available in the IETF Proceedings.
Operational experience with BGP exercised all basic features of the
protocol, including the authentication and routing loop suppression.
Bandwidth consumed by BGP has been measured at the interconnection
points between CA*Net and T1 NSFNET Backbone. The results of these
measurements were presented by Dennis Ferguson during the last IETF,
and are available from the IETF Proceedings. These results showed
clear superiority of BGP as compared with EGP in the area of
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -