idnits 2.17.1 draft-ietf-idr-deprecate-as-sets-03.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 -- The document date (April 22, 2011) is 4752 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'A' is mentioned on line 190, but not defined == Missing Reference: 'B' is mentioned on line 190, but not defined == Missing Reference: 'C' is mentioned on line 190, but not defined == Missing Reference: 'D' is mentioned on line 190, but not defined == Missing Reference: 'E' is mentioned on line 190, but not defined == Missing Reference: 'F' is mentioned on line 190, but not defined Summary: 0 errors (**), 0 flaws (~~), 7 warnings (==), 1 comment (--). 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 Intended status: Informational K. Sriram 5 Expires: October 24, 2011 U.S. NIST 6 April 22, 2011 8 Deprecation of the use of BGP AS_SET, AS_CONFED_SET. 9 draft-ietf-idr-deprecate-as-sets-03 11 Abstract 13 This document deprecates the use of the AS_SET and AS_CONFED_SET 14 types of the AS_PATH in BGPv4. This is done to simplify the design 15 and implementation of the BGP protocol and to make the semantics of 16 the originator of a route more clear. This will also simplify the 17 design, implementation and deployment of ongoing work in the Secure 18 Inter-Domain Routing Working Group. 20 Status of this Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on October 24, 2011. 37 Copyright Notice 39 Copyright (c) 2011 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 55 2. Requirements notation . . . . . . . . . . . . . . . . . . . . . 3 56 3. Recommendation to Network Operators . . . . . . . . . . . . . . 4 57 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4 58 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 4 59 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 4 60 7. Informative References . . . . . . . . . . . . . . . . . . . . 5 61 Appendix A. Proxy Aggregation without AS_SETs . . . . . . . . . . 5 62 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 64 1. Introduction 66 The AS_SET path segment type of the AS_PATH attribute ([RFC4271], 67 Section 4.3) is created by a router that is performing route 68 aggregation and contains an unordered set of ASs that the update has 69 traversed. The AS_CONFED_SET path type ([RFC5065]) of the AS_PATH 70 attribute is created by a router that is performing route aggregation 71 and contains an unordered set of Member AS Numbers in the local 72 confederation that the update has traversed. It is very similar to 73 AS_SETs but is used within a confederation. 75 By performing aggregation, a router is, in essence, combining 76 multiple existing routes into a single new route. This type of 77 aggregation blurs the semantics of what it means to originate a route 78 which can cause operational issues that include reachability problems 79 and traffic engineering issues. 81 From analysis of past Internet routing data it is apparent that 82 aggregation that involves AS_SETs is very seldom used in practice on 83 the public network and, when it is used, it is usually used 84 incorrectly -- reserved AS numbers ([RFC1930]) and / or only a single 85 AS in the AS_SET are by far the most common case. The reduction in 86 table size provided by the aggregation is outweighed by additional 87 complexity in the BGP protocol and confusion regarding what exactly 88 is meant by originating a route. 90 In the past AS_SET had been used in a few rare cases to allow route 91 aggregation where two or more providers could form the same prefix, 92 using the exact match of the others prefix in some advertisement and 93 configuring the aggregation differently elsewhere. The key to 94 configuring this correctly was to form the aggregate at the border in 95 the outbound BGP policy and omit prefixes from the AS that the 96 aggregate was being advertised to. The AS_SET therefore allowed this 97 practice without the loss of BGP's AS_PATH loop protection. This use 98 of AS_SET served a purpose which fell in line with the original 99 intended use. Without AS_SET aggregates must always contain only 100 less specific prefixes (not less than or equal to), and must never 101 aggregate an exact match. Since this practice is thought to no 102 longer be widely used, it is thought to be safe to deprecate the use 103 of AS_SET. 105 2. Requirements notation 107 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 108 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 109 document are to be interpreted as described in [RFC2119]. 111 3. Recommendation to Network Operators 113 Operators are strongly advised to not generate any new announcements 114 containing AS_SETs or AS_CONFED_SETs. If they have already announced 115 routes with AS_SETs or AS_CONFED_SETs in them, then they should 116 withdraw and re-announce those prefixes without AS_SETs in the 117 updates. This may require undoing the aggregation that was 118 previously performed, and announcing more specifics. Route 119 aggregation is possible under some conditions without the use of 120 AS_SETs (please see Appendix A for relevant discussion and 121 suggestions). As with any change, the operator should understand the 122 full implications of the change. 124 It is worth noting that new technologies (such as those that take 125 advantage of the "X.509 Extensions for IP Addresses and AS 126 Identifiers" ([RFC3779]) may not support routes with AS_SETs / 127 AS_CONFED_SETs in them, and MAY treat as infeasible routes containing 128 them. Future BGP implementations may also do the same. 130 It is expected that, even before the deployment of these 131 technologies, operators may begin filtering routes that contain 132 AS_SETs or AS_CONFED_SETs. 134 4. IANA Considerations 136 This document requires no IANA actions. 138 5. Security Considerations 140 This document discourages the use of aggregation techniques that 141 create AS_SETs. Future work will update the protocol to remove 142 support for the AS_SET path segment type of the AS_PATH attribute. 143 This will remove complexity and code that is not exercised very 144 often, which decreases the attack surface. This will also simplify 145 the design and implementation of the RPKI and systems that will rely 146 on it. 148 6. Acknowledgements 150 The authors would like to thank Tony Li, Randy Bush, John Scudder, 151 Curtis Villamizar, Danny McPherson, Chris Morrow, Tom Petch, Ilya 152 Varlashkin as well as Douglas Montgomery, Enke Chen, Florian Weimer, 153 Jakob Heitz, John Leslie, Keyur Patel, Paul Jakma, Rob Austein, Russ 154 Housley, Sandra Murphy, Steve Bellovin, Steve Kent, Steve Padgett, 155 Alfred Hones, Alvaro Retana, everyone in IDR and everyone else who 156 provided input. 158 Apologies to those who I may have missed, it was not intentional. 160 7. Informative References 162 [RFC1930] Hawkinson, J. and T. Bates, "Guidelines for creation, 163 selection, and registration of an Autonomous System (AS)", 164 BCP 6, RFC 1930, March 1996. 166 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 167 Requirement Levels", BCP 14, RFC 2119, March 1997. 169 [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP 170 Addresses and AS Identifiers", RFC 3779, June 2004. 172 [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway 173 Protocol 4 (BGP-4)", RFC 4271, January 2006. 175 [RFC5065] Traina, P., McPherson, D., and J. Scudder, "Autonomous 176 System Confederations for BGP", RFC 5065, August 2007. 178 Appendix A. Proxy Aggregation without AS_SETs 180 Using the illustration in Figure 1 below, we attempt to point out how 181 an aggregating AS can perform proxy aggregation without using an 182 AS_SET in the aggregate announcement. 184 In Figure 1, more specific prefixes p0/24, p1/24, p2/24, and p3/24 185 are originated by AS-A, AS-B, AS-C, and AS-D, respectively. AS-E and 186 AS-F choose not to aggregate; they forward the more specifics to 187 AS-G. AS-G aggregates the four more specifics into a single less 188 specific prefix p/22, and propagates updates in BGP to its neighbors 189 (including AS-E and AS-F) to announce the p/22 prefix. If G were to 190 insert the AS_SET [A,B,C,D,E,F] in the update, then AS-E and AS-F 191 will be aware of the looping possibility and not install the route 192 for p/22. The undesirable consequence here would be that AS-E would 193 not have reachability to p2/24 and p3/24, and similarly AS-F would 194 not have reachability to p0/24 and p1/24. So there is a hidden 195 downside of this nature in proxy aggregation with the use of AS_SET. 197 Now consider the case when AS-G performs the same aggregation but 198 does not use an AS_SET in the aggregate announcement. The following 199 recommendation is in order: 201 o An AS should proxy aggregate only prefixes which belong to its 202 administrative domain. 204 With this recommendation in mind, we attempt to explain here how the 205 data-plane looping possibility can still be avoided, and the 206 reachability problem identified above is also prevented. 208 In Figure 1, please take note of the aggregate announcements (without 209 AS_SET) from AS-G to its neighbors. Absent the AS_SET in the 210 aggregate announcement, now AS-E and AS-F would install the route for 211 p/22 via AS-G in their routing tables. So AS-E will have 212 reachability to p2/24 and p3/24, and similarly AS-F will have 213 reachability to p0/24 and p1/24. Also, the looping possibility 214 between AS-E and AS-G (and likewise between AS-F and AS-G) is avoided 215 provided that AS-G observes a slight caution in its aggregation 216 decision and packet forwarding. As already stated, AS-G should 217 aggregate only those prefixes which belong in its admin domain, and 218 secondly if any of those prefixes are withdrawn then AS-G should drop 219 the route for that prefix from its FIB even though it still maintains 220 the aggregation and continues to announce p/22 to its neighbors. If 221 AS-E were to withdraw a prefix (say, p1/24) then AS-G will no longer 222 forward packets for that prefix to AS-E. Hence, under said 223 circumstance, even though AS-E may forward packets for p1/24 to AS-G, 224 those packets will be dropped at AS-G and thus data-plane looping 225 would not occur. The other reason for recommending aggregation of 226 prefixes from within the same admin domain is that in that case, the 227 aggregating AS (AS-G in the example) can create a ROA (in the RPKI 228 repository) for the aggregate (p/22) showing itself (AS-G) as the 229 origin. 231 p0/24--A Update {E,A, p0/24} --> 232 \ Update {E,B, p1/24} --> 233 E-------------------------------\ 234 / <-- Update {G, p/22} \ 235 p1/24--B (w/o AS_SET) \ 236 or \ 237 <-- Update {G,[A,B,C,D,E,F], p/22} \ 238 (with AS_SET) \ 239 \ 240 \ 241 \ 242 \ 243 G---------H 244 <-- Update {G, p/22} / ---> 245 (w/o AS_SET) / same aggregate 246 or / update as sent 247 p2/24--C <-- Update {G,[A,B,C,D,E,F], p/22} / to E or F 248 \ (with AS_SET) / 249 F-----------------------------------/ 250 / Update {F,C, p2/24} --> 251 p3/24--D Update {F,D, p3/24} --> 253 Note: p0/24+p1/24+p2/24+p3/24 = p/22 254 BGP speaker G has chosen to Aggregate 256 Figure 1: Illustration for discussion of loop possibility in data 257 forwarding when AS_SET is not used and how it can be mitigated. 259 Authors' Addresses 261 Warren Kumari 262 Google, Inc. 263 1600 Amphitheatre Parkway 264 Mountain View, CA 94043 265 US 267 Phone: +1 571 748 4373 268 Email: warren@kumari.net 269 Kotikalapudi Sriram 270 U.S. NIST 271 100 Bureau Drive 272 Gaithersburg, MD 20899 273 US 275 Phone: +1 301 975 3973 276 Email: ksriram@nist.gov