BGP Large Communities Attribute
Extracted elements (17)
The existing BGP Communities attribute (RFC 1997) splits a 32-bit value into two 16-bit halves, making it incompatible with four-octet ASNs adopted in RFC 6793. The BGP Extended Communities attribute (RFC 4360) is also unsuitable because its six-octet value length precludes encoding four-octet ASNs in both the Global Administrator and Local Administrator sub-fields.
There is no significance to the order in which 12-octet Large Community values are encoded within the attribute; a BGP speaker may transmit them in any order.
A BGP Large Communities attribute MUST NOT be considered malformed if the Global Administrator field contains an unallocated, unassigned, or reserved ASN value.
A BGP Large Communities attribute SHALL be considered malformed if its value length in octets is not a non-zero multiple of 12.
A BGP Large Communities attribute SHALL NOT be considered malformed solely due to the presence of duplicate Large Community values; duplicates are handled by silent removal rather than error treatment.
A BGP UPDATE message with a malformed BGP Large Communities attribute SHALL be handled using the 'treat-as-withdraw' approach described in Section 2 of RFC 7606.
BGP Large Communities SHOULD be represented in the canonical representation (three colon-separated unsigned decimal integers).
Duplicate BGP Large Community values MUST NOT be transmitted. A receiving BGP speaker MUST silently remove redundant BGP Large Community values from a received BGP Large Communities attribute.
The canonical representation of a BGP Large Community is three separate unsigned integers in decimal, ordered Global Administrator:Local Data 1:Local Data 2, separated by colons. Numbers MUST NOT contain leading zeros; a zero value MUST be represented as a single zero (e.g., 64496:4294967295:2).
The Global Administrator field SHOULD be an ASN, in which case the Local Data Parts are interpreted as defined by the owner of that ASN.
Use of Reserved ASNs (0 per RFC 7607, 65535 and 4294967295 per RFC 7300) in the Global Administrator field is NOT RECOMMENDED.
When a range of routes is aggregated, the resulting aggregate should carry a BGP Large Communities attribute containing all BGP Large Communities from all aggregated routes.
The BGP Large Communities attribute is an optional transitive path attribute of variable length. All routes carrying the attribute belong to the communities specified therein, and the attribute is suitable for use with all ASNs including four-octet ASNs.
IANA has assigned the value 32 (LARGE_COMMUNITY) in the 'BGP Path Attributes' subregistry under the 'Border Gateway Protocol (BGP) Parameters' registry.
An AS relying on BGP Large Communities must trust every other AS along the path, as any intermediate AS may have added, deleted, or altered the BGP Large Communities attribute. The mechanism to establish such trust is out of scope for this document.
BGP Large Communities do not protect the integrity of community values; a BGP speaker can alter Large Community Attribute values in a BGP Update Message. Protecting the integrity of transitive handling falls within the broader scope of securing BGP and is not specifically addressed by this document.
Each BGP Large Community value is encoded as a 12-octet quantity comprising three 32-bit fields: Global Administrator (4 octets, a namespace identifier), Local Data Part 1 (4 octets, operator-defined), and Local Data Part 2 (4 octets, operator-defined). The attribute as a whole is an unordered set of one or more such 12-octet values.