rfc9774v1.txt | rfc9774.txt | |||
---|---|---|---|---|
skipping to change at line 94 ¶ | skipping to change at line 94 ¶ | |||
overlap at the origin AS | overlap at the origin AS | |||
B.3. Scenario 3: First one route, then another, and the AS_PATHs | B.3. Scenario 3: First one route, then another, and the AS_PATHs | |||
overlap at the neighbor AS | overlap at the neighbor AS | |||
B.4. Achieving Consistent Origin AS During Aggregation | B.4. Achieving Consistent Origin AS During Aggregation | |||
Appendix C. Discussion on Forwarding Loops and AS_SETs | Appendix C. Discussion on Forwarding Loops and AS_SETs | |||
Acknowledgements | Acknowledgements | |||
Authors' Addresses | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
BCP 172 [RFC6472] recommends not using AS_SET [RFC4271] and | [BCP172] recommends not using AS_SET [RFC4271] and AS_CONFED_SET | |||
AS_CONFED_SET [RFC5065] AS_PATH path segment types in the Border | [RFC5065] AS_PATH path segment types in the Border Gateway Protocol | |||
Gateway Protocol (BGP). This document advances the BCP | (BGP). This document advances the BCP recommendation to a standards | |||
recommendation to a standards requirement in BGP; it prohibits the | requirement in BGP; it prohibits the use of the AS_SET and | |||
use of the AS_SET and AS_CONFED_SET types of path segments in the | AS_CONFED_SET types of path segments in the AS_PATH. The purpose is | |||
AS_PATH. The purpose is to simplify the design and implementation of | to simplify the design and implementation of BGP and to make the | |||
BGP and to make the semantics of the originator of a BGP route | semantics of the originator of a BGP route clearer. This will also | |||
clearer. This will also simplify the design, implementation, and | simplify the design, implementation, and deployment of various BGP | |||
deployment of various BGP security mechanisms. In particular, the | security mechanisms. In particular, the prohibition of AS_SETs and | |||
prohibition of AS_SETs and AS_CONFED_SETs removes any ambiguity about | AS_CONFED_SETs removes any ambiguity about the origin AS in RPKI- | |||
the origin AS in RPKI-based Route Origin Validation (RPKI-ROV) | based Route Origin Validation (RPKI-ROV) [RFC6811] [RFC6907] | |||
[RFC6811] [RFC6907] [RFC9319]. | [RFC9319]. | |||
The AS_SET path segment in the AS_PATH attribute (Sections 4.3 and | The AS_SET path segment in the AS_PATH attribute (Sections 4.3 and | |||
5.1.2 of [RFC4271]) is created by a router that is performing route | 5.1.2 of [RFC4271]) is created by a router that is performing route | |||
aggregation and contains an unordered set of Autonomous Systems | aggregation and contains an unordered set of Autonomous Systems | |||
(ASes) that contributing prefixes in the aggregate have traversed. | (ASes) that contributing prefixes in the aggregate have traversed. | |||
The AS_CONFED_SET path segment [RFC5065] in the AS_PATH attribute is | The AS_CONFED_SET path segment [RFC5065] in the AS_PATH attribute is | |||
created by a router that is performing route aggregation and contains | created by a router that is performing route aggregation and contains | |||
an unordered set of Member AS Numbers in the local confederation that | an unordered set of Member AS Numbers in the local confederation that | |||
contributing prefixes in the aggregate have traversed. It is very | contributing prefixes in the aggregate have traversed. It is very | |||
skipping to change at line 199 ¶ | skipping to change at line 199 ¶ | |||
| | | | |||
| If an aggregate excludes at least some of the AS numbers present | | If an aggregate excludes at least some of the AS numbers present | |||
| in the AS_PATH of the routes that are aggregated as a result of | | in the AS_PATH of the routes that are aggregated as a result of | |||
| dropping the AS_SET, the aggregated route, when advertised to the | | dropping the AS_SET, the aggregated route, when advertised to the | |||
| peer, SHOULD include the ATOMIC_AGGREGATE attribute. | | peer, SHOULD include the ATOMIC_AGGREGATE attribute. | |||
When BGP AS_PATH aggregation is done according to the procedures in | When BGP AS_PATH aggregation is done according to the procedures in | |||
[RFC4271], Section 9.2.2.2, and any resulting AS_SETs are discarded, | [RFC4271], Section 9.2.2.2, and any resulting AS_SETs are discarded, | |||
it is typically referred to as "brief" aggregation in | it is typically referred to as "brief" aggregation in | |||
implementations. Brief aggregation results in an AS_PATH that has | implementations. Brief aggregation results in an AS_PATH that has | |||
the property (from [RFC4271], Section 9.2.2.2): | the following property (from [RFC4271], Section 9.2.2.2): | |||
| [D]etermine the longest leading sequence of tuples (as defined | | [D]etermine the longest leading sequence of tuples (as defined | |||
| above) common to all the AS_PATH attributes of the routes to be | | above) common to all the AS_PATH attributes of the routes to be | |||
| aggregated. Make this sequence the leading sequence of the | | aggregated. Make this sequence the leading sequence of the | |||
| aggregated AS_PATH attribute. | | aggregated AS_PATH attribute. | |||
The ATOMIC_AGGREGATE Path Attribute is subsequently attached to the | The ATOMIC_AGGREGATE Path Attribute is subsequently attached to the | |||
BGP route, if AS_SETs are dropped. | BGP route, if AS_SETs are dropped. | |||
5.1. Issues with "Brief" AS_PATH Aggregation and RPKI-ROV | 5.1. Issues with "Brief" AS_PATH Aggregation and RPKI-ROV | |||
skipping to change at line 303 ¶ | skipping to change at line 303 ¶ | |||
AS_CONFED_SETs are not used in BGP. | AS_CONFED_SETs are not used in BGP. | |||
8. IANA Considerations | 8. IANA Considerations | |||
This document has no IANA actions. | This document has no IANA actions. | |||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
[BCP172] Best Current Practice 172, | ||||
<https://www.rfc-editor.org/info/bcp172>. | ||||
At the time of writing, this BCP comprises the following: | ||||
Kumari, W. and K. Sriram, "Recommendation for Not Using | ||||
AS_SET and AS_CONFED_SET in BGP", BCP 172, RFC 6472, | ||||
DOI 10.17487/RFC6472, December 2011, | ||||
<https://www.rfc-editor.org/info/rfc6472>. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
Border Gateway Protocol 4 (BGP-4)", RFC 4271, | Border Gateway Protocol 4 (BGP-4)", RFC 4271, | |||
DOI 10.17487/RFC4271, January 2006, | DOI 10.17487/RFC4271, January 2006, | |||
<https://www.rfc-editor.org/info/rfc4271>. | <https://www.rfc-editor.org/info/rfc4271>. | |||
[RFC4632] Fuller, V. and T. Li, "Classless Inter-domain Routing | [RFC4632] Fuller, V. and T. Li, "Classless Inter-domain Routing | |||
(CIDR): The Internet Address Assignment and Aggregation | (CIDR): The Internet Address Assignment and Aggregation | |||
Plan", BCP 122, RFC 4632, DOI 10.17487/RFC4632, August | Plan", BCP 122, RFC 4632, DOI 10.17487/RFC4632, August | |||
2006, <https://www.rfc-editor.org/info/rfc4632>. | 2006, <https://www.rfc-editor.org/info/rfc4632>. | |||
[RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous | [RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous | |||
System Confederations for BGP", RFC 5065, | System Confederations for BGP", RFC 5065, | |||
DOI 10.17487/RFC5065, August 2007, | DOI 10.17487/RFC5065, August 2007, | |||
<https://www.rfc-editor.org/info/rfc5065>. | <https://www.rfc-editor.org/info/rfc5065>. | |||
[RFC6472] Kumari, W. and K. Sriram, "Recommendation for Not Using | ||||
AS_SET and AS_CONFED_SET in BGP", BCP 172, RFC 6472, | ||||
DOI 10.17487/RFC6472, December 2011, | ||||
<https://www.rfc-editor.org/info/rfc6472>. | ||||
[RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet | [RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet | |||
Autonomous System (AS) Number Space", RFC 6793, | Autonomous System (AS) Number Space", RFC 6793, | |||
DOI 10.17487/RFC6793, December 2012, | DOI 10.17487/RFC6793, December 2012, | |||
<https://www.rfc-editor.org/info/rfc6793>. | <https://www.rfc-editor.org/info/rfc6793>. | |||
[RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. | [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. | |||
Patel, "Revised Error Handling for BGP UPDATE Messages", | Patel, "Revised Error Handling for BGP UPDATE Messages", | |||
RFC 7606, DOI 10.17487/RFC7606, August 2015, | RFC 7606, DOI 10.17487/RFC7606, August 2015, | |||
<https://www.rfc-editor.org/info/rfc7606>. | <https://www.rfc-editor.org/info/rfc7606>. | |||
skipping to change at line 518 ¶ | skipping to change at line 522 ¶ | |||
Receive R4. Aggregate 192.0.2.0/24 AS_PATH "[ 64504 64501 ]" | Receive R4. Aggregate 192.0.2.0/24 AS_PATH "[ 64504 64501 ]" | |||
If brief aggregation is in use, the AS_PATH is truncated to "". | If brief aggregation is in use, the AS_PATH is truncated to "". | |||
The resulting AS_PATH is thus not stable and depends on the presence | The resulting AS_PATH is thus not stable and depends on the presence | |||
of specific routes. | of specific routes. | |||
B.3. Scenario 3: First one route, then another, and the AS_PATHs | B.3. Scenario 3: First one route, then another, and the AS_PATHs | |||
overlap at the neighbor AS | overlap at the neighbor AS | |||
Receive R3. Aggregate 192.0.2.0/24 AS_PATH "64504 64501". | Receive R3. Aggregate 192.0.2.0/24 AS_PATH "64504 64501" | |||
Receive R4. Aggregate 192.0.2.0/24 AS_PATH "64504 [ 64501 64502 ]" | Receive R4. Aggregate 192.0.2.0/24 AS_PATH "64504 [ 64501 64502 ]" | |||
If brief aggregation is in use, the AS_PATH is truncated to "64504". | If brief aggregation is in use, the AS_PATH is truncated to "64504". | |||
The resulting AS_PATH is thus not stable and depends on the presence | The resulting AS_PATH is thus not stable and depends on the presence | |||
of specific routes. | of specific routes. | |||
B.4. Achieving Consistent Origin AS During Aggregation | B.4. Achieving Consistent Origin AS During Aggregation | |||
End of changes. 5 change blocks. | ||||
19 lines changed or deleted | 23 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |