rfc-8092

BGP Large Communities Attribute

J. Heitz (Editor), J. Snijders (Editor), K. Patel, I. Bagdonas, N. Hilliard
date2017-02 streamIETF areartg wgidr statusPROPOSED STANDARD pages8 canonicalhttps://www.rfc-editor.org/rfc/rfc8092 doi10.17487/RFC8092 errataview
This document describes the BGP Large Communities attribute, an extension to BGP-4. This attribute provides a mechanism to signal opaque information within separate namespaces to aid in routing management. The attribute is suitable for use with all Autonomous System Numbers (ASNs) including four-octet ASNs.

Extracted elements (17)

design-rationale §1

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.

bgp, routing

interoperability-note §3

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.

bgp, routing

normative-requirement §6 MUST NOT

A BGP Large Communities attribute MUST NOT be considered malformed if the Global Administrator field contains an unallocated, unassigned, or reserved ASN value.

bgp, routing

normative-requirement §6 REQUIRED

A BGP Large Communities attribute SHALL be considered malformed if its value length in octets is not a non-zero multiple of 12.

bgp, routing

normative-requirement §6 MUST NOT

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.

bgp, routing

normative-requirement §6 REQUIRED

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, routing

normative-requirement §5 SHOULD

BGP Large Communities SHOULD be represented in the canonical representation (three colon-separated unsigned decimal integers).

bgp, routing

normative-requirement §3 MUST NOT

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.

bgp, routing

normative-requirement §5 MUST NOT

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).

bgp, routing

normative-requirement §3 SHOULD

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.

bgp, routing

normative-requirement §3 RECOMMENDED

Use of Reserved ASNs (0 per RFC 7607, 65535 and 4294967295 per RFC 7300) in the Global Administrator field is NOT RECOMMENDED.

bgp, routing

normative-requirement §4 SHOULD

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.

bgp, routing

protocol-element §3

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.

bgp, routing

registry §8

IANA has assigned the value 32 (LARGE_COMMUNITY) in the 'BGP Path Attributes' subregistry under the 'Border Gateway Protocol (BGP) Parameters' registry.

bgp, routing, registry

security-consideration §7

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, routing, security

security-consideration §7

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.

bgp, routing, security

wire-format §3

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.

bgp, routing