rfc9774v2.txt | rfc9774.txt | |||
---|---|---|---|---|
skipping to change at line 80 ¶ | skipping to change at line 80 ¶ | |||
6.2. Not Advertising Aggregate Routes to Contributing ASes | 6.2. Not Advertising Aggregate Routes to Contributing ASes | |||
6.3. Mitigating Forwarding Loops | 6.3. Mitigating Forwarding Loops | |||
7. Security Considerations | 7. Security Considerations | |||
8. IANA Considerations | 8. IANA Considerations | |||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
9.2. Informative References | 9.2. Informative References | |||
Appendix A. Example of Route Filtering for Aggregate Routes and | Appendix A. Example of Route Filtering for Aggregate Routes and | |||
Their Contributors | Their Contributors | |||
Appendix B. Examples of Consistent and Inconsistent BGP Origin AS | Appendix B. Examples of Consistent and Inconsistent BGP Origin AS | |||
Generated by Traditional Brief Aggregation | Generated by Brief Aggregation | |||
B.1. Scenario 1: First one route, then another, each with a | B.1. Scenario 1: First one route, then another, each with a | |||
fully disjoint AS_PATH | fully disjoint AS_PATH | |||
B.2. Scenario 2: First one route, then another, and the AS_PATHs | B.2. Scenario 2: First one route, then another, and the AS_PATHs | |||
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 | |||
skipping to change at line 198 ¶ | skipping to change at line 198 ¶ | |||
| advertised without the AS_SET, and without forming route loops. | | advertised without the AS_SET, and without forming route loops. | |||
| | | | |||
| 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. That terminology is adopted here: In this document, | |||
the following property (from [RFC4271], Section 9.2.2.2): | brief aggregation refers to what is described in this section, in | |||
contrast to consistent brief aggregation as described in Section 5.2. | ||||
Brief aggregation results in an AS_PATH that has 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 452 ¶ | skipping to change at line 455 ¶ | |||
AS 64505 | AS 64505 | |||
========================== | ========================== | |||
p/22 AS_PATH "" AGGREGATOR 64505 ATOMIC_AGGREGATE | p/22 AS_PATH "" AGGREGATOR 64505 ATOMIC_AGGREGATE | |||
p1/24 AS_PATH "64501" | p1/24 AS_PATH "64501" | |||
p2/24 AS_PATH "64502" | p2/24 AS_PATH "64502" | |||
p3/24 AS_PATH "64503" | p3/24 AS_PATH "64503" | |||
p4/24 AS_PATH "64504" | p4/24 AS_PATH "64504" | |||
Appendix B. Examples of Consistent and Inconsistent BGP Origin AS | Appendix B. Examples of Consistent and Inconsistent BGP Origin AS | |||
Generated by Traditional Brief Aggregation | Generated by Brief Aggregation | |||
The examples below illustrate how traditional brief aggregation may | The examples below illustrate how brief aggregation may result in an | |||
result in an inconsistent origin AS. | inconsistent origin AS. | |||
AS 64500 aggregates more specific routes into 192.0.2.0/24. | AS 64500 aggregates more specific routes into 192.0.2.0/24. | |||
Consider the following scenarios where brief aggregation is done by | Consider the following scenarios where brief aggregation is done by | |||
AS 64500 and what the resultant origin ASes would be. | AS 64500 and what the resultant origin ASes would be. | |||
Routes: | Routes: | |||
R1 - 192.0.2.0/26 AS_PATH "64501" | R1 - 192.0.2.0/26 AS_PATH "64501" | |||
R2 - 192.0.2.64/26 AS_PATH "64502" | R2 - 192.0.2.64/26 AS_PATH "64502" | |||
R3 - 192.0.2.128/26 AS_PATH "64504 64502" | R3 - 192.0.2.128/26 AS_PATH "64504 64502" | |||
skipping to change at line 533 ¶ | skipping to change at line 536 ¶ | |||
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 | |||
In the three scenarios above, the aggregating AS 64500 is using | In the three scenarios above, the aggregating AS 64500 is using brief | |||
traditional brief aggregation. This results in inconsistent origin | aggregation. This results in inconsistent origin ASes as the | |||
ASes as the contributing routes are learned. This motivates the | contributing routes are learned. This motivates the "consistent | |||
"consistent brief" BGP aggregation mentioned in Section 5.2 and | brief" BGP aggregation mentioned in Section 5.2 and discussed further | |||
discussed further with examples below. | with examples below. | |||
The trivial solution to addressing the issue is to simply discard all | The trivial solution to addressing the issue is to simply discard all | |||
of the ASes for the contributing routes. In simple BGP aggregation | of the ASes for the contributing routes. In simple BGP aggregation | |||
topologies, this is likely the correct thing to do. The AS | topologies, this is likely the correct thing to do. The AS | |||
originating the aggregate, 192.0.2.0/24 in this example, is likely | originating the aggregate, 192.0.2.0/24 in this example, is likely | |||
the resource holder for the route in question. In such a case, | the resource holder for the route in question. In such a case, | |||
simply originating the route to its BGP upstream neighbors in the | simply originating the route to its BGP upstream neighbors in the | |||
Internet with its own AS, 64500, means that a consistent ROA could be | Internet with its own AS, 64500, means that a consistent ROA could be | |||
registered in the RPKI for this prefix. This satisfies the need for | registered in the RPKI for this prefix. This satisfies the need for | |||
a consistent (unambiguous) origin AS. | a consistent (unambiguous) origin AS. | |||
End of changes. 5 change blocks. | ||||
11 lines changed or deleted | 14 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |