BGP Support for Four-octet AS Number Space
draft-ietf-idr-rfc4893bis-05
The information below is for an old version of the document.
| Document | Type | Active Internet-Draft (idr WG) | |
|---|---|---|---|
| Authors | Quaizar Vohra , Enke Chen | ||
| Last updated | 2012-04-13 | ||
| Stream | Internet Engineering Task Force (IETF) | ||
| Formats | plain text htmlized pdfized bibtex | ||
| Reviews |
GENART Telechat review
Ready
SECDIR Early review
Ready with Nits
|
||
| Stream | WG state | WG Document | |
| Document shepherd | (None) | ||
| IESG | IESG state | I-D Exists | |
| Consensus boilerplate | Unknown | ||
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-ietf-idr-rfc4893bis-05
Network Working Group Q. Vohra
Internet Draft Juniper Networks
Obsoletes: 4893 (if approved) E. Chen
Intended Status: Standards Track Cisco Systems
Expiration Date: Oct 14, 2012 April 13, 2012
BGP Support for Four-octet AS Number Space
draft-ietf-idr-rfc4893bis-05.txt
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
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
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on October 14, 2012.
Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
draft-ietf-idr-rfc4893bis-05.txt [Page 1]
Internet Draft draft-ietf-idr-rfc4893bis-05.txt April 13, 2012
Abstract
The Autonomous System (AS) 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 number
is encoded as a two-octet entity. To prepare for the anticipated
exhaustion of the two-octet AS numbers, this document describes
extensions to BGP to carry the Autonomous System numbers as four-
octet entities.
More specifically, this document defines a BGP capability, "support
for 4-octet AS number capability", to be used by a BGP speaker to
indicate its support for the four-octet AS numbers. Two attributes,
AS4_PATH and AS4_AGGREGATOR, are introduced that can be used to
propagate four-octet based AS path information across BGP speakers
that do not support the four-octet AS numbers. This document also
specifies mechanisms for constructing the AS path information from
the AS_PATH attribute and the AS4_PATH attribute.
The extensions specified in this document allow a gradual transition
from 2-octet AS numbers to 4-octet AS numbers.
2. Specification of Requirements
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
3. Protocol Extensions
For the purpose of this document we define a BGP speaker that does
not support the new 4-octet AS number extensions as an OLD BGP
speaker, and a BGP speaker that supports the new 4-octet AS number
extensions as a NEW BGP speaker.
BGP carries the Autonomous System numbers in the "My Autonomous
System" field of the OPEN message, in the AS_PATH attribute of the
UPDATE message, and in the AGGREGATOR attribute of the UPDATE
message. BGP also carries the Autonomous System numbers in the BGP
Communities attribute.
draft-ietf-idr-rfc4893bis-05.txt [Page 2]
Internet Draft draft-ietf-idr-rfc4893bis-05.txt April 13, 2012
A NEW BGP speaker uses BGP Capability Advertisements [RFC5492] to
advertise to its neighbors (either internal or external) that it
supports 4-octet AS number extensions, as specified in this document.
The Capability that is used by a BGP speaker to convey to its BGP
peer the 4-octet Autonomous System number capability, also carries
the Autonomous System number (encoded as a 4-octet entity) of the
speaker in the Capability Value field of the Capability Optional
Parameter. The Capability Length field of the Capability is set to
4.
The AS path information exchanged between NEW BGP speakers are
carried in the existing AS_PATH attribute, except that each AS number
in the attribute is encoded as a 4-octet entity (instead of a 2-octet
entity). The same applies to the AGGREGATOR attribute - the same
attribute is used between NEW BGP speakers, except that the AS number
carried in the attribute is encoded as a 4-octet entity.
The AS_PATH attribute and the AGGREGATOR attribute carried between a
NEW BGP speaker and an OLD BGP speaker will continue to contain
2-octet AS numbers.
To preserve the AS path information with 4-octet AS numbers across
OLD BGP speakers, this document defines a new AS path attribute,
called AS4_PATH. This is an optional transitive attribute that
contains the AS path encoded with 4-octet AS numbers. The AS4_PATH
attribute has the same semantics as the AS_PATH attribute, except
that it is optional transitive, and it carries 4-octet AS numbers.
To prevent the possible propagation of confederation path segments
outside of a confederation, the path segment types AS_CONFED_SEQUENCE
and AS_CONFED_SET [RFC5065] are declared invalid for the AS4_PATH
attribute, and MUST NOT be included in the AS4_PATH attribute of an
UPDATE message.
Similarly, this document defines a new aggregator attribute called
AS4_AGGREGATOR, which is optional transitive. The AS4_AGGREGATOR
attribute has the same semantics as the AGGREGATOR attribute, except
that it carries a 4-octet AS number.
Currently assigned 2-octet Autonomous System numbers are converted
into 4-octet Autonomous System numbers by setting the two high-order
octets of the 4-octet field to zero. Such a 4-octet AS number is
said to be mappable to a 2-octet AS number.
To represent 4-octet AS numbers (which are not mapped from 2-octets)
as 2-octet AS numbers in the AS path information encoded with 2-octet
AS numbers, this document reserves a 2-octet AS number. We denote
draft-ietf-idr-rfc4893bis-05.txt [Page 3]
Internet Draft draft-ietf-idr-rfc4893bis-05.txt April 13, 2012
this special AS number as AS_TRANS for ease of description in the
rest of this specification. This AS number is also placed in the "My
Autonomous System" field of the OPEN message originated by a NEW BGP
speaker, if the speaker does not have a (globally unique) 2-octet AS
number.
4. Operations
4.1. Interaction Between NEW BGP Speakers
A BGP speaker that supports 4-octet Autonomous System numbers SHALL
advertise this to its peers using the BGP Capability Advertisements.
The Autonomous System number of the BGP speaker MUST be carried in
the capability value field of the "support for 4-octet AS number
capability".
When a NEW BGP speaker processes an OPEN message from another NEW BGP
speaker, it MUST use the Autonomous System number encoded in the
Capability Value field of the Capability in lieu of the "My
Autonomous System" field of the OPEN message.
A BGP speaker that advertises such capability to a particular peer,
and receives from that peer the advertisement of such capability MUST
encode Autonomous System numbers as 4-octet entities in both the
AS_PATH and the AGGREGATOR attributes in the updates it sends to the
peer, and MUST assume that these attributes in the updates received
from the peer encode Autonomous System numbers as 4-octet entities.
The new attributes, AS4_PATH and AS4_AGGREGATOR MUST NOT be carried
in an UPDATE message between NEW BGP speakers. A NEW BGP speaker
that receives the AS4_PATH attribute or the AS4_AGGREGATOR attribute
in an UPDATE message from another NEW BGP speaker MUST discard the
path attribute and continue processing the UPDATE message.
4.2. Interaction Between NEW and OLD BGP Speakers
4.2.1. BGP Peering
Note that peering between a NEW BGP speaker and an OLD one is
possible only if the NEW BGP speaker has a 2-octet AS number.
However, this document does not assume that an Autonomous System with
NEW speakers has to have a globally unique 2-octet AS number --
AS_TRANS could be used instead (even if a multiple Autonomous System
would use it).
draft-ietf-idr-rfc4893bis-05.txt [Page 4]
Internet Draft draft-ietf-idr-rfc4893bis-05.txt April 13, 2012
4.2.2. Generating Updates
When communicating with an OLD BGP speaker, a NEW speaker MUST send
the AS path information in the AS_PATH attribute encoded with 2-octet
AS numbers. The NEW speaker MUST also send the AS path information
in the AS4_PATH attribute (encoded with 4-octet AS numbers), except
for the case where the entire AS path information is composed of
2-octet AS numbers only. In this case, the NEW speaker MUST NOT send
the AS4_PATH attribute.
In the AS_PATH attribute encoded with 2-octet AS numbers, non-
mappable 4-octet AS numbers are represented by the well-known 2-octet
AS number, AS_TRANS. This will preserve the path length 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, as
explained in the next section.
The NEW speaker constructs the AS4_PATH attribute from the AS path
information. Whenever the AS path information contains the
AS_CONFED_SEQUENCE or AS_CONFED_SET path segment, the NEW BGP speaker
MUST exclude such path segments from the AS4_PATH attribute being
constructed.
The AS4_PATH attribute, being optional transitive, will be carried
across a series of OLD BGP speakers without modification and will
help preserve the non-mappable 4-octet AS numbers in the AS path
information.
Similarly, if the NEW speaker has to send the AGGREGATOR attribute,
and if the aggregating Autonomous System's AS number is a non-
mappable 4-octet AS number, then the speaker MUST use the
AS4_AGGREGATOR attribute, and set the AS number field in the existing
AGGREGATOR attribute to the reserved AS number, AS_TRANS. Note that
if the AS number is 2-octets only, then the AS4_AGGREGATOR attribute
MUST NOT be sent.
4.2.3. Processing Received Updates
When a NEW BGP speaker receives an update from an OLD one, it MUST be
prepared to receive the AS4_PATH attribute along with the existing
AS_PATH attribute. If the AS4_PATH attribute is also received, both
the attributes will be used to construct the exact AS path
information, and therefore the information carried by both the
attributes will be considered for AS path loop detection.
Note that a route may have traversed a series of autonomous systems
with 2-octet AS numbers and OLD BGP speakers only. In that case, if
draft-ietf-idr-rfc4893bis-05.txt [Page 5]
Internet Draft draft-ietf-idr-rfc4893bis-05.txt April 13, 2012
the route carries the AS4_PATH attribute, this attribute must have
remained unmodified since the route left the last NEW BGP speaker.
The trailing AS path information (representing autonomous systems
with 2-octet AS numbers and OLD BGP speakers only) is contained only
in the current AS_PATH attribute (encoded in the leading part of the
AS_PATH attribute).
Under certain conditions, it may not be possible to reconstruct the
entire AS path information from the AS_PATH and the AS4_PATH
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
speaker, and the AS4_PATH attribute of at least one of these routes
carries at least one 4-octet AS number (as oppose to a 2-octet AS
number that is encoded in 4 octets). Depending on the
implementation, either the AS4_PATH attribute would be lost during
route aggregation, or both the AS_PATH attribute and the AS4_PATH
attribute would contain valid, partial information that cannot be
combined seamlessly, resulting in incomplete AS path information in
these cases.
A NEW BGP speaker MUST also be prepared to receive the AS4_AGGREGATOR
attribute along with the AGGREGATOR attribute from an OLD BGP
speaker. When both the attributes are received, if the AS number in
the AGGREGATOR attribute is not AS_TRANS, then:
- the AS4_AGGREGATOR attribute and the AS4_PATH attribute SHALL
be ignored,
- the AGGREGATOR attribute SHALL be taken as the information
about the aggregating node, and
- the AS_PATH attribute SHALL be taken as the AS path
information.
Otherwise,
- the AGGREGATOR attribute SHALL be ignored,
- the AS4_AGGREGATOR attribute SHALL be taken as the information
about the aggregating node, and
- the AS path information would need to be constructed, as in all
other cases.
In order to construct the AS path information, it would be necessary
to 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
draft-ietf-idr-rfc4893bis-05.txt [Page 6]
Internet Draft draft-ietf-idr-rfc4893bis-05.txt April 13, 2012
[RFC4271] and [RFC5065] for route selection.
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
attribute SHALL be ignored, and the AS_PATH attribute SHALL be taken
as the AS path information.
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
the AS path information SHALL be constructed by taking as many AS
numbers and path segments as necessary from the leading part of the
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
as the AS_PATH attribute. Note that a valid AS_CONFED_SEQUENCE or
AS_CONFED_SET path segment SHALL be prepended if it is either the
leading path segment or adjacent to a path segment that is prepended.
5. Handling BGP Communities
As specified in [RFC1997], when the high-order two-octets of the
community attribute is neither 0x0000 nor 0xffff, these two octets
encode the Autonomous System number. Quite clearly this would not
work for a NEW BGP speaker with a non-mappable 4-octet AS number.
Such BGP speakers should use the Four-octet AS Specific Extended
Communities [RFC5668] instead.
6. Error Handling
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
this document the "attribute discard" approach is chosen to handle a
malformed AS4_PATH attribute.
Similarly, as the AS4_AGGREGATOR is just informational, the
"attribute discard" approach is chosen to handle a malformed
AS4_AGGREGATOR attribute.
The AS4_PATH attribute and AS4_AGGREGATOR attribute MUST NOT be
carried in an UPDATE message between NEW BGP speakers. A NEW BGP
speaker that receives the AS4_PATH attribute or the AS4_AGGREGATOR
attribute in an UPDATE message from another NEW BGP speaker MUST
discard the path attribute and continue processing the UPDATE
message. This case SHOULD be logged locally for analysis.
In addition, the path segment types AS_CONFED_SEQUENCE and
AS_CONFED_SET [RFC5065] MUST NOT be carried in the AS4_PATH attribute
draft-ietf-idr-rfc4893bis-05.txt [Page 7]
Internet Draft draft-ietf-idr-rfc4893bis-05.txt April 13, 2012
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
OLD BGP speaker MUST discard these path segments, adjust the relevant
attribute fields accordingly, and continue processing the UPDATE
message. This case SHOULD be logged locally for analysis.
The AS4_PATH attribute in an UPDATE message SHALL be considered
malformed under the following conditions:
- 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
AS number, or
- the path segment length in the attribute is either zero, or
is inconsistent with the attribute length, or
- the path segment type in the attribute is not one of the
types defined: AS_SEQUENCE, AS_SET, AS_CONFED_SEQUENCE
and AS_CONFED_SET.
A NEW BGP speaker that receives a malformed AS4_PATH 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.
The AS4_AGGREGATOR attribute in an UPDATE message SHALL be considered
malformed if the attribute length is not 8.
A NEW BGP speaker that receives a malformed 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.
7. Transition
The scheme described in this document allows a gradual transition
from 2-octet AS numbers to 4-octet AS numbers. One can upgrade one
Autonomous System or one BGP speaker at a time.
To simplify transition, this document assumes that an Autonomous
System could start using a 4-octet AS number only after all the BGP
speakers within that Autonomous System have been upgraded to support
4-octet AS numbers.
A non-mappable 4-octet AS number cannot be used as a "Member AS
Number" of a BGP Confederation until all the BGP speakers within the
Confederation have transitioned to support 4-octet AS numbers.
draft-ietf-idr-rfc4893bis-05.txt [Page 8]
Internet Draft draft-ietf-idr-rfc4893bis-05.txt April 13, 2012
In an environment where an Autonomous System that has OLD BGP
speakers peers with two or more Autonomous Systems that have NEW BGP
speakers and use AS_TRANS (rather than having a globally unique AS
number), use of Multi-Exit Discriminators by the Autonomous System
with the OLD speakers may result in a situation where Multi-Exit
Discriminator will influence route selection among the routes that
were received from different neighboring Autonomous Systems.
Under certain conditions, it may not be possible to reconstruct the
entire AS path information from the AS_PATH and the AS4_PATH
attributes of a route. This occurs when two or more 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 carries at
least one 4-octet AS number (as oppose to a 2-octet AS number that is
encoded in 4 octets). When such aggregation results in creating a
route that is less specific than any of the component routes (route
whose Network Layer Reachability Information (NLRI) covers NLRI of
all the component routes), loss of the AS path information does not
create a risk of a routing loop. In all other cases, loss of the AS
path information does create a risk of a routing loop.
8. 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,
this document does not propose any modifications to the existing
policies and procedures pertaining to the AS number allocation.
This document uses a BGP Capability code to indicate that a BGP
speaker supports the 4-octet AS numbers. The Capability Code 65 has
been assigned by IANA per [RFC5492].
In addition, this document introduces two BGP optional transitive
attributes, and their type codes have been assigned by the IANA. The
first one is the AS4_PATH attribute, value 17, which preserves the AS
path information with 4-octet AS numbers across old BGP speakers.
The second one is the AS4_AGGREGATOR attribute, value 18, which is
similar in use to the current AGGREGATOR attribute, but it carries a
4-octet AS number.
Finally, this document introduces a reserved 2-octet AS number --
AS_TRANS. The AS number 23456 has been assigned by the IANA for
AS_TRANS.
draft-ietf-idr-rfc4893bis-05.txt [Page 9]
Internet Draft draft-ietf-idr-rfc4893bis-05.txt April 13, 2012
9. Security Considerations
This extension to BGP does not change the underlying security issues
inherent in the existing BGP, except for the following:
The inconsistency between the AS_PATH attribute and the AS4_PATH
attribute can create loss of the AS path information, and potential
routing loops in certain cases as discussed in the document. This
could be exploited by an attacker.
It is a misconfiguration to assign a non-mappable 4-octet AS number
as the "Member AS Number" in a BGP confederation before all the BGP
speakers within the confederation have transitioned to support
4-octet AS numbers. Such a misconfiguration would weaken the AS path
loop detection within a confederation.
10. Acknowledgments
The authors would like to thank Yakov Rekhter, Chaitanya Kodeboyina,
and Jeffrey Haas for the numerous discussions that went into the
making of this document.
The authors would also like to thank members of the IDR Working Group
for their review and comments.
11. Normative References
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271, January
2006.
[RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities
Attribute", RFC 1997, August 1996.
[RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement
with BGP-4", RFC 5492, February 2009.
[RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous
System Confederations for BGP", RFC 5065, August 2007.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5668] Rekhter, Y., Ramachandra, S., and D. Tappan, "4-Octet AS
Specific BGP Extended Community", RFC 5668, October 2009.
draft-ietf-idr-rfc4893bis-05.txt [Page 10]
Internet Draft draft-ietf-idr-rfc4893bis-05.txt April 13, 2012
Appendix A. Comparison with RFC 4893
This document includes several clarifications and editorial changes,
and specifies the error handling for the new attributes.
12. Authors' Addresses
Quaizar Vohra
Juniper Networks
1194 N. Mathilda Ave.
Sunnyvale, CA 94089
USA
EMail: quaizar.vohra@gmail.com
Enke Chen
Cisco Systems, Inc.
170 W. Tasman Dr.
San Jose, CA 95134
USA
EMail: enkechen@cisco.com
draft-ietf-idr-rfc4893bis-05.txt [Page 11]