RFC 1997
BGP Communities Attribute
RFC 1997: BGP Communities Attribute π
okay bestie, the header is giving π This one comes from the Network Working Group and it's numbered 1997. It's marked as Standards Track β and dated August 1996 π. The authors are R. Chandra, P. Traina (both from cisco Systems) and T. Li π. There's no Obsoletes or Updates line in the header, so it doesn't list anything it replaces or changes π
Status of This Memo β¨
okay so the official vibe is that this document specifies an Internet standards track protocol for the Internet community π It requests discussion and suggestions for improvements π¬ For the standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited π¦
Abstract π¦
BGP (Border Gateway Protocol [1]) is an inter-autonomous system routing protocol designed for TCP/IP internets π
This document describes an extension to BGP that may be used to pass additional information to both neighboring and remote BGP peers π
The goal is to aid in policy administration and reduce the management complexity of maintaining the Internet π«Ά
Introduction π§
BGP supports transit policies through controlled distribution of routing information. Mechanisms for this are described in [1], and transit service providers have successfully used them π Right now, though, control over distribution of routing information is based on either IP address prefixes or the value of the AS_PATH attribute (or part of it) π
To make this easier, the document suggests grouping destinations so that routing decisions can also be based on the identity of a group π§© This scheme is expected to significantly simplify a BGP speaker's configuration that controls distribution of routing information π
Terms and Definitions π
Community π: A community is a group of destinations which share some common property.
Each autonomous system administrator may define which communities a destination belongs to. By default, all destinations belong to the general Internet community π
Examples π
A property such as "NSFNET sponsored/AUP" could be added to all AUP compliant destinations advertised into the NSFNET π NSFNET operators could define a policy that would advertise all routes, tagged or not, to directly connected AUP compliant customers, and only tagged routes to commercial or external sites. This would insure that at least one side of a given connection is AUP compliant, as a way of enforcing NSF transit policy guidelines π‘οΈ
In this example, we just eliminated the main reason for a complex policy routing database that generates huge prefix and AS path based filter rules π We also got rid of the delays caused by out-of-band maintenance of that database (mailing in NACRs, weekly configuration runs, etc.) π€
A second example comes from experience with aggregation π§ It's often useful to advertise both an aggregate prefix and the component more-specific prefixes that were used to form the aggregate, so that "next hop" routing gets optimized β¨ These component prefixes are only useful to the neighboring BGP peer, or perhaps the autonomous system of the neighboring BGP peer, so it's desirable to filter this information π By specifying a community value that the neighboring peer or peers will match and filter on, these more specific routes may be advertised with the assurance that they won't propagate beyond their desired scope π¦
COMMUNITIES attribute πΈ
This document creates the COMMUNITIES path attribute, which is an optional transitive attribute of variable length. It's a set of four octet values, each of which specifies a community. All routes with this attribute belong to the communities listed in the attribute π«§
The COMMUNITIES attribute has Type Code 8 π’
Communities are treated as 32 bit values π― However, for administrative assignment, the following presumptions may be made:
The community attribute values ranging from 0x0000000 through 0x0000FFFF and from 0xFFFF0000 through 0xFFFFFFFF are hereby reserved π«
The rest of the community attribute values shall be encoded using an autonomous system number in the first two octets. The semantics of the final two octets may be defined by the autonomous system (e.g. AS 690 may define research, educational and commercial community values that may be used for policy routing, as defined by the operators of that AS, using community attribute values 0x02B20000 through 0x02B2FFFF) π
Well-known Communities π
The following communities have global significance, and their operations shall be implemented in any community-attribute-aware BGP speaker π
NO_EXPORT(0xFFFFFF01): All routes received carrying a communities attribute containing this value MUST NOT be advertised outside a BGP confederation boundary (a stand-alone autonomous system that is not part of a confederation should be considered a confederation itself) π§NO_ADVERTISE(0xFFFFFF02): All routes received carrying a communities attribute containing this value MUST NOT be advertised to other BGP peers π€«NO_EXPORT_SUBCONFED(0xFFFFFF03): All routes received carrying a communities attribute containing this value MUST NOT be advertised to external BGP peers (this includes peers in other members autonomous systems inside a BGP confederation) π
Operation π―
A BGP speaker may use this attribute to control which routing information it accepts, prefers or distributes to other neighbors π
A BGP speaker receiving a route that does not have the COMMUNITIES path attribute may append this attribute to the route when propagating it to its peers β
A BGP speaker receiving a route with the COMMUNITIES path attribute may modify this attribute according to the local policy π οΈ
Aggregation π§©
If a range of routes is to be aggregated, and the resultant aggregates attribute section does not carry the ATOMIC_AGGREGATE attribute, then the resulting aggregate should have a COMMUNITIES path attribute which contains all communities from all of the aggregated routes π
Applicability β
The COMMUNITIES path attribute may be used with BGP version 2 and all subsequent versions of BGP, unless specifically noted otherwise π·
Security Considerations π
Security issues are not discussed in this memo. π± That's the whole section, bestie, and it's serious. The memo states plainly that it doesn't cover security at all π¨
Acknowledgments π«Ά
Thanks to Vince Fuller, Sean Doran, and Andrew Partan for bringing to our attention the problems that we believe the BGP communities attribute will help solve π Thanks also to Yakov Rekhter for reviewing this document and for his constructive and valuable comments πΈ
Authors' Addresses π
- Paul Traina, cisco Systems, Inc., 170 W. Tasman Dr., San Jose, CA 95134. EMail: pst@cisco.com
- Ravishanker Chandrasekeran (Ravi Chandra), cisco Systems, Inc., 170 W. Tasman Dr., San Jose, CA 95134. EMail: rchandra@cisco.com
- Tony Li, EMail: tli@skat.usc.edu
References π
π¦ where this page comes from
- ietf: rfc1997 1996-08
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms