draft-ietf-idr-rfc4893bis-07.txt   rfc6793.txt 
Network Working Group Q. Vohra Internet Engineering Task Force (IETF) Q. Vohra
Internet Draft Juniper Networks Request for Comments: 6793 Juniper Networks
Obsoletes: 4893 (if approved) E. Chen Obsoletes: 4893 E. Chen
Intended Status: Standards Track Cisco Systems Updates: 4271 Cisco Systems
Expiration Date: December 21, 2012 June 20, 2012 Category: Standards Track December 2012
ISSN: 2070-1721
BGP Support for Four-octet AS Number Space
draft-ietf-idr-rfc4893bis-07.txt
Status of this Memo BGP Support for Four-Octet Autonomous System (AS) Number Space
This Internet-Draft is submitted to IETF in full conformance with the Abstract
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering The Autonomous System number is encoded as a two-octet entity in the
Task Force (IETF), its areas, and its working groups. Note that base BGP specification. This document describes extensions to BGP to
other groups may also distribute working documents as Internet- carry the Autonomous System numbers as four-octet entities. This
Drafts. document obsoletes RFC 4893 and updates RFC 4271.
Internet-Drafts are draft documents valid for a maximum of six months Status of This Memo
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at This is an Internet Standards Track document.
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at This document is a product of the Internet Engineering Task Force
http://www.ietf.org/shadow.html (IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
This Internet-Draft will expire on December 21, 2012. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6793.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Abstract 1. Introduction
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.
1. Introduction
In the base BGP specification [RFC4271] the Autonomous System (AS) In the base BGP specification [RFC4271], the Autonomous System (AS)
number is encoded as a two-octet entity. To prepare for the number is encoded as a two-octet entity. To prepare for the
anticipated exhaustion of the two-octet AS numbers, this document anticipated exhaustion of the two-octet AS numbers, this document
describes extensions to BGP to carry the AS numbers as four-octet describes extensions to BGP to carry the AS numbers as four-octet
entities. entities.
More specifically, this document defines a BGP capability, "support More specifically, this document defines a BGP capability code,
for four-octet AS number capability", to be used by a BGP speaker to "support for four-octet AS number capability", to be used by a BGP
indicate its support for the four-octet AS numbers. Two attributes, speaker to indicate its support for four-octet AS numbers. Two
AS4_PATH and AS4_AGGREGATOR, are introduced that can be used to attributes, AS4_PATH and AS4_AGGREGATOR, are introduced that can be
propagate four-octet based AS path information across BGP speakers used to propagate four-octet-based AS path information across BGP
that do not support the four-octet AS numbers. This document also speakers that do not support four-octet AS numbers. This document
specifies mechanisms for constructing the AS path information from also specifies mechanisms for constructing the AS path information
the AS_PATH attribute and the AS4_PATH attribute. from the AS_PATH attribute and the AS4_PATH attribute.
The extensions specified in this document allow a gradual transition The extensions specified in this document allow a gradual transition
from two-octet AS numbers to four-octet AS numbers. from two-octet AS numbers to four-octet AS numbers.
This document obsoletes RFC 4893, and a comparison with RFC 4893 is This document obsoletes RFC 4893 and updates RFC 4271. It includes
provided in Appendix A. several clarifications and editorial changes, and it specifies the
error handling for the new attributes.
2. Specification of Requirements 2. Specification of Requirements
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
3. Protocol Extensions 3. Protocol Extensions
For the purpose of this document we define a BGP speaker that does For the purpose of this document, we define a BGP speaker that does
not support the new four-octet AS number extensions as an OLD BGP not support the new four-octet AS number extensions as an OLD BGP
speaker, and a BGP speaker that supports the new four-octet AS number speaker, and a BGP speaker that supports the new four-octet AS number
extensions as a NEW BGP speaker. extensions as a NEW BGP speaker.
BGP carries the AS numbers in the "My Autonomous System" field of the BGP carries the AS numbers in the "My Autonomous System" field of the
OPEN message, in the AS_PATH attribute of the UPDATE message, and in OPEN message, in the AS_PATH attribute of the UPDATE message, and in
the AGGREGATOR attribute of the UPDATE message. BGP also carries the the AGGREGATOR attribute of the UPDATE message. BGP also carries the
AS numbers in the BGP Communities attribute. AS numbers in the BGP Communities attribute.
A NEW BGP speaker uses BGP Capability Advertisements [RFC5492] to A NEW BGP speaker uses BGP Capabilities Advertisements [RFC5492] to
advertise to its neighbors (either internal or external) that it advertise to its neighbors (either internal or external) that it
supports four-octet AS number extensions, as specified in this supports four-octet AS number extensions, as specified in this
document. document.
The Capability that is used by a BGP speaker to convey to its BGP The capability that is used by a BGP speaker to convey to its BGP
peer the four-octet Autonomous System number capability, also carries peer the four-octet Autonomous System number capability also carries
the AS number (encoded as a four-octet entity) of the speaker in the the AS number (encoded as a four-octet entity) of the speaker in the
Capability Value field of the Capability Optional Parameter. The Capability Value field of the capability. The Capability Length
Capability Length field of the Capability is set to 4. field of the capability is set to 4.
The AS path information exchanged between NEW BGP speakers are The AS path information exchanged between NEW BGP speakers is carried
carried in the existing AS_PATH attribute, except that each AS number in the existing AS_PATH attribute, except that each AS number in the
in the attribute is encoded as a four-octet entity (instead of a two- attribute is encoded as a four-octet entity (instead of a two-octet
octet entity). The same applies to the AGGREGATOR attribute - the entity). The same applies to the AGGREGATOR attribute -- the same
same attribute is used between NEW BGP speakers, except that the AS attribute is used between NEW BGP speakers, except that the AS number
number carried in the attribute is encoded as a four-octet entity. carried in the attribute is encoded as a four-octet entity.
The AS_PATH attribute and the AGGREGATOR attribute carried between a The AS_PATH attribute and the AGGREGATOR attribute carried between a
NEW BGP speaker and an OLD BGP speaker will continue to contain two- NEW BGP speaker and an OLD BGP speaker will continue to contain
octet AS numbers. two-octet AS numbers.
To preserve the AS path information with four-octet AS numbers across To preserve the AS path information with four-octet AS numbers across
OLD BGP speakers, this document defines a new AS path attribute, OLD BGP speakers, this document defines a new BGP path attribute
called AS4_PATH. This is an optional transitive attribute that called AS4_PATH. This is an optional transitive attribute that
contains the AS path encoded with four-octet AS numbers. The contains the AS path encoded with four-octet AS numbers. The
AS4_PATH attribute has the same semantics as the AS_PATH attribute, AS4_PATH attribute has the same semantics and the same encoding as
except that it is optional transitive, and it carries four-octet AS the AS_PATH attribute, except that it is "optional transitive", and
numbers. it carries four-octet AS numbers.
To prevent the possible propagation of confederation path segments To prevent the possible propagation of Confederation-related path
outside of a confederation, the path segment types AS_CONFED_SEQUENCE segments outside of a Confederation, the path segment types
and AS_CONFED_SET [RFC5065] are declared invalid for the AS4_PATH AS_CONFED_SEQUENCE and AS_CONFED_SET [RFC5065] are declared invalid
attribute, and MUST NOT be included in the AS4_PATH attribute of an for the AS4_PATH attribute and MUST NOT be included in the AS4_PATH
UPDATE message. attribute of an UPDATE message.
Similarly, this document defines a new aggregator attribute called Similarly, this document defines a new BGP path attribute called
AS4_AGGREGATOR, which is optional transitive. The AS4_AGGREGATOR AS4_AGGREGATOR, which is optional transitive. The AS4_AGGREGATOR
attribute has the same semantics as the AGGREGATOR attribute, except attribute has the same semantics and the same encoding as the
that it carries a four-octet AS number. AGGREGATOR attribute, except that it carries a four-octet AS number.
Currently assigned two-octet AS numbers are converted into four-octet Currently assigned two-octet AS numbers are converted into four-octet
AS numbers by setting the two high-order octets of the four-octet AS numbers by setting the two high-order octets of the four-octet
field to zero. Such a four-octet AS number is said to be mappable to field to zero. Such a four-octet AS number is said to be mappable to
a two-octet AS number. a two-octet AS number.
To represent four-octet AS numbers (which are not mapped from two- This document reserves a two-octet AS number called "AS_TRANS".
octets) as two-octet AS numbers in the AS path information encoded AS_TRANS can be used to represent non-mappable four-octet AS numbers
with two-octet AS numbers, this document reserves a two-octet AS as two-octet AS numbers in AS path information that is encoded with
number. We denote this special AS number as AS_TRANS for ease of two-octet AS numbers. (In this context, four-octet AS numbers that
description in the rest of this specification. This AS number is are not mapped from two-octet AS numbers are referred to as
also placed in the "My Autonomous System" field of the OPEN message "non-mappable".) We denote this special AS number as AS_TRANS for
originated by a NEW BGP speaker, if and only if the speaker does not ease of description in the rest of this specification. This AS
have a (globally unique) two-octet AS number. number is also placed in the "My Autonomous System" field of the OPEN
message originated by a NEW BGP speaker, if and only if the speaker
does not have a (globally unique) two-octet AS number.
4. Operations 4. Operations
4.1. Interaction Between NEW BGP Speakers 4.1. Interaction between NEW BGP Speakers
A BGP speaker that supports four-octet AS numbers SHALL advertise A BGP speaker that supports four-octet AS numbers SHALL advertise
this to its peers using the BGP Capability Advertisements. The AS this to its peers using BGP Capabilities Advertisements. The AS
number of the BGP speaker MUST be carried in the capability value number of the BGP speaker MUST be carried in the Capability Value
field of the "support for four-octet AS number capability". field of the "support for four-octet AS number capability".
When a NEW BGP speaker processes an OPEN message from another NEW BGP 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 speaker, it MUST use the AS number encoded in the Capability Value
field of the Capability in lieu of the "My Autonomous System" field field of the "support for four-octet AS number capability" in lieu of
of the OPEN message. the "My Autonomous System" field of the OPEN message.
A BGP speaker that advertises such capability to a particular peer, A BGP speaker that advertises such a capability to a particular peer,
and receives from that peer the advertisement of such capability MUST and receives from that peer the advertisement of such a capability,
encode AS numbers as four-octet entities in both the AS_PATH and the MUST encode AS numbers as four-octet entities in both the AS_PATH
AGGREGATOR attributes in the updates it sends to the peer, and MUST attribute and the AGGREGATOR attribute in the updates it sends to the
assume that these attributes in the updates received from the peer peer and MUST assume that these attributes in the updates received
encode AS numbers as four-octet entities. from the peer encode AS numbers as four-octet entities.
The new attributes, AS4_PATH and AS4_AGGREGATOR MUST NOT be carried The new attributes, AS4_PATH and AS4_AGGREGATOR, MUST NOT be carried
in an UPDATE message between NEW BGP speakers. A NEW BGP speaker in an UPDATE message between NEW BGP speakers. A NEW BGP speaker
that receives the AS4_PATH attribute or the AS4_AGGREGATOR attribute that receives the AS4_PATH attribute or the AS4_AGGREGATOR attribute
in an UPDATE message from another NEW BGP speaker MUST discard the in an UPDATE message from another NEW BGP speaker MUST discard the
path attribute and continue processing the UPDATE message. path attribute and continue processing the UPDATE message.
4.2. Interaction Between NEW and OLD BGP Speakers 4.2. Interaction between NEW and OLD BGP Speakers
4.2.1. BGP Peering 4.2.1. BGP Peering
Note that peering between a NEW BGP speaker and an OLD BGP speaker is Note that 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. possible only if the NEW BGP speaker has a two-octet AS number.
However, this document does not assume that an Autonomous System with However, this document does not assume that an Autonomous System with
NEW speakers has to have a globally unique two-octet AS number -- NEW BGP speakers has to have a globally unique two-octet AS number --
AS_TRANS MUST be used when the NEW speaker does not have a two-octet AS_TRANS MUST be used when the NEW BGP speaker does not have a
AS number (even if multiple Autonomous Systems would use it). two-octet AS number (even if multiple Autonomous Systems would
use it).
4.2.2. Generating Updates 4.2.2. Generating Updates
When communicating with an OLD BGP speaker, a NEW speaker MUST send When communicating with an OLD BGP speaker, a NEW BGP speaker MUST
the AS path information in the AS_PATH attribute encoded with two- send the AS path information in the AS_PATH attribute encoded with
octet AS numbers. The NEW speaker MUST also send the AS path two-octet AS numbers. The NEW BGP speaker MUST also send the AS path
information in the AS4_PATH attribute (encoded with four-octet AS information in the AS4_PATH attribute (encoded with four-octet AS
numbers), except for the case where the entire AS path information is numbers), except for the case where all of the AS path information is
composed of two-octet mappable AS numbers only. In this case, the composed of mappable four-octet AS numbers only. In this case, the
NEW speaker MUST NOT send the AS4_PATH attribute. NEW BGP speaker MUST NOT send the AS4_PATH attribute.
In the AS_PATH attribute encoded with two-octet AS numbers, non- In the AS_PATH attribute encoded with two-octet AS numbers,
mappable four-octet AS numbers are represented by the well-known two- non-mappable four-octet AS numbers are represented by the well-known
octet AS number, AS_TRANS. This will preserve the path length two-octet AS number, AS_TRANS. This will preserve the path length
property of the AS path information and also help in updating the AS property of the AS path information and also help in updating the AS
path information received on a NEW BGP speaker from an OLD speaker, path information received on a NEW BGP speaker from an OLD BGP
as explained in the next section. speaker, as explained in the next section.
The NEW speaker constructs the AS4_PATH attribute from the AS path The NEW BGP speaker constructs the AS4_PATH attribute from the AS
information. Whenever the AS path information contains the path information. Whenever the AS path information contains the
AS_CONFED_SEQUENCE or AS_CONFED_SET path segment, the NEW BGP speaker AS_CONFED_SEQUENCE or AS_CONFED_SET path segment, the NEW BGP speaker
MUST exclude such path segments from the AS4_PATH attribute being MUST exclude such path segments from the AS4_PATH attribute being
constructed. constructed.
The AS4_PATH attribute, being optional transitive, will be carried The AS4_PATH attribute, being optional transitive, will be carried
across a series of OLD BGP speakers without modification and will across a series of OLD BGP speakers without modification and will
help preserve the non-mappable four-octet AS numbers in the AS path help preserve the non-mappable four-octet AS numbers in the AS path
information. information.
Similarly, if the NEW speaker has to send the AGGREGATOR attribute, Similarly, if the NEW BGP speaker has to send the AGGREGATOR
and if the aggregating Autonomous System's AS number is a non- attribute, and if the aggregating Autonomous System's AS number is a
mappable four-octet AS number, then the speaker MUST use the non-mappable four-octet AS number, then the speaker MUST use the
AS4_AGGREGATOR attribute, and set the AS number field in the existing AS4_AGGREGATOR attribute and set the AS number field in the existing
AGGREGATOR attribute to the reserved AS number, AS_TRANS. Note that AGGREGATOR attribute to the reserved AS number, AS_TRANS. Note that
if the AS number is two-octets mappable, then the AS4_AGGREGATOR if the AS number is mappable, then the AS4_AGGREGATOR attribute MUST
attribute MUST NOT be sent. NOT be sent.
4.2.3. Processing Received Updates 4.2.3. Processing Received Updates
When a NEW BGP speaker receives an update from an OLD BGP speaker, it When a NEW BGP speaker receives an update from an OLD BGP speaker, it
MUST be prepared to receive the AS4_PATH attribute along with the MUST be prepared to receive the AS4_PATH attribute along with the
existing AS_PATH attribute. If the AS4_PATH attribute is also existing AS_PATH attribute. If the AS4_PATH attribute is also
received, both the attributes will be used to construct the exact AS received, both of the attributes will be used to construct the exact
path information, and therefore the information carried by both the AS path information, and therefore the information carried by both of
attributes will be considered for AS path loop detection. the attributes will be considered for AS path loop detection.
Note that a route may have traversed a series of autonomous systems Note that a route may have traversed a series of Autonomous Systems
with two-octet AS numbers and OLD BGP speakers only. In that case, with two-octet AS numbers and OLD BGP speakers only. In that case,
if the route carries the AS4_PATH attribute, this attribute would if the route carries the AS4_PATH attribute, this attribute would
have remained unmodified since the route left the last NEW BGP have remained unmodified since the route left the last NEW BGP
speaker. The trailing AS path information (representing autonomous speaker. The trailing AS path information (representing Autonomous
systems with two-octet AS numbers and OLD BGP speakers only) is Systems with two-octet AS numbers and OLD BGP speakers only) is
contained only in the current AS_PATH attribute (encoded in the contained only in the current AS_PATH attribute (encoded in the
leading part of the AS_PATH attribute). leading part of the AS_PATH attribute).
Under certain conditions, it may not be possible to reconstruct the Under certain conditions, it may not be possible to reconstruct all
entire AS path information from the AS_PATH and the AS4_PATH of the AS path information from the AS_PATH and the AS4_PATH
attributes of a route. This occurs, for example, when two or more attributes of a route. This occurs, for example, when two or more
routes that carry the AS4_PATH attribute are aggregated by an OLD BGP routes that carry the AS4_PATH attribute are aggregated by an OLD BGP
speaker, and the AS4_PATH attribute of at least one of these routes speaker, and the AS4_PATH attribute of at least one of these routes
carries at least one four-octet AS number (as opposed to a two-octet carries at least one four-octet AS number (as opposed to a two-octet
AS number that is encoded in 4 octets). Depending on the AS number that is encoded in 4 octets). Depending on the
implementation, either the AS4_PATH attribute would be lost during implementation, either the AS4_PATH attribute would be lost during
route aggregation, or both the AS_PATH attribute and the AS4_PATH route aggregation, or both the AS_PATH attribute and the AS4_PATH
attribute would contain valid, partial information that cannot be attribute would contain valid, partial information that cannot be
combined seamlessly, resulting in incomplete AS path information in combined seamlessly, resulting in incomplete AS path information in
these cases. these cases.
A NEW BGP speaker MUST also be prepared to receive the AS4_AGGREGATOR A NEW BGP speaker MUST also be prepared to receive the AS4_AGGREGATOR
attribute along with the AGGREGATOR attribute from an OLD BGP attribute along with the AGGREGATOR attribute from an OLD BGP
speaker. When both the attributes are received, if the AS number in speaker. When both of the attributes are received, if the AS number
the AGGREGATOR attribute is not AS_TRANS, then: in the AGGREGATOR attribute is not AS_TRANS, then:
- the AS4_AGGREGATOR attribute and the AS4_PATH attribute SHALL - the AS4_AGGREGATOR attribute and the AS4_PATH attribute SHALL
be ignored, be ignored,
- the AGGREGATOR attribute SHALL be taken as the information - the AGGREGATOR attribute SHALL be taken as the information
about the aggregating node, and about the aggregating node, and
- the AS_PATH attribute SHALL be taken as the AS path - the AS_PATH attribute SHALL be taken as the AS path
information. information.
skipping to change at page 7, line 17 skipping to change at page 7, line 7
- the AGGREGATOR attribute SHALL be ignored, - the AGGREGATOR attribute SHALL be ignored,
- the AS4_AGGREGATOR attribute SHALL be taken as the information - the AS4_AGGREGATOR attribute SHALL be taken as the information
about the aggregating node, and about the aggregating node, and
- the AS path information would need to be constructed, as in all - the AS path information would need to be constructed, as in all
other cases. other cases.
In order to construct the AS path information, it is necessary to In order to construct the AS path information, it is necessary to
first calculate the number of AS numbers in the AS_PATH and AS4_PATH first calculate the number of AS numbers in the AS_PATH and AS4_PATH
attributes using the method specified in Section 9.1.2.2 [RFC4271] attributes using the method specified in Section 9.1.2.2 of [RFC4271]
and [RFC5065] for route selection. and in [RFC5065] for route selection.
If the number of AS numbers in the AS_PATH attribute is less than the If the number of AS numbers in the AS_PATH attribute is less than the
number of AS numbers in the AS4_PATH attribute, then the AS4_PATH number of AS numbers in the AS4_PATH attribute, then the AS4_PATH
attribute SHALL be ignored, and the AS_PATH attribute SHALL be taken attribute SHALL be ignored, and the AS_PATH attribute SHALL be taken
as the AS path information. as the AS path information.
If the number of AS numbers in the AS_PATH attribute is larger than If the number of AS numbers in the AS_PATH attribute is larger than
or equal to the number of AS numbers in the AS4_PATH attribute, then or equal to the number of AS numbers in the AS4_PATH attribute, then
the AS path information SHALL be constructed by taking as many AS the AS path information SHALL be constructed by taking as many AS
numbers and path segments as necessary from the leading part of the numbers and path segments as necessary from the leading part of the
AS_PATH attribute, and then prepending them to the AS4_PATH attribute AS_PATH attribute, and then prepending them to the AS4_PATH attribute
so that the AS path information has an identical number of AS numbers so that the AS path information has a number of AS numbers identical
as the AS_PATH attribute. Note that a valid AS_CONFED_SEQUENCE or to that of the AS_PATH attribute. Note that a valid
AS_CONFED_SET path segment SHALL be prepended if it is either the AS_CONFED_SEQUENCE or AS_CONFED_SET path segment SHALL be prepended
leading path segment or adjacent to a path segment that is prepended. if it is either the leading path segment or is adjacent to a path
segment that is prepended.
5. Handling BGP Communities 5. Handling BGP Communities
As specified in [RFC1997], when the high-order two-octets of the As specified in [RFC1997], when the high-order two octets of the
community attribute is neither 0x0000 nor 0xffff, these two octets community attribute is neither 0x0000 nor 0xffff, these two octets
encode the AS number. Quite clearly this would not work for a NEW encode the AS number. Quite clearly, this would not work for a NEW
BGP speaker with a non-mappable four-octet AS number. Such BGP BGP speaker with a non-mappable four-octet AS number. Such BGP
speakers should use the four-octet AS Specific Extended Communities speakers should use four-octet AS specific extended communities
[RFC5668] instead. [RFC5668] instead.
6. Error Handling 6. Error Handling
This section provides an update to RFC 4271 [RFC4271] with respect to This section provides an update to RFC 4271 [RFC4271] with respect to
the error conditions noted here and their handling. the error conditions noted here and their handling.
Given that the two-octet AS numbers dominate during the transition, Given that the two-octet AS numbers dominate during the transition
and are carried in the AS_PATH attribute by an OLD BGP speaker, in and are carried in the AS_PATH attribute by an OLD BGP speaker, in
this document the "attribute discard" approach is chosen to handle a this document the "attribute discard" approach is chosen to handle a
malformed AS4_PATH attribute. malformed AS4_PATH attribute.
Similarly, as the AS4_AGGREGATOR is just informational, the Similarly, as the AS4_AGGREGATOR is just informational, the
"attribute discard" approach is chosen to handle a malformed "attribute discard" approach is chosen to handle a malformed
AS4_AGGREGATOR attribute. AS4_AGGREGATOR attribute.
The AS4_PATH attribute and AS4_AGGREGATOR attribute MUST NOT be The AS4_PATH attribute and AS4_AGGREGATOR attribute MUST NOT be
carried in an UPDATE message between NEW BGP speakers. A NEW BGP carried in an UPDATE message between NEW BGP speakers. A NEW BGP
skipping to change at page 8, line 37 skipping to change at page 8, line 23
AS_CONFED_SET [RFC5065] MUST NOT be carried in the AS4_PATH attribute AS_CONFED_SET [RFC5065] MUST NOT be carried in the AS4_PATH attribute
of an UPDATE message. A NEW BGP speaker that receives these path of an UPDATE message. A NEW BGP speaker that receives these path
segment types in the AS4_PATH attribute of an UPDATE message from an segment types in the AS4_PATH attribute of an UPDATE message from an
OLD BGP speaker MUST discard these path segments, adjust the relevant OLD BGP speaker MUST discard these path segments, adjust the relevant
attribute fields accordingly, and continue processing the UPDATE attribute fields accordingly, and continue processing the UPDATE
message. This case SHOULD be logged locally for analysis. message. This case SHOULD be logged locally for analysis.
The AS4_PATH attribute in an UPDATE message SHALL be considered The AS4_PATH attribute in an UPDATE message SHALL be considered
malformed under the following conditions: malformed under the following conditions:
- the attribute length is not a multiple of two, or is too small - the attribute length is not a multiple of two or is too small
(i.e., less than 6) for the attribute to carry at least one (i.e., less than 6) for the attribute to carry at least one AS
AS number, or number, or
- the path segment length in the attribute is either zero, or - the path segment length in the attribute is either zero or is
is inconsistent with the attribute length, or inconsistent with the attribute length, or
- the path segment type in the attribute is not one of the - the path segment type in the attribute is not one of the types
types defined: AS_SEQUENCE, AS_SET, AS_CONFED_SEQUENCE defined: AS_SEQUENCE, AS_SET, AS_CONFED_SEQUENCE, and
and AS_CONFED_SET. AS_CONFED_SET.
A NEW BGP speaker that receives a malformed AS4_PATH attribute in an A NEW BGP speaker that receives a malformed AS4_PATH attribute in an
UPDATE message from an OLD BGP speaker MUST discard the attribute, UPDATE message from an OLD BGP speaker MUST discard the attribute and
and continue processing the UPDATE message. The error SHOULD be continue processing the UPDATE message. The error SHOULD be logged
logged locally for analysis. locally for analysis.
The AS4_AGGREGATOR attribute in an UPDATE message SHALL be considered The AS4_AGGREGATOR attribute in an UPDATE message SHALL be considered
malformed if the attribute length is not 8. malformed if the attribute length is not 8.
A NEW BGP speaker that receives a malformed AS4_AGGREGATOR attribute A NEW BGP speaker that receives a malformed AS4_AGGREGATOR attribute
in an UPDATE message from an OLD BGP speaker MUST discard the in an UPDATE message from an OLD BGP speaker MUST discard the
attribute, and continue processing the UPDATE message. The error attribute and continue processing the UPDATE message. The error
SHOULD be logged locally for analysis. SHOULD be logged locally for analysis.
7. Transition 7. Transition
When an Autonomous System is using a two-octet AS number, then the When an Autonomous System is using a two-octet AS number, then the
BGP speakers within that Autonomous System MAY be upgraded to support BGP speakers within that Autonomous System MAY be upgraded to support
the four-octet AS number extensions on a piecemeal basis. There is the four-octet AS number extensions on a piecemeal basis. There is
no requirement for a coordinated upgrade of the four-octet AS number no requirement for a coordinated upgrade of the four-octet AS number
capability in this case. However, if an Autonomous System wishes to capability in this case. However, if an Autonomous System wishes to
use a four-octet AS number as its own AS number, then this document use a four-octet AS number as its own AS number, then this document
assumes that an Autonomous System can use a four-octet AS number only assumes that an Autonomous System can use a four-octet AS number only
after all the BGP speakers within that Autonomous System have been after all the BGP speakers within that Autonomous System have been
upgraded to support four-octet AS numbers. upgraded to support four-octet AS numbers.
A non-mappable four-octet AS number cannot be used as a "Member AS A non-mappable four-octet AS number cannot be used as a "Member AS
Number" of a BGP Confederation until all the BGP speakers within the Number" of a BGP Confederation until all the BGP speakers within the
Confederation have transitioned to support four-octet AS numbers. Confederation have transitioned to support four-octet AS numbers.
In an environment where an Autonomous System that has OLD BGP In an environment where an Autonomous System that has OLD BGP
speakers peers with two or more Autonomous Systems that have NEW BGP speakers peers with two or more Autonomous Systems that have NEW BGP
speakers and use AS_TRANS (rather than having a globally unique two- speakers and use AS_TRANS (rather than having a globally unique
octet mappable AS number), use of Multi-Exit Discriminators by the mappable AS number), the use of the MULTI_EXIT_DISC attribute
Autonomous System with the OLD speakers may result in a situation [RFC4271] by the Autonomous System with the OLD BGP speakers may
where Multi-Exit Discriminator will influence route selection among result in a situation where the MULTI_EXIT_DISC attribute will
the routes that were received from different neighboring Autonomous influence route selection among the routes that were received from
Systems. different neighboring Autonomous Systems.
Under certain conditions, it may not be possible to reconstruct the Under certain conditions, it may not be possible to reconstruct all
entire AS path information from the AS_PATH and the AS4_PATH of the AS path information from the AS_PATH and the AS4_PATH
attributes of a route. This occurs when two or more routes that attributes of a route. This occurs when two or more routes that
carry the AS4_PATH attribute are aggregated by an OLD BGP speaker, carry the AS4_PATH attribute are aggregated by an OLD BGP speaker,
and the AS4_PATH attribute of at least one of these routes carries at and the AS4_PATH attribute of at least one of these routes carries at
least one four-octet AS number (as opposed to a two-octet AS number least one four-octet AS number (as opposed to a two-octet AS number
that is encoded in 4 octets). When such aggregation results in that is encoded in 4 octets). When such aggregation results in
creating a route that is less specific than any of the component creating a route that is less specific than any of the component
routes (route whose Network Layer Reachability Information (NLRI) routes (routes whose Network Layer Reachability Information (NLRI)
covers NLRI of all the component routes), loss of the AS path covers the NLRI of all the component routes), loss of the AS path
information does not create a risk of a routing loop. In all other information does not create the risk of a routing loop. In all other
cases, loss of the AS path information does create a risk of a cases, loss of the AS path information does create the risk of a
routing loop. routing loop.
8. IANA Considerations 8. Manageability Considerations
[Remove this paragraph before publication: IANA should update the If the BGP4-MIB [RFC4273] is supported, there are no additional
reference for the "32-bit Autonomous System Numbers" sub-registry to manageability concerns that arise from the use of four-octet AS
cite this document once an RFC number has been assigned to it, numbers, since the InetAutonomousSystemNumber textual convention
replacing the citation of RFC 4893.] [RFC4001] is defined as Unsigned32.
This document expands the pool for AS numbers from 0 - 65535 to 0 - When IP Flow Information Export (IPFIX) [RFC5101] is supported, there
4294967295. The AS numbers are managed by the IANA "Autonomous are no additional manageability concerns that arise from the use of
four-octet AS numbers. The bgpSourceAsNumber and
bgpDestinationAsNumber information elements [IANA-IPFIX] can continue
to be used, with a new template record, specifying the new length of
4 bytes.
9. IANA Considerations
This document expands the pool for AS numbers from 0-65535 to
0-4294967295. The AS numbers are managed by the IANA "Autonomous
System Numbers" registry. Other than expanding the AS number pool, System Numbers" registry. Other than expanding the AS number pool,
this document does not propose any modifications to the existing this document does not propose any modifications to the existing
policies and procedures pertaining to the AS number allocation. policies and procedures pertaining to the allocation of AS numbers.
This document uses a BGP Capability code to indicate that a BGP This document uses a BGP capability code to indicate that a BGP
speaker supports the four-octet AS numbers. The Capability Code 65 speaker supports four-octet AS numbers. Capability Code 65 has been
has been assigned by IANA per [RFC5492]. assigned by IANA per [RFC5492].
In addition, this document introduces two BGP optional transitive In addition, this document introduces two BGP optional transitive
attributes, and their type codes have been assigned by the IANA. The attributes, and their type codes have been assigned by IANA. The
first one is the AS4_PATH attribute, value 17, which preserves the AS first one is the AS4_PATH attribute, value 17, which preserves the AS
path information with four-octet AS numbers across old BGP speakers. path information with four-octet AS numbers across old BGP speakers.
The second one is the AS4_AGGREGATOR attribute, value 18, which is The second one is the AS4_AGGREGATOR attribute, value 18, which is
similar in use to the current AGGREGATOR attribute, but it carries a similar in use to the current AGGREGATOR attribute, but it carries a
four-octet AS number. four-octet AS number.
Finally, this document introduces a reserved two-octet AS number -- Finally, IANA has replaced a reference to RFC 4893 with a reference
AS_TRANS. The AS number 23456 has been assigned by the IANA for to this document for a reserved two-octet AS number -- AS_TRANS
AS_TRANS. (23456). Also, IANA has replaced a reference to RFC 4893 with a
reference to this document for the "32-bit Autonomous System Numbers"
registry.
9. Security Considerations 10. Security Considerations
This extension to BGP does not change the underlying security issues This extension to BGP does not change the underlying security issues
inherent in the existing BGP, except for the following: inherent in the existing BGP, except for the following:
The inconsistency between the AS_PATH attribute and the AS4_PATH The inconsistency between the AS_PATH attribute and the AS4_PATH
attribute can create loss of the AS path information, and potential attribute can create loss of the AS path information, and potential
routing loops in certain cases as discussed in the document. This routing loops in certain cases, as discussed in this document. This
could be exploited by an attacker. could be exploited by an attacker.
It is a misconfiguration to assign a non-mappable four-octet AS It is a misconfiguration to assign a non-mappable four-octet AS
number as the "Member AS Number" in a BGP confederation before all number as the "Member AS Number" in a BGP Confederation before all
the BGP speakers within the confederation have transitioned to the BGP speakers within the Confederation have transitioned to
support four-octet AS numbers. Such a misconfiguration would weaken support four-octet AS numbers. Such a misconfiguration would weaken
the AS path loop detection within a confederation. AS path loop detection within a Confederation.
10. Acknowledgments 11. Acknowledgments
The authors would like to thank Yakov Rekhter, Chaitanya Kodeboyina, The authors would like to thank Yakov Rekhter, Chaitanya Kodeboyina,
and Jeffrey Haas for the numerous discussions that went into the and Jeffrey Haas for the numerous discussions that went into the
making of this document. making of this document.
The authors would also like to thank members of the IDR Working Group The authors would also like to thank members of the IDR Working Group
for their review and comments. for their review and comments.
11. Normative References 12. References
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A 12.1. Normative References
Border Gateway Protocol 4 (BGP-4)", RFC 4271, January
2006.
[RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities [RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities
Attribute", RFC 1997, August 1996. Attribute", RFC 1997, August 1996.
[RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
with BGP-4", RFC 5492, February 2009. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
System Confederations for BGP", RFC 5065, August 2007. Border Gateway Protocol 4 (BGP-4)", RFC 4271,
January 2006.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous
Requirement Levels", BCP 14, RFC 2119, March 1997. System Confederations for BGP", RFC 5065, August 2007.
[RFC5668] Rekhter, Y., Ramachandra, S., and D. Tappan, "4-Octet AS [RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement
Specific BGP Extended Community", RFC 5668, October 2009. with BGP-4", RFC 5492, February 2009.
Appendix A. Comparison with RFC 4893 [RFC5668] Rekhter, Y., Sangli, S., and D. Tappan, "4-Octet AS
Specific BGP Extended Community", RFC 5668,
October 2009.
This document includes several clarifications and editorial changes, 12.2. Informative References
and specifies the error handling for the new attributes.
12. Authors' Addresses [IANA-IPFIX] IANA, "IP Flow Information Export (IPFIX) Entities",
<http://www.iana.org/assignments/ipfix>.
[RFC4001] Daniele, M., Haberman, B., Routhier, S., and J.
Schoenwaelder, "Textual Conventions for Internet Network
Addresses", RFC 4001, February 2005.
[RFC4273] Haas, J., Ed., and S. Hares, Ed., "Definitions of
Managed Objects for BGP-4", RFC 4273, January 2006.
[RFC5101] Claise, B., Ed., "Specification of the IP Flow
Information Export (IPFIX) Protocol for the Exchange of
IP Traffic Flow Information", RFC 5101, January 2008.
Authors' Addresses
Quaizar Vohra Quaizar Vohra
Juniper Networks Juniper Networks
1194 N. Mathilda Ave. 1194 N. Mathilda Ave.
Sunnyvale, CA 94089 Sunnyvale, CA 94089
USA USA
EMail: quaizar.vohra@gmail.com EMail: quaizar.vohra@gmail.com
Enke Chen Enke Chen
Cisco Systems, Inc. Cisco Systems, Inc.
170 W. Tasman Dr. 170 W. Tasman Dr.
San Jose, CA 95134 San Jose, CA 95134
USA USA
EMail: enkechen@cisco.com EMail: enkechen@cisco.com
 End of changes. 93 change blocks. 
209 lines changed or deleted 230 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/