draft-ietf-idr-large-community-05.txt | draft-ietf-idr-large-community-06.txt | |||
---|---|---|---|---|
IDR J. Heitz, Ed. | IDR J. Heitz, Ed. | |||
Internet-Draft Cisco | Internet-Draft Cisco | |||
Intended status: Standards Track J. Snijders, Ed. | Intended status: Standards Track J. Snijders, Ed. | |||
Expires: April 29, 2017 NTT | Expires: May 3, 2017 NTT | |||
K. Patel | K. Patel | |||
Arrcus | Arrcus | |||
I. Bagdonas | I. Bagdonas | |||
Equinix | Equinix | |||
A. Simpson | A. Simpson | |||
Nokia | Nokia | |||
N. Hilliard | N. Hilliard | |||
INEX | INEX | |||
October 26, 2016 | October 30, 2016 | |||
Large BGP Communities | Large BGP Communities | |||
draft-ietf-idr-large-community-05 | draft-ietf-idr-large-community-06 | |||
Abstract | Abstract | |||
This document describes the Large BGP Communities attribute, an | This document describes the Large BGP Communities attribute, an | |||
extension to BGP-4. This attribute provides a mechanism to signal | extension to BGP-4. This attribute provides a mechanism to signal | |||
opaque information within separate namespaces to aid in routing | opaque information within separate namespaces to aid in routing | |||
management. The attribute is suitable for use in four-octet ASNs. | management. The attribute is suitable for use with four-octet ASNs. | |||
Requirements Language | Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
skipping to change at page 1, line 48 ¶ | skipping to change at page 1, line 48 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on April 29, 2017. | This Internet-Draft will expire on May 3, 2017. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 31 ¶ | skipping to change at page 2, line 31 ¶ | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Large BGP Communities Attribute . . . . . . . . . . . . . . . 3 | 2. Large BGP Communities Attribute . . . . . . . . . . . . . . . 3 | |||
3. Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4. Canonical Representation . . . . . . . . . . . . . . . . . . 4 | 4. Canonical Representation . . . . . . . . . . . . . . . . . . 4 | |||
5. Reserved Large BGP Community values . . . . . . . . . . . . . 4 | 5. Reserved Large BGP Community values . . . . . . . . . . . . . 4 | |||
6. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 4 | 6. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 5 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 5 | |||
8. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION 5 | 8. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION 5 | |||
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | |||
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 | 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
11.1. Normative References . . . . . . . . . . . . . . . . . . 6 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
11.2. Informative References . . . . . . . . . . . . . . . . . 7 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 7 | |||
11.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 12.2. Informative References . . . . . . . . . . . . . . . . . 7 | |||
12.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
1. Introduction | 1. Introduction | |||
BGP implementations typically support a routing policy language to | BGP implementations typically support a routing policy language to | |||
control the distribution of routing information. Network operators | control the distribution of routing information. Network operators | |||
attach BGP communities to routes to identify intrinsic properties of | attach BGP communities to routes to identify intrinsic properties of | |||
these routes. These properties may include information such as the | these routes. These properties may include information such as the | |||
route origin location, or specification of a routing policy action to | route origin location, or specification of a routing policy action to | |||
be taken, or one that has been taken, and may apply to an individual | be taken, or one that has been taken, and may apply to an individual | |||
skipping to change at page 3, line 19 ¶ | skipping to change at page 3, line 22 ¶ | |||
attribute can no longer accommodate the above encoding, as a two- | attribute can no longer accommodate the above encoding, as a two- | |||
octet word cannot fit a four-octet ASN. The BGP Extended Communities | octet word cannot fit a four-octet ASN. The BGP Extended Communities | |||
attribute [RFC4360] is also unsuitable, as the protocol limit of six | attribute [RFC4360] is also unsuitable, as the protocol limit of six | |||
octets cannot accommodate both a four-octet Global Administrator | octets cannot accommodate both a four-octet Global Administrator | |||
value and a four-octet Local Administrator value, which precludes the | value and a four-octet Local Administrator value, which precludes the | |||
common operational practice of encoding a target ASN in the Local | common operational practice of encoding a target ASN in the Local | |||
Administrator field. | Administrator field. | |||
To address these shortcomings, this document defines a Large BGP | To address these shortcomings, this document defines a Large BGP | |||
Communities attribute encoded as one or more twelve-octet values, | Communities attribute encoded as one or more twelve-octet values, | |||
each consisting of a four-octet ASN and two four-octet operator- | each consisting of a four-octet Global Administrator field and two | |||
defined values, each of which can be used to denote properties or | four-octet operator-defined fields, each of which can be used to | |||
actions significant to that ASN. | denote properties or actions significant to the operator of the | |||
Autonomous System assigning the values. | ||||
2. Large BGP Communities Attribute | 2. Large BGP Communities Attribute | |||
This document creates the Large BGP Communities attribute as an | This document creates the Large BGP Communities attribute as an | |||
optional transitive path attribute of variable length. All routes | optional transitive path attribute of variable length. All routes | |||
with the Large BGP Communities attribute belong to the community | with the Large BGP Communities attribute belong to the community | |||
specified in the attribute. | specified in the attribute. | |||
The attribute consists of one or more twelve-octet values. Each | The attribute consists of one or more twelve-octet values. Each | |||
twelve-octet Large BGP Communities value represents three four-octet | twelve-octet Large BGP Communities value represents three four-octet | |||
skipping to change at page 4, line 28 ¶ | skipping to change at page 4, line 30 ¶ | |||
3. Aggregation | 3. Aggregation | |||
If a range of routes is aggregated, then the resulting aggregate | If a range of routes is aggregated, then the resulting aggregate | |||
should have a Large BGP Communities attribute which contains all of | should have a Large BGP Communities attribute which contains all of | |||
the Large BGP Communities attributes from all of the aggregated | the Large BGP Communities attributes from all of the aggregated | |||
routes. | routes. | |||
4. Canonical Representation | 4. Canonical Representation | |||
Large BGP Communities MUST be represented as three separate unsigned | Large BGP Communities MUST be represented as three separate unsigned | |||
integers in decimal notation, without leading zeros, in the following | integers in decimal notation in the following order: Global | |||
order: Global Administrator, Local Data 1, Local Data 2. Numbers | Administrator, Local Data 1, Local Data 2. Numbers MUST NOT contain | |||
MUST not be omitted, even when zero. For example: 64496:4294967295:2 | leading zeros; a zero value MUST be represented with a single zero. | |||
or 64496:0:0 or (64496, 111, 222). | For example: 64496:4294967295:2, 64496:0:0, or (64496, 111, 222). | |||
5. Reserved Large BGP Community values | 5. Reserved Large BGP Community values | |||
The following Global Administrator values are reserved: 0 (the first | The following Global Administrator values are reserved: 0 (the first | |||
ASN) [RFC7607], 65535 (UINT16_MAX) and 4294967295 (the last ASN) | ASN) [RFC7607], 65535 (UINT16_MAX) and 4294967295 (the last ASN) | |||
[RFC7300]. Operators SHOULD NOT use these Global Administrator | [RFC7300]. Operators SHOULD NOT use these Global Administrator | |||
values. | values. | |||
Although this document does not define any Special-Use Large BGP | Although this document does not define any Special-Use Large BGP | |||
Communities, the Global Administrator values specified above could be | Communities, the Global Administrator values specified above could be | |||
skipping to change at page 5, line 24 ¶ | skipping to change at page 5, line 24 ¶ | |||
7. Security Considerations | 7. Security Considerations | |||
This extension to BGP has similar security implications as BGP | This extension to BGP has similar security implications as BGP | |||
Communities [RFC1997]. | Communities [RFC1997]. | |||
This document does not change any underlying security issues | This document does not change any underlying security issues | |||
associated with any other BGP Communities mechanism. Specifically, | associated with any other BGP Communities mechanism. Specifically, | |||
an AS relying on the Large BGP Communities attribute carried in BGP | an AS relying on the Large BGP Communities attribute carried in BGP | |||
must have trust in every other AS in the path, as any intermediate | must have trust in every other AS in the path, as any intermediate | |||
Autonomous System in the path may have added, deleted or altered the | Autonomous System in the path may have added, deleted, or altered the | |||
Large BGP Communities attribute. Specifying the mechanism to provide | Large BGP Communities attribute. Specifying the mechanism to provide | |||
such trust is beyond the scope of this document. | such trust is beyond the scope of this document. | |||
Network administrators should note the recommendations in Section 11 | Network administrators should note the recommendations in Section 11 | |||
of BGP Operations and Security [RFC7454]. | of BGP Operations and Security [RFC7454]. | |||
8. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION | 8. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION | |||
This section records the status of known implementations of the | This section records the status of known implementations of the | |||
protocol defined by this specification at the time of posting of this | protocol defined by this specification at the time of posting of this | |||
skipping to change at page 6, line 12 ¶ | skipping to change at page 6, line 12 ¶ | |||
o ExaBGP | o ExaBGP | |||
o GoBGP | o GoBGP | |||
o BIRD | o BIRD | |||
o OpenBGPD | o OpenBGPD | |||
o pmacct | o pmacct | |||
o Quagga | ||||
The latest implementation news is tracked at | The latest implementation news is tracked at | |||
http://largebgpcommunities.net/ [1]. | http://largebgpcommunities.net/ [1]. | |||
9. IANA Considerations | 9. IANA Considerations | |||
IANA has made an Early Allocation of the value 32 (LARGE_COMMUNITY) | IANA has made an Early Allocation of the value 32 (LARGE_COMMUNITY) | |||
in the "BGP Path Attributes" registry under the "Border Gateway | in the "BGP Path Attributes" registry under the "Border Gateway | |||
Protocol (BGP) Parameters" group and is now asked to make that | Protocol (BGP) Parameters" group and is now asked to make that | |||
Permanent. | Permanent. | |||
10. Acknowledgments | 10. Contributors | |||
The following people contributed significantly to the content of the | ||||
document: | ||||
John Heasley | ||||
NTT Communications | ||||
Email: heas@shrubbery.net | ||||
11. Acknowledgments | ||||
The authors would like to thank Ruediger Volk, Russ White, Acee | The authors would like to thank Ruediger Volk, Russ White, Acee | |||
Lindem, Shyam Sethuram, Jared Mauch, Joel M. Halpern, Jeffrey Haas, | Lindem, Shyam Sethuram, Jared Mauch, Joel M. Halpern, Jeffrey Haas, | |||
John Heasley, Gunter van de Velde, Marco Marzetti, Eduardo Ascenco | Gunter van de Velde, Marco Marzetti, Eduardo Ascenco Reis, Mark | |||
Reis, Mark Schouten, Paul Hoogsteder, Martijn Schmidt, Greg Hankins, | Schouten, Paul Hoogsteder, Martijn Schmidt, Greg Hankins, Bertrand | |||
Bertrand Duvivier, Barry O'Donovan, Grzegorz Janoszka, Linda Dunbar, | Duvivier, Barry O'Donovan, Grzegorz Janoszka, Linda Dunbar, Marco | |||
Marco Davids, Gaurab Raj Upadhaya, Jeff Tantsura, Teun Vink, Adam | Davids, Gaurab Raj Upadhaya, Jeff Tantsura, Teun Vink, Adam | |||
Davenport, Theodore Baschak, Pier Carlo Chiodi, Nabeel Cocker, Ian | Davenport, Theodore Baschak, Pier Carlo Chiodi, Nabeel Cocker, Ian | |||
Dickinson, Jan Baggen, Duncan Lockwood, David Farmer, Randy Bush, Wim | Dickinson, Jan Baggen, Duncan Lockwood, David Farmer, Randy Bush, Wim | |||
Henderickx, Stefan Plug, Kay Rechthien, Rob Shakir, Warren Kumari, | Henderickx, Stefan Plug, Kay Rechthien, Rob Shakir, Warren Kumari, | |||
Gert Doering, Thomas King, Mikael Abrahamsson, Wesley Steehouwer, | Gert Doering, Thomas King, Mikael Abrahamsson, Wesley Steehouwer, | |||
Sander Steffann, Brad Dreisbach, Martin Millnert, Christopher Morrow, | Sander Steffann, Brad Dreisbach, Martin Millnert, Christopher Morrow, | |||
Jay Borkenhagen, Arnold Nipper, Joe Provo, Niels Bakker, Bill Fenner, | Jay Borkenhagen, Arnold Nipper, Joe Provo, Niels Bakker, Bill Fenner, | |||
Tom Daly, Ben Maddison, Alexander Azimov, Brian Dickson, Peter van | Tom Daly, Ben Maddison, Alexander Azimov, Brian Dickson, Peter van | |||
Dijk, Julian Seifert, Tom Petch, Tom Scholl, Arjen Zonneveld, Remco | Dijk, Julian Seifert, Tom Petch, Tom Scholl, Arjen Zonneveld, Remco | |||
van Mook, Adam Chappell, Jussi Peltola, Kristian Larsson, Markus | van Mook, Adam Chappell, Jussi Peltola, Kristian Larsson, Markus | |||
Hauschild, Richard Steenbergen, and David Freedman for their support, | Hauschild, Richard Steenbergen, David Freedman, Richard Hartmann for | |||
insightful review and comments. | their support, insightful review and comments. | |||
11. References | 12. References | |||
11.1. Normative References | 12.1. Normative References | |||
[RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities | [RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities | |||
Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996, | Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996, | |||
<http://www.rfc-editor.org/info/rfc1997>. | <http://www.rfc-editor.org/info/rfc1997>. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
[RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet | [RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet | |||
Autonomous System (AS) Number Space", RFC 6793, | Autonomous System (AS) Number Space", RFC 6793, | |||
DOI 10.17487/RFC6793, December 2012, | DOI 10.17487/RFC6793, December 2012, | |||
<http://www.rfc-editor.org/info/rfc6793>. | <http://www.rfc-editor.org/info/rfc6793>. | |||
[RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. | [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. | |||
Patel, "Revised Error Handling for BGP UPDATE Messages", | Patel, "Revised Error Handling for BGP UPDATE Messages", | |||
RFC 7606, DOI 10.17487/RFC7606, August 2015, | RFC 7606, DOI 10.17487/RFC7606, August 2015, | |||
<http://www.rfc-editor.org/info/rfc7606>. | <http://www.rfc-editor.org/info/rfc7606>. | |||
11.2. Informative References | 12.2. Informative References | |||
[RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended | [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended | |||
Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, | Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, | |||
February 2006, <http://www.rfc-editor.org/info/rfc4360>. | February 2006, <http://www.rfc-editor.org/info/rfc4360>. | |||
[RFC7300] Haas, J. and J. Mitchell, "Reservation of Last Autonomous | [RFC7300] Haas, J. and J. Mitchell, "Reservation of Last Autonomous | |||
System (AS) Numbers", BCP 6, RFC 7300, | System (AS) Numbers", BCP 6, RFC 7300, | |||
DOI 10.17487/RFC7300, July 2014, | DOI 10.17487/RFC7300, July 2014, | |||
<http://www.rfc-editor.org/info/rfc7300>. | <http://www.rfc-editor.org/info/rfc7300>. | |||
skipping to change at page 7, line 45 ¶ | skipping to change at page 8, line 10 ¶ | |||
[RFC7607] Kumari, W., Bush, R., Schiller, H., and K. Patel, | [RFC7607] Kumari, W., Bush, R., Schiller, H., and K. Patel, | |||
"Codification of AS 0 Processing", RFC 7607, | "Codification of AS 0 Processing", RFC 7607, | |||
DOI 10.17487/RFC7607, August 2015, | DOI 10.17487/RFC7607, August 2015, | |||
<http://www.rfc-editor.org/info/rfc7607>. | <http://www.rfc-editor.org/info/rfc7607>. | |||
[RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running | |||
Code: The Implementation Status Section", BCP 205, | Code: The Implementation Status Section", BCP 205, | |||
RFC 7942, DOI 10.17487/RFC7942, July 2016, | RFC 7942, DOI 10.17487/RFC7942, July 2016, | |||
<http://www.rfc-editor.org/info/rfc7942>. | <http://www.rfc-editor.org/info/rfc7942>. | |||
11.3. URIs | 12.3. URIs | |||
[1] http://largebgpcommunities.net | [1] http://largebgpcommunities.net | |||
Authors' Addresses | Authors' Addresses | |||
Jakob Heitz (editor) | Jakob Heitz (editor) | |||
Cisco | Cisco | |||
170 West Tasman Drive | 170 West Tasman Drive | |||
San Jose, CA 95054 | San Jose, CA 95054 | |||
USA | USA | |||
End of changes. 17 change blocks. | ||||
29 lines changed or deleted | 43 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |