rfc-6793

BGP Support for Four-Octet Autonomous System (AS) Number Space

Q. Vohra, E. Chen
date2012-12 streamIETF areartg wgidr statusPROPOSED STANDARD pages12 canonicalhttps://www.rfc-editor.org/rfc/rfc6793 doi10.17487/RFC6793 errataview
The Autonomous System number is encoded as a two-octet entity in the base BGP specification. This document describes extensions to BGP to carry the Autonomous System numbers as four-octet entities. This document obsoletes RFC 4893 and updates RFC 4271. [STANDARDS-TRACK]

obsoletes

updates

Extracted elements (28)

design-rationale §4.2.2

Representing non-mappable four-octet AS numbers as AS_TRANS in the two-octet AS_PATH preserves the path length property of AS path information, which is critical for routing policy evaluation and AS path loop detection across mixed OLD/NEW speaker environments.

bgp, routing

design-rationale §6

The 'attribute discard' approach was chosen for malformed AS4_PATH and AS4_AGGREGATOR attributes rather than treating them as hard errors, because two-octet AS numbers dominate during the transition period and the AS_PATH attribute carried by OLD speakers remains the authoritative path source.

bgp, routing

design-rationale §7

The extensions are designed to allow a gradual, piecemeal transition: an AS using a two-octet AS number can upgrade its BGP speakers incrementally without coordination. However, an AS wishing to adopt a four-octet AS number as its own must first upgrade all BGP speakers within the AS.

bgp, routing

interoperability-note §7

In environments where an AS with OLD BGP speakers peers with multiple ASes using AS_TRANS, the MULTI_EXIT_DISC attribute may influence route selection among routes received from different neighboring ASes in unintended ways, since the source AS identity is obscured by AS_TRANS.

bgp, routing

interoperability-note §4.2.1

Peering between a NEW BGP speaker and an OLD BGP speaker is possible only if the NEW BGP speaker has a two-octet AS number. When no globally unique two-octet AS number is available, AS_TRANS MUST be used, even if multiple Autonomous Systems would share it.

bgp, routing

interoperability-note §5

The BGP Communities attribute [RFC1997] encodes AS numbers in the high-order two octets and will not function correctly for NEW BGP speakers with non-mappable four-octet AS numbers. Such speakers should use four-octet AS specific extended communities [RFC5668] instead.

bgp, routing

interoperability-note §4.2.3

When routes with AS4_PATH are aggregated by an OLD BGP speaker, the AS4_PATH may be lost or result in valid but partial information that cannot be seamlessly combined, yielding incomplete AS path information. This incompleteness can create a routing loop risk in cases where the aggregated route is not less specific than all component routes.

bgp, routing

normative-requirement §4.1 SHALL

A BGP speaker that supports four-octet AS numbers SHALL advertise this to its peers using BGP Capabilities Advertisements, and the speaker's AS number MUST be carried in the Capability Value field of the capability.

bgp, routing

normative-requirement §6 MUST

A NEW BGP speaker receiving a malformed AS4_PATH or AS4_AGGREGATOR attribute in an UPDATE message from an OLD BGP speaker MUST discard the attribute and continue processing the UPDATE message. The error SHOULD be logged locally for analysis.

bgp, routing

normative-requirement §3 MUST NOT

AS_CONFED_SEQUENCE and AS_CONFED_SET path segments MUST NOT be included in the AS4_PATH attribute of an UPDATE message. A NEW BGP speaker receiving these types in the AS4_PATH attribute MUST discard those segments, adjust the relevant attribute fields, and continue processing.

bgp, routing

normative-requirement §4.1 MUST NOT

Between two NEW BGP speakers, AS numbers MUST be encoded as four-octet entities in both AS_PATH and AGGREGATOR. AS4_PATH and AS4_AGGREGATOR MUST NOT be carried in UPDATE messages between NEW BGP speakers; if received, they MUST be discarded and UPDATE processing must continue.

bgp, routing

normative-requirement §4.2.2 MUST

If the AS number in the AGGREGATOR attribute is a non-mappable four-octet value, the NEW BGP speaker MUST use AS4_AGGREGATOR and set the AS number in AGGREGATOR to AS_TRANS. If the AS number is mappable, AS4_AGGREGATOR MUST NOT be sent.

bgp, routing

normative-requirement §4.2.3 SHALL

To reconstruct AS path information when both AS_PATH and AS4_PATH are present: if AS_PATH has fewer AS numbers than AS4_PATH, AS4_PATH SHALL be ignored. Otherwise, construct the path by prepending leading segments from AS_PATH to AS4_PATH until the total AS number count equals that of AS_PATH.

bgp, routing

