draft-ietf-idr-bgp4-cap-neg-05.txt | rfc2842.txt | |||
---|---|---|---|---|
Network Working Group Ravi Chandra | ||||
Internet Draft Siara Systems | ||||
Expiration Date: August 2000 John G. Scudder | ||||
cisco Systems | ||||
Capabilities Negotiation with BGP-4 | ||||
draft-ietf-idr-bgp4-cap-neg-05.txt | ||||
1. Status of this Memo | Network Working Group R. Chandra | |||
Request for Comments: 2842 Redback Networks Inc. | ||||
Category: Standards Track J. Scudder | ||||
cisco Systems | ||||
May 2000 | ||||
This document is an Internet-Draft and is in full conformance with | Capabilities Advertisement with BGP-4 | |||
all provisions of Section 10 of RFC2026 except that the right to | ||||
produce derivative works is not granted. | ||||
Internet-Drafts are working documents of the Internet Engineering | Status of this Memo | |||
Task Force (IETF), its areas, and its working groups. Note that | ||||
other groups may also distribute working documents as Internet- | ||||
Drafts. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document specifies an Internet standards track protocol for the | |||
and may be updated, replaced, or obsoleted by other documents at any | Internet community, and requests discussion and suggestions for | |||
time. It is inappropriate to use Internet-Drafts as reference | improvements. Please refer to the current edition of the "Internet | |||
material or to cite them other than as ``work in progress.'' | Official Protocol Standards" (STD 1) for the standardization state | |||
and status of this protocol. Distribution of this memo is unlimited. | ||||
The list of current Internet-Drafts can be accessed at | Copyright Notice | |||
http://www.ietf.org/ietf/1id-abstracts.txt | ||||
The list of Internet-Draft Shadow Directories can be accessed at | Copyright (C) The Internet Society (2000). All Rights Reserved. | |||
http://www.ietf.org/shadow.html. | ||||
2. Abstract | Abstract | |||
Currently BGP-4 [BGP-4] requires that when a BGP speaker receives an | Currently BGP-4 [BGP-4] requires that when a BGP speaker receives an | |||
OPEN message with one or more unrecognized Optional Parameters, the | OPEN message with one or more unrecognized Optional Parameters, the | |||
speaker must terminate BGP peering. This complicates introduction of | speaker must terminate BGP peering. This complicates introduction of | |||
new capabilities in BGP. | new capabilities in BGP. | |||
This document defines new Optional Parameter, called Capabilities, | This document defines new Optional Parameter, called Capabilities, | |||
that is expected to facilitate introduction of new capabilities in | that is expected to facilitate introduction of new capabilities in | |||
BGP by providing graceful capability negotiation without requiring | BGP by providing graceful capability advertisement without requiring | |||
that BGP peering be terminated. | that BGP peering be terminated. | |||
3. Overview of Operations | 1. Overview of Operations | |||
When a BGP speaker that supports capabilities negotiation sends an | When a BGP speaker that supports capabilities advertisement sends an | |||
OPEN message to its BGP peer, the message may include an Optional | OPEN message to its BGP peer, the message may include an Optional | |||
Parameter, called Capabilities. The parameter lists the capabilities | Parameter, called Capabilities. The parameter lists the capabilities | |||
supported by the speaker. | supported by the speaker. | |||
A BGP speaker determines the capabilities supported by its peer by | A BGP speaker determines the capabilities supported by its peer by | |||
examining the list of capabilities present in the Capabilities | examining the list of capabilities present in the Capabilities | |||
Optional Parameter carried by the OPEN message that the speaker | Optional Parameter carried by the OPEN message that the speaker | |||
receives from the peer. | receives from the peer. | |||
A BGP speaker that supports a particular capability may use this | A BGP speaker that supports a particular capability may use this | |||
capability with its peer after the speaker determines (as described | capability with its peer after the speaker determines (as described | |||
above) that the peer supports this capability. | above) that the peer supports this capability. | |||
A BGP speaker determines that its peer doesn't support capabilities | A BGP speaker determines that its peer doesn't support capabilities | |||
negotiation, if in response to an OPEN message that carries the | advertisement, if in response to an OPEN message that carries the | |||
Capabilities Optional Parameter, the speaker receives a NOTIFICATION | Capabilities Optional Parameter, the speaker receives a NOTIFICATION | |||
message with the Error Subcode set to Unsupported Optional Parameter. | message with the Error Subcode set to Unsupported Optional Parameter. | |||
In this case the speaker should attempt to re-establish a BGP | In this case the speaker should attempt to re-establish a BGP | |||
connection with the peer without sending to the peer the Capabilities | connection with the peer without sending to the peer the Capabilities | |||
Optional Parameter. | Optional Parameter. | |||
If a BGP speaker that supports a certain capability determines that | If a BGP speaker that supports a certain capability determines that | |||
its peer doesn't support this capability, the speaker may send a | its peer doesn't support this capability, the speaker may send a | |||
NOTIFICATION message to the peer, and terminate peering. The Error | NOTIFICATION message to the peer, and terminate peering. The Error | |||
Subcode in the message is set to Unsupported Capability. The message | Subcode in the message is set to Unsupported Capability. The message | |||
should contain the capability (capabilities) that causes the speaker | should contain the capability (capabilities) that causes the speaker | |||
to send the message. The decision to send the message and terminate | to send the message. The decision to send the message and terminate | |||
peering is local to the speaker. Such peering should not be re- | peering is local to the speaker. Such peering should not be re- | |||
established automatically. | established automatically. | |||
4. Capabilities Optional Parameter (Parameter Type 2): | 2. Capabilities Optional Parameter (Parameter Type 2): | |||
This is an Optional Parameter that is used by a BGP speaker to convey | This is an Optional Parameter that is used by a BGP speaker to convey | |||
to its BGP peer the list of capabilities supported by the speaker. | to its BGP peer the list of capabilities supported by the speaker. | |||
The parameter contains one or more triples <Capability Code, | The parameter contains one or more triples <Capability Code, | |||
Capability Length, Capability Value>, where each triple is encoded as | Capability Length, Capability Value>, where each triple is encoded as | |||
shown below: | shown below: | |||
+------------------------------+ | +------------------------------+ | |||
| Capability Code (1 octet) | | | Capability Code (1 octet) | | |||
skipping to change at page 3, line 30 | skipping to change at page 3, line 13 | |||
of the Capability Value field in octets. | of the Capability Value field in octets. | |||
Capability Value: | Capability Value: | |||
Capability Value is a variable length field that is interpreted | Capability Value is a variable length field that is interpreted | |||
according to the value of the Capability Code field. | according to the value of the Capability Code field. | |||
A particular capability, as identified by its Capability Code, may | A particular capability, as identified by its Capability Code, may | |||
occur more than once within the Optional Parameter. | occur more than once within the Optional Parameter. | |||
5. Extensions to Error Handling | 3. Extensions to Error Handling | |||
This document defines new Error Subcode - Unsupported Capability. | This document defines new Error Subcode - Unsupported Capability. | |||
The value of this Subcode is 7. The Data field in the NOTIFICATION | The value of this Subcode is 7. The Data field in the NOTIFICATION | |||
message lists the set of capabilities that cause the speaker to send | message lists the set of capabilities that cause the speaker to send | |||
the message. Each such capability is encoded the same way as it was | the message. Each such capability is encoded the same way as it was | |||
encoded in the received OPEN message. | encoded in the received OPEN message. | |||
6. IANA Considerations | 4. IANA Considerations | |||
As specified in this document, the Capability optional parameter | Section 4 defines a Capability Optional Parameter along with an | |||
contains the Capability Code field. Capability Code value 0 is | Capability Code field. IANA is expected to create and maintain the | |||
registry for Capability Code values. Capability Code value 0 is | ||||
reserved. Capability Code values 1 through 63 are to be assigned by | reserved. Capability Code values 1 through 63 are to be assigned by | |||
IANA using the "IETF Consensus" policy defined in RFC2434. Capability | IANA using the "IETF Consensus" policy defined in RFC2434. Capability | |||
Code values 64 through 127 are to be assigned by IANA, using the | Code values 64 through 127 are to be assigned by IANA, using the | |||
"First Come First Served" policy defined in RFC2434. Capability Code | "First Come First Served" policy defined in RFC2434. Capability Code | |||
values 128 through 255 are vendor-specific, and values in this range | values 128 through 255 are for "Private Use" as defined in RFC2434. | |||
are not to be assigned by IANA. | ||||
7. Security Considerations | 5. Security Considerations | |||
This extension to BGP does not change the underlying security issues | This extension to BGP does not change the underlying security issues | |||
inherent in the existing BGP [Heffernan]. | inherent in the existing BGP [Heffernan]. | |||
8. Acknowledgements | 6. Acknowledgements | |||
The authors would like to thank members of the IDR Working Group for | The authors would like to thank members of the IDR Working Group for | |||
their review and comments. | their review and comments. | |||
9. References | 7. References | |||
[BGP-4] Rekhter, Y., and T. Li, "A Border Gateway Protocol 4 (BGP- | [BGP-4] Rekhter, Y. and T. Li, "A Border Gateway Protocol 4 | |||
4)", RFC 1771, March 1995. | (BGP-4)", RFC 1771, March 1995. | |||
[Heffernan] Heffernan, A., "Protection of BGP Sessions via the TCP | [Heffernan] Heffernan, A., "Protection of BGP Sessions via the TCP | |||
MD5 Signature Option", RFC2385, August 1998. | MD5 Signature Option", RFC 2385, August 1998. | |||
10. Author Information | 8. Authors' Addresses | |||
Ravi Chandra | Ravi Chandra | |||
Siara Systems Incorporated | Redback Networks Inc. | |||
1195 Borregas Avenue | 350, Holger Way | |||
Sunnyvale, CA 94089 | San Jose, CA 95134 | |||
e-mail: rchandra@siara.com | ||||
EMail: rchandra@redback.com | ||||
John G. Scudder | John G. Scudder | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
170 West Tasman Drive | 170 West Tasman Drive | |||
San Jose, CA 95134 | San Jose, CA 95134 | |||
e-mail: jgs@cisco.com | ||||
EMail: jgs@cisco.com | ||||
9. Full Copyright Statement | ||||
Copyright (C) The Internet Society (2000). All Rights Reserved. | ||||
This document and translations of it may be copied and furnished to | ||||
others, and derivative works that comment on or otherwise explain it | ||||
or assist in its implementation may be prepared, copied, published | ||||
and distributed, in whole or in part, without restriction of any | ||||
kind, provided that the above copyright notice and this paragraph are | ||||
included on all such copies and derivative works. However, this | ||||
document itself may not be modified in any way, such as by removing | ||||
the copyright notice or references to the Internet Society or other | ||||
Internet organizations, except as needed for the purpose of | ||||
developing Internet standards in which case the procedures for | ||||
copyrights defined in the Internet Standards process must be | ||||
followed, or as required to translate it into languages other than | ||||
English. | ||||
The limited permissions granted above are perpetual and will not be | ||||
revoked by the Internet Society or its successors or assigns. | ||||
This document and the information contained herein is provided on an | ||||
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | ||||
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | ||||
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | ||||
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF | ||||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
Acknowledgement | ||||
Funding for the RFC Editor function is currently provided by the | ||||
Internet Society. | ||||
End of changes. 25 change blocks. | ||||
46 lines changed or deleted | 38 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |