draft-ietf-idr-rfc4893bis-05.txt   draft-ietf-idr-rfc4893bis-06.txt 
Network Working Group Q. Vohra Network Working Group Q. Vohra
Internet Draft Juniper Networks Internet Draft Juniper Networks
Obsoletes: 4893 (if approved) E. Chen Obsoletes: 4893 (if approved) E. Chen
Intended Status: Standards Track Cisco Systems Intended Status: Standards Track Cisco Systems
Expiration Date: Oct 14, 2012 April 13, 2012 Expiration Date: Oct 24, 2012 April 23, 2012
BGP Support for Four-octet AS Number Space BGP Support for Four-octet AS Number Space
draft-ietf-idr-rfc4893bis-05.txt draft-ietf-idr-rfc4893bis-06.txt
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 33 skipping to change at page 1, line 33
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on October 14, 2012. This Internet-Draft will expire on October 24, 2012.
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
skipping to change at page 2, line 32 skipping to change at page 2, line 32
indicate its support for the four-octet AS numbers. Two attributes, indicate its support for the four-octet AS numbers. Two attributes,
AS4_PATH and AS4_AGGREGATOR, are introduced that can be used to AS4_PATH and AS4_AGGREGATOR, are introduced that can be used to
propagate four-octet based AS path information across BGP speakers propagate four-octet based AS path information across BGP speakers
that do not support the four-octet AS numbers. This document also that do not support the four-octet AS numbers. This document also
specifies mechanisms for constructing the AS path information from specifies mechanisms for constructing the AS path information from
the AS_PATH attribute and the AS4_PATH attribute. 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 2-octet AS numbers to 4-octet AS numbers. from 2-octet AS numbers to 4-octet AS numbers.
This document obsoletes RFC 4893, and a comparison with RFC 4893 is
provided in Appendix A.
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 4-octet AS number extensions as an OLD BGP not support the new 4-octet AS number extensions as an OLD BGP
skipping to change at page 5, line 12 skipping to change at page 5, line 23
AS_TRANS could be used instead (even if a multiple Autonomous System AS_TRANS could be used instead (even if a multiple Autonomous System
would use it). 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 speaker MUST send
the AS path information in the AS_PATH attribute encoded with 2-octet 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 AS numbers. The NEW speaker MUST also send the AS path information
in the AS4_PATH attribute (encoded with 4-octet AS numbers), except in the AS4_PATH attribute (encoded with 4-octet AS numbers), except
for the case where the entire AS path information is composed of 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 2-octet mappable AS numbers only. In this case, the NEW speaker MUST
the AS4_PATH attribute. NOT send the AS4_PATH attribute.
In the AS_PATH attribute encoded with 2-octet AS numbers, non- 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 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 AS number, AS_TRANS. This will preserve the path length property of
the AS path information and also help in updating the AS path the AS path information and also help in updating the AS path
information received on a NEW BGP speaker from an OLD speaker, as information received on a NEW BGP speaker from an OLD speaker, as
explained in the next section. explained in the next section.
The NEW speaker constructs the AS4_PATH attribute from the AS path The NEW speaker constructs the AS4_PATH attribute from the AS path
information. Whenever the AS path information contains the information. Whenever the AS path information contains the
skipping to change at page 5, line 38 skipping to change at page 5, line 49
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 4-octet AS numbers in the AS path help preserve the non-mappable 4-octet AS numbers in the AS path
information. information.
Similarly, if the NEW speaker has to send the AGGREGATOR attribute, Similarly, if the NEW speaker has to send the AGGREGATOR attribute,
and if the aggregating Autonomous System's AS number is a non- and if the aggregating Autonomous System's AS number is a non-
mappable 4-octet AS number, then the speaker MUST use the mappable 4-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 2-octets only, then the AS4_AGGREGATOR attribute if the AS number is 2-octets mappable, then the AS4_AGGREGATOR
MUST NOT be sent. attribute MUST 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 one, it MUST be 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 prepared to receive the AS4_PATH attribute along with the existing
AS_PATH attribute. If the AS4_PATH attribute is also received, both AS_PATH attribute. If the AS4_PATH attribute is also received, both
the attributes will be used to construct the exact AS path the attributes will be used to construct the exact AS path
information, and therefore the information carried by both the information, and therefore the information carried by both the
attributes will be considered for AS path loop detection. 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 2-octet AS numbers and OLD BGP speakers only. In that case, if with 2-octet AS numbers and OLD BGP speakers only. In that case, if
the route carries the AS4_PATH attribute, this attribute must have the route carries the AS4_PATH attribute, this attribute would have
remained unmodified since the route left the last NEW BGP speaker. remained unmodified since the route left the last NEW BGP speaker.
The trailing AS path information (representing autonomous systems The trailing AS path information (representing autonomous systems
with 2-octet AS numbers and OLD BGP speakers only) is contained only 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 in the current AS_PATH attribute (encoded in the leading part of the
AS_PATH attribute). AS_PATH attribute).
Under certain conditions, it may not be possible to reconstruct the Under certain conditions, it may not be possible to reconstruct the
entire AS path information from the AS_PATH and the AS4_PATH entire 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 4-octet AS number (as oppose to a 2-octet AS carries at least one 4-octet AS number (as opposed to a 2-octet AS
number that is encoded in 4 octets). Depending on the 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 the attributes are received, if the AS number in
skipping to change at page 6, line 48 skipping to change at page 7, line 15
Otherwise, Otherwise,
- 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 would be necessary In order to construct the AS path information, it is necessary to
to first calculate the number of AS numbers in the AS_PATH and first calculate the number of AS numbers in the AS_PATH and AS4_PATH
AS4_PATH attributes using the method specified in Section 9.1.2.2 attributes using the method specified in Section 9.1.2.2 [RFC4271]
and [RFC5065] for route selection.
[RFC4271] and [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
skipping to change at page 8, line 21 skipping to change at page 8, line 42
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 number, or AS 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 inconsistent with the attribute length, or is 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 defined: AS_SEQUENCE, AS_SET, AS_CONFED_SEQUENCE types defined: AS_SEQUENCE, AS_SET.
and 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 continue processing the UPDATE message. The error SHOULD be and continue processing the UPDATE message. The error SHOULD be
logged locally for analysis. logged 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
skipping to change at page 9, line 7 skipping to change at page 9, line 25
System could start using a 4-octet AS number only after all the BGP System could start using a 4-octet AS number only after all the BGP
speakers within that Autonomous System have been upgraded to support speakers within that Autonomous System have been upgraded to support
4-octet AS numbers. 4-octet AS numbers.
A non-mappable 4-octet AS number cannot be used as a "Member AS 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 Number" of a BGP Confederation until all the BGP speakers within the
Confederation have transitioned to support 4-octet AS numbers. Confederation have transitioned to support 4-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 AS speakers and use AS_TRANS (rather than having a globally unique
number), use of Multi-Exit Discriminators by the Autonomous System 2-octet mappable AS number), use of Multi-Exit Discriminators by the
with the OLD speakers may result in a situation where Multi-Exit Autonomous System with the OLD speakers may result in a situation
Discriminator will influence route selection among the routes that where Multi-Exit Discriminator will influence route selection among
were received from different neighboring Autonomous Systems. the routes that were received from 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 the
entire AS path information from the AS_PATH and the AS4_PATH entire 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 4-octet AS number (as oppose to a 2-octet AS number that is least one 4-octet AS number (as opposed to a 2-octet AS number that
encoded in 4 octets). When such aggregation results in creating a is encoded in 4 octets). When such aggregation results in creating a
route that is less specific than any of the component routes (route route that is less specific than any of the component routes (route
whose Network Layer Reachability Information (NLRI) covers NLRI of whose Network Layer Reachability Information (NLRI) covers NLRI of
all the component routes), loss of the AS path information does not 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 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. path information does create a risk of a routing loop.
8. IANA Considerations 8. IANA Considerations
[Remove this paragraph before publication: IANA should update the
reference for the "32-bit Autonomous System Numbers" sub-registry to
cite this document once an RFC number has been assigned to it,
replacing the citation of RFC 4893.]
This document expands the pool for AS numbers from 0 - 65535 to 0 - This document expands the pool for AS numbers from 0 - 65535 to 0 -
4294967295. The AS numbers are managed by the IANA "Autonomous 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 AS number allocation.
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 4-octet AS numbers. The Capability Code 65 has speaker supports the 4-octet AS numbers. The Capability Code 65 has
been assigned by IANA per [RFC5492]. been assigned by IANA per [RFC5492].
 End of changes. 13 change blocks. 
23 lines changed or deleted 30 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/