idnits 2.17.1 draft-ietf-idr-deprecate-as-set-confed-set-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year (Using the creation date from RFC4271, updated by this document, for RFC5378 checks: 2006-01-13) (Using the creation date from RFC5065, updated by this document, for RFC5378 checks: 2003-08-27) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (September 9, 2020) is 1317 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group W. Kumari 3 Internet-Draft Google, Inc. 4 Obsoletes: 6472 (if approved) K. Sriram 5 Updates: 4271 5065 (if approved) L. Hannachi 6 Intended status: Standards Track USA NIST 7 Expires: March 13, 2021 J. Haas 8 Juniper Networks, Inc. 9 September 9, 2020 11 Deprecation of AS_SET and AS_CONFED_SET in BGP 12 draft-ietf-idr-deprecate-as-set-confed-set-04 14 Abstract 16 BCP 172 (i.e., RFC 6472) recommends not using AS_SET and 17 AS_CONFED_SET in the Border Gateway Protocol. This document advances 18 this recommendation to a standards requirement in BGP; it proscribes 19 the use of the AS_SET and AS_CONFED_SET types of path segments in the 20 AS_PATH. This is done to simplify the design and implementation of 21 BGP and to make the semantics of the originator of a route clearer. 22 This will also simplify the design, implementation, and deployment of 23 various BGP security mechanisms. This document (if approved) updates 24 RFC 4271 and RFC 5065 by eliminating AS_SET and AS_CONFED_SET types, 25 and obsoletes RFC 6472. 27 Status of This Memo 29 This Internet-Draft is submitted in full conformance with the 30 provisions of BCP 78 and BCP 79. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF). Note that other groups may also distribute 34 working documents as Internet-Drafts. The list of current Internet- 35 Drafts is at https://datatracker.ietf.org/drafts/current/. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 This Internet-Draft will expire on March 13, 2021. 44 Copyright Notice 46 Copyright (c) 2020 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (https://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with respect 54 to this document. Code Components extracted from this document must 55 include Simplified BSD License text as described in Section 4.e of 56 the Trust Legal Provisions and are provided without warranty as 57 described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 62 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 63 3. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 3 64 4. Updates to Existing RFCs . . . . . . . . . . . . . . . . . . 4 65 5. Operational Considerations . . . . . . . . . . . . . . . . . 4 66 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 67 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 68 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 69 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 70 9.1. Normative References . . . . . . . . . . . . . . . . . . 5 71 9.2. Informative References . . . . . . . . . . . . . . . . . 6 72 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 74 1. Introduction 76 BCP 172 [RFC6472] makes a recommendation for not using AS_SET (see 77 [RFC4271]) and AS_CONFED_SET (see [RFC5065]) in the Border Gateway 78 Protocol (BGP). This document advances the BCP recommendation to a 79 standards requirement in BGP; it proscribes the use of the AS_SET and 80 AS_CONFED_SET types of path segments in the AS_PATH. 82 The AS_SET path segment in the AS_PATH attribute (Sections 4.3 and 83 5.1.2 of [RFC4271]) is created by a router that is performing route 84 aggregation and contains an unordered set of Autonomous Systems 85 (ASes) that contributing prefixes in the aggregate have traversed. 86 The AS_CONFED_SET path segment (see [RFC5065]) in the AS_PATH 87 attribute is created by a router that is performing route aggregation 88 and contains an unordered set of Member AS Numbers in the local 89 confederation that contributing prefixes in the aggregate have 90 traversed. It is very similar to an AS_SET but is used within a 91 confederation. 93 By performing aggregation, a router is combining multiple existing 94 routes into a single new route. The aggregation together with the 95 use of AS_SET blurs the semantics of origin AS for the prefix being 96 announced. Therefore, the aggregation with AS_SET (or AS_CONFED_SET) 97 can cause operational issues, such as not being able to authenticate 98 a route origin for the aggregate prefix in new BGP security 99 technologies such as those that take advantage of X.509 extensions 100 for IP addresses and AS identifiers [RFC3779] [RFC6480] [RFC6811] 101 [RFC8205]. This in turn could result in reachability problems for 102 the aggregated prefix and its components (i.e., more specific 103 prefixes). 105 From analysis of past Internet routing data, it is apparent that 106 aggregation that involves AS_SETs is very seldom used in practice on 107 the public Internet [Analysis] and when it is used, it is often used 108 incorrectly -- only a single AS in the AS_SET are by far the most 109 common cases. Also, very often the same AS appears in the 110 AS_SEQUENCE and the AS_SET in the BGP update. The occurrence of 111 reserved AS numbers ([IANA-SP-ASN]) is also somewhat frequent. 112 Because the aggregation involving AS_SETs is very rarely used, the 113 reduction in table size provided by this is extremely small, and any 114 advantage thereof is outweighed by additional complexity in BGP. As 115 noted above, AS_SETs also pose impediments to implementation of new 116 BGP security technologies. 118 2. Requirements Language 120 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 121 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 122 "OPTIONAL" in this document are to be interpreted as described in BCP 123 14 [RFC2119] [RFC8174] when, and only when, they appear in all 124 capitals, as shown here. 126 3. Recommendations 128 BGP speakers conforming to this document (i.e., conformant BGP 129 speakers) MUST NOT locally generate BGP UPDATE messages containing 130 AS_SET or AS_CONFED_SET. Conformant BGP speakers SHOULD NOT send BGP 131 UPDATE messages containing AS_SET or AS_CONFED_SET. Upon receipt of 132 such messages, conformant BGP speakers SHOULD use the "Treat-as- 133 withdraw" error handling behavior as per [RFC7606]. 135 If a network operator wishes to consider BGP UPDATE messages with 136 AS_SET or AS_CONFED_SET (received from an external peer) for path 137 selection, they MAY have a feature (knob) in their BGP speaker to opt 138 to do so on a per peer basis. The operator should understand the 139 full implications of choosing this option. There is no knob 140 concerning locally generated BGP UPDATE messages, i.e., as stated 141 before a conformant BGP speaker must not locally generate BGP UPDATE 142 messages with AS_SET or AS_CONFED_SET. 144 Network operators MUST NOT locally generate any new announcements 145 containing AS_SET or AS_CONFED_SET. If they have announced routes 146 with AS_SET or AS_CONFED_SET in them, then they SHOULD withdraw those 147 routes and re-announce routes for the aggregate or component prefixes 148 (i.e., the more specific routes subsumed by the previously aggregated 149 route) without AS_SET or AS_CONFED_SET in the updates. 151 It is worth noting that new BGP security technologies (such as those 152 that take advantage of X.509 extensions for IP addresses and AS 153 identifiers [RFC3779] [RFC6480] [RFC6811] [RFC8205]) might not 154 support routes with AS_SET or AS_CONFED_SET in them, and may treat 155 routes containing them as infeasible even before the updated BGP in 156 this document is implemented. 158 4. Updates to Existing RFCs 160 This document deprecates the AS_SET (type 1) AS_PATH segment type 161 from [RFC4271]. BGP speakers conforming to this document (i.e., 162 conformant BGP speakers) MUST NOT locally generate BGP UPDATE 163 messages containing AS_SET. Conformant BGP speakers SHOULD NOT send 164 BGP UPDATE messages containing AS_SET. Upon receipt of such 165 messages, conformant BGP speakers SHOULD use the "Treat-as-withdraw" 166 error handling behavior as per [RFC7606]. 168 This document deprecates the AS_CONFED_SET (type 4) AS_PATH segment 169 type from [RFC5065]. Conformant BGP speakers MUST NOT locally 170 generate BGP UPDATE messages containing AS_CONFED_SET. Conformant 171 BGP speakers SHOULD NOT send BGP UPDATE messages containing 172 AS_CONFED_SET. Upon receipt of such messages, conformant BGP 173 speakers SHOULD use the "Treat-as-withdraw" error handling behavior 174 as per [RFC7606]. 176 Wherever mentions of AS_SET or AS_CONFED_SET occur in [RFC4271] and 177 [RFC5065], appropriate modification or elimination of the text must 178 be made in future RFCs that would replace these RFCs, consistent with 179 the deprecation of AS_SET and AS_CONFED_SET. 181 5. Operational Considerations 183 When aggregating prefixes, network operators MUST use brief 184 aggregation. In brief aggregation, the AGGREGATOR attribute is 185 included but the AS_SET or AS_CONFED_SET attribute is not included. 187 When doing the above, operators MUST form the aggregate at the border 188 in the outbound BGP policy and omit any prefixes from the AS that the 189 aggregate is being advertised to. In other words, an aggregate 190 prefix MUST NOT be announced to the contributing ASes. Instead, more 191 specific prefixes (from the aggregate) MUST be announced to each 192 contributing AS, excluding any that were learned from the 193 contributing AS in consideration. For illustration, if p1/24 (from 194 AS1), p2/24 (from AS2), p3/24 (from AS3) and p4/24 (from AS4) are 195 aggregated to p/22, then p/22 will not be announced to AS1, AS2, AS3, 196 or AS4. Instead, as further illustration, p1/24, p2/24 and p4/24 are 197 announced to AS3. Or, possibly q/23 (aggregate of p1/24 and p2/24) 198 and p4/24 are announced to AS3. 200 Operators MUST install egress filters to block data packets when the 201 destination address belongs to an internal prefix. Similarly, any 202 known single-homed customer prefix MUST also be included in the 203 egress filters except on the interface for that customer. This 204 mitigates looping in the data plane when connection to such an 205 internal or customer prefix is lost. This mechanism effectively 206 compensates for the lack of the additional loop detection capability 207 accorded by AS_SETs (if they were allowed). 209 6. Security Considerations 211 This document obsoletes the use of aggregation techniques that create 212 AS_SETs or AS_CONFED_SETs. Obsoleting these path segment types from 213 BGP and removal of the related code from implementations would 214 potentially decrease the attack surface for BGP. Deployments of new 215 BGP security technologies [RFC6480] [RFC6811] [RFC8205] benefit 216 greatly if AS_SET and AS_CONFED_SET are not used in BGP. 218 7. IANA Considerations 220 This document requires no IANA actions. 222 8. Acknowledgements 224 The authors would like to thank John Heasley, Job Snijders, Jared 225 Mauch, Jakob Heitz, Keyur Patel, Douglas Montgomery, Randy Bush, 226 Susan Hares, John Scudder, Curtis Villamizar, Danny McPherson, Chris 227 Morrow, Tom Petch, Ilya Varlashkin, Enke Chen, Tony Li, Florian 228 Weimer, John Leslie, Paul Jakma, Rob Austein, Russ Housley, Sandra 229 Murphy, Steve Bellovin, Steve Kent, Steve Padgett, Alfred Hoenes, and 230 Alvaro Retana for comments and suggestions. 232 9. References 234 9.1. Normative References 236 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 237 Requirement Levels", BCP 14, RFC 2119, 238 DOI 10.17487/RFC2119, March 1997, 239 . 241 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A 242 Border Gateway Protocol 4 (BGP-4)", RFC 4271, 243 DOI 10.17487/RFC4271, January 2006, 244 . 246 [RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous 247 System Confederations for BGP", RFC 5065, 248 DOI 10.17487/RFC5065, August 2007, 249 . 251 9.2. Informative References 253 [Analysis] 254 Hannachi, L. and K. Sriram, "Detailed analysis of AS_SETs 255 in BGP updates", NIST Robust Inter-domain Routing Project 256 Website , October 2019, 257 . 260 [IANA-SP-ASN] 261 "Special-Purpose Autonomous System (AS) Numbers", 262 . 265 [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP 266 Addresses and AS Identifiers", RFC 3779, 267 DOI 10.17487/RFC3779, June 2004, 268 . 270 [RFC6472] Kumari, W. and K. Sriram, "Recommendation for Not Using 271 AS_SET and AS_CONFED_SET in BGP", BCP 172, RFC 6472, 272 DOI 10.17487/RFC6472, December 2011, 273 . 275 [RFC6480] Lepinski, M. and S. Kent, "An Infrastructure to Support 276 Secure Internet Routing", RFC 6480, DOI 10.17487/RFC6480, 277 February 2012, . 279 [RFC6811] Mohapatra, P., Scudder, J., Ward, D., Bush, R., and R. 280 Austein, "BGP Prefix Origin Validation", RFC 6811, 281 DOI 10.17487/RFC6811, January 2013, 282 . 284 [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. 285 Patel, "Revised Error Handling for BGP UPDATE Messages", 286 RFC 7606, DOI 10.17487/RFC7606, August 2015, 287 . 289 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 290 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 291 May 2017, . 293 [RFC8205] Lepinski, M., Ed. and K. Sriram, Ed., "BGPsec Protocol 294 Specification", RFC 8205, DOI 10.17487/RFC8205, September 295 2017, . 297 Authors' Addresses 299 Warren Kumari 300 Google, Inc. 301 1600 Amphitheatre Parkway 302 Mountain View, CA 94043 303 US 305 Phone: +1 571 748 4373 306 Email: warren@kumari.net 308 Kotikalapudi Sriram 309 USA NIST 310 100 Bureau Drive 311 Gaithersburg, MD 20899 312 US 314 Phone: +1 301 975 3973 315 Email: sriram.ietf@gmail.com 317 Lilia Hannachi 318 USA NIST 319 100 Bureau Drive 320 Gaithersburg, MD 20899 321 US 323 Phone: +1 301 975 3259 324 Email: lilia.hannachi@nist.gov 326 Jeffrey Haas 327 Juniper Networks, Inc. 328 1133 Innovation Way 329 Sunnyvale, CA 94089 330 United States of America 332 Email: jhaas@juniper.net