normative-requirement §4.1 MUST

When a NEW BGP speaker processes an OPEN message from another NEW BGP speaker, it MUST use the AS number encoded in the Capability Value field of the four-octet AS number capability in lieu of the 'My Autonomous System' field of the OPEN message.

bgp, routing

normative-requirement §6 MUST

When a NEW BGP speaker receives an AS4_PATH or AS4_AGGREGATOR attribute in an UPDATE from another NEW BGP speaker, it MUST discard the path attribute and continue processing. This case SHOULD be logged locally for analysis.

bgp, routing

normative-requirement §4.2.3 SHALL

When a NEW BGP speaker receives both AS4_AGGREGATOR and AGGREGATOR from an OLD speaker: if AGGREGATOR's AS number is not AS_TRANS, then AS4_AGGREGATOR and AS4_PATH SHALL be ignored and AGGREGATOR/AS_PATH are authoritative. If AGGREGATOR's AS number is AS_TRANS, then AGGREGATOR SHALL be ignored and AS4_AGGREGATOR taken as the aggregating node.

bgp, routing

normative-requirement §4.2.2 MUST

When communicating with an OLD BGP speaker, a NEW BGP speaker MUST send AS path information in AS_PATH encoded with two-octet AS numbers (using AS_TRANS for non-mappable four-octet AS numbers), and MUST also send AS4_PATH unless all AS path information is composed solely of mappable four-octet AS numbers, in which case AS4_PATH MUST NOT be sent.

bgp, routing

protocol-element §3

A new BGP capability, 'support for four-octet AS number capability' (Capability Code 65), is defined. The Capability Value field carries the speaker's AS number encoded as a four-octet entity, and the Capability Length field is set to 4.

bgp, routing

protocol-element §3

AS_TRANS (23456) is a reserved two-octet AS number used to represent non-mappable four-octet AS numbers in AS path information encoded with two-octet AS numbers. It is also placed in the 'My Autonomous System' field of the OPEN message by a NEW BGP speaker that lacks a globally unique two-octet AS number.

bgp, routing, registry

protocol-element §3

AS4_AGGREGATOR is a new optional transitive BGP path attribute (type code 18) with the same semantics and encoding as the AGGREGATOR attribute, but carrying a four-octet AS number instead of a two-octet one.

bgp, routing

protocol-element §3

AS4_PATH is a new optional transitive BGP path attribute (type code 17) with the same semantics and encoding as AS_PATH, but carrying four-octet AS numbers. It is used to propagate four-octet AS path information across OLD BGP speakers that do not support the extension.

bgp, routing

registry §9

IANA assigned BGP path attribute type code 17 to AS4_PATH and type code 18 to AS4_AGGREGATOR. IANA also updated the reference for reserved two-octet AS number AS_TRANS (23456) and the '32-bit Autonomous System Numbers' registry from RFC 4893 to RFC 6793.

bgp, routing, registry

registry §9

IANA assigned Capability Code 65 to the 'support for four-octet AS number capability' per RFC 5492. The Autonomous System Numbers pool is expanded from 0-65535 to 0-4294967295 under the existing 'Autonomous System Numbers' registry.

bgp, routing, registry

security-consideration §10

Assigning a non-mappable four-octet AS number as a 'Member AS Number' in a BGP Confederation before all speakers in the Confederation have transitioned to four-octet support is a misconfiguration that weakens AS path loop detection within the Confederation.

bgp, routing, security

security-consideration §10

Inconsistency between the AS_PATH attribute and the AS4_PATH attribute can cause loss of AS path information and potential routing loops, particularly when routes carrying AS4_PATH are aggregated by an OLD BGP speaker. This inconsistency could be exploited by an attacker to induce routing loops.

bgp, routing, security

wire-format §6

The AS4_AGGREGATOR attribute SHALL be considered malformed if its attribute length is not 8 (four-octet AS number plus four-octet IP address). A malformed AS4_AGGREGATOR MUST be discarded and the UPDATE message processing must continue.

bgp, routing

wire-format §6

The AS4_PATH attribute is malformed if: the attribute length is not a multiple of two or is less than 6; the path segment length is zero or inconsistent with the attribute length; or the path segment type is not one of AS_SEQUENCE, AS_SET, AS_CONFED_SEQUENCE, or AS_CONFED_SET.

bgp, routing

wire-format §3

The four-octet AS number capability carries the BGP speaker's AS number as a 4-octet entity in the Capability Value field; the Capability Length is set to 4. Between NEW BGP speakers, each AS number in AS_PATH and AGGREGATOR is encoded as a four-octet entity rather than the legacy two-octet encoding.

bgp, routing