4-Octet AS Specific BGP Extended Community
Extracted elements (7)
The 4-octet AS specific extended community was introduced because the existing 2-octet AS specific extended community (RFC 4360) cannot carry 4-octet AS numbers, which became necessary as the AS number space expanded beyond 16 bits (RFC 4893). The new type mirrors the 2-octet variant but widens the Global Administrator sub-field from 2 to 4 octets.
Per RFC 4893, a 2-octet AS number can be converted to a 4-octet AS number by setting the two high-order octets to zero. As a consequence, a 2-octet AS could technically use either 2-octet or 4-octet AS specific extended communities, but this is undesirable because the two forms would be treated as distinct even with identical Sub-Type and Local Administrator values.
Autonomous Systems that use 2-octet AS numbers SHOULD use 2-octet AS specific extended communities rather than 4-octet AS specific extended communities, to maintain backward compatibility and avoid inconsistencies where the same community values would be treated as different.
The 4-octet AS specific extended community is an extended type with a 2-octet Type field and a 6-octet Value field. The high-order octet of the Type is 0x02 for transitive communities or 0x42 for non-transitive; the low-order octet indicates the sub-type.
IANA created the 'Four-octet AS Specific Extended Community' registry. Transitive type values are 0x0200-0x02ff; non-transitive are 0x4200-0x42ff. Initial assignments are: four-octet AS specific Route Target (0x0202) and four-octet AS specific Route Origin (0x0203). Future assignments use First Come First Served policy.
This document does not introduce new security issues beyond those applicable to BGP extended communities generally. A potential serious issue exists if a malformed optional transitive attribute is received; implementations should follow the error-handling procedures discussed in the referenced work-in-progress on optional transitive BGP attributes.
The Value field of the 4-octet AS specific extended community consists of two sub-fields: a Global Administrator sub-field of 4 octets containing an IANA-assigned 4-octet AS number, followed by a Local Administrator sub-field of 2 octets whose format and meaning are defined by the community sub-type.