idnits 2.17.1 draft-ietf-idr-large-community-11.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 seems to use 'NOT RECOMMENDED' as an RFC 2119 keyword, but does not include the phrase in its RFC 2119 key words list. -- The document date (December 2, 2016) is 2694 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) -- Looks like a reference, but probably isn't: '1' on line 354 Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IDR J. Heitz, Ed. 3 Internet-Draft Cisco 4 Intended status: Standards Track J. Snijders, Ed. 5 Expires: June 5, 2017 NTT 6 K. Patel 7 Arrcus 8 I. Bagdonas 9 Equinix 10 N. Hilliard 11 INEX 12 December 2, 2016 14 BGP Large Communities 15 draft-ietf-idr-large-community-11 17 Abstract 19 This document describes the BGP Large Communities attribute, an 20 extension to BGP-4. This attribute provides a mechanism to signal 21 opaque information within separate namespaces to aid in routing 22 management. The attribute is suitable for use with four-octet 23 Autonomous System Numbers. 25 Requirements Language 27 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 28 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 29 document are to be interpreted as described in [RFC2119]. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at http://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on June 5, 2017. 48 Copyright Notice 50 Copyright (c) 2016 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (http://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 66 2. BGP Large Communities Attribute . . . . . . . . . . . . . . . 3 67 3. Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . 4 68 4. Canonical Representation . . . . . . . . . . . . . . . . . . 4 69 5. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 4 70 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 71 7. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION 5 72 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 73 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6 74 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 75 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 76 11.1. Normative References . . . . . . . . . . . . . . . . . . 7 77 11.2. Informative References . . . . . . . . . . . . . . . . . 7 78 11.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 8 79 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 81 1. Introduction 83 BGP [RFC4271] implementations typically support a routing policy 84 language to control the distribution of routing information. Network 85 operators attach BGP communities to routes to associate particular 86 properties with these routes. These properties may include 87 information such as the route origin location, or specification of a 88 routing policy action to be taken, or one that has been taken, and is 89 applied to all routes contained in a BGP Update Message where the 90 Communities Attribute is included. Because BGP communities are 91 optional transitive BGP attributes, BGP communities may be acted upon 92 or otherwise used by routing policies in other Autonomous Systems 93 (ASes) on the Internet. 95 BGP Communities attributes are a variable length attribute consisting 96 of a set of one or more four-octet values, each of which specify a 97 community [RFC1997]. Common use of the individual values of this 98 attribute type split this single 32-bit value into two 16-bit values. 99 The most significant word is interpreted as an Autonomous System 100 Number (ASN) and the least significant word is a locally defined 101 value whose meaning is assigned by the operator of the Autonomous 102 System in the most significant word. 104 Since the adoption of four-octet ASNs [RFC6793], the BGP Communities 105 attribute can no longer accommodate the above encoding, as a two- 106 octet word cannot fit a four-octet ASN. The BGP Extended Communities 107 attribute [RFC4360] is also unsuitable. The six-octet length of the 108 Extended Community value precludes the common operational practise of 109 encoding four-octet ASNs in both the Global Administrator and the 110 Local Administrator sub-fields. 112 To address these shortcomings, this document defines a BGP Large 113 Communities attribute encoded as an unordered set of one or more 114 twelve-octet values, each consisting of a four-octet Global 115 Administrator field and two four-octet operator-defined fields, each 116 of which can be used to denote properties or actions significant to 117 the operator of the Autonomous System assigning the values. 119 2. BGP Large Communities Attribute 121 This document defines the BGP Large Communities attribute as an 122 optional transitive path attribute of variable length. All routes 123 with the BGP Large Communities attribute belong to the communities 124 specified in the attribute. 126 Each BGP Large Community value is encoded as a 12-octet quantity, as 127 follows: 129 0 1 2 3 130 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 131 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 132 | Global Administrator | 133 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 134 | Local Data Part 1 | 135 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 136 | Local Data Part 2 | 137 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 139 Global Administrator: A four-octet namespace identifier. 141 Local Data Part 1: A four-octet operator-defined value. 143 Local Data Part 2: A four-octet operator-defined value. 145 The Global Administrator field is intended to allow different 146 Autonomous Systems to define BGP Large Communities without collision. 147 This field SHOULD be an Autonomous System Number (ASN), in which case 148 the Local Data Parts are to be interpreted as defined by the owner of 149 the ASN. The use of Reserved ASNs (0 [RFC7607], 65535 and 4294967295 150 [RFC7300]) is NOT RECOMMENDED. 152 There is no significance to the order in which twelve-octet Large 153 Community Attribute values are encoded in a Large Communities 154 attribute, A BGP speaker can transmit them in any order. 156 Duplicate BGP Large Community values MUST NOT be transmitted. A 157 receiving speaker MUST silently remove redundant BGP Large Community 158 values from a BGP Large Community attribute. 160 3. Aggregation 162 If a range of routes is aggregated, then the resulting aggregate 163 should have a BGP Large Communities attribute which contains all of 164 the BGP Large Communities attributes from all of the aggregated 165 routes. 167 4. Canonical Representation 169 The canonical representation of BGP Large Communities is three 170 separate unsigned integers in decimal notation in the following 171 order: Global Administrator, Local Data 1, Local Data 2. Numbers 172 MUST NOT contain leading zeros; a zero value MUST be represented with 173 a single zero. Each number is separated from the next by a single 174 colon. For example: 64496:4294967295:2, 64496:0:0. 176 BGP Large Communities SHOULD be represented in the canonical 177 representation. 179 5. Error Handling 181 The error handling of BGP Large Communities is as follows: 183 o A BGP Large Communities attribute SHALL be considered malformed if 184 the length of the BGP Large Communities Attribute value, expressed 185 in octets, is not a non-zero multiple of 12. 187 o A BGP Large Communities attribute SHALL NOT be considered 188 malformed due solely to presence of duplicate community values. 190 o A BGP UPDATE message with a malformed BGP Large Communities 191 attribute SHALL be handled using the approach of "treat-as- 192 withdraw" as described in section 2 [RFC7606]. 194 The BGP Large Communities Global Administrator field may contain any 195 value, and a BGP Large Communities attribute MUST NOT be considered 196 malformed if the Global Administrator field contains an unallocated, 197 unassigned or reserved ASN. 199 6. Security Considerations 201 This extension to BGP has similar security implications as BGP 202 Communities [RFC1997]. 204 This document does not change any underlying security issues 205 associated with any other BGP Communities mechanism. Specifically, 206 an AS relying on the BGP Large Communities attribute carried in BGP 207 must have trust in every other AS in the path, as any intermediate 208 Autonomous System in the path may have added, deleted, or altered the 209 BGP Large Communities attribute. Specifying the mechanism to provide 210 such trust is beyond the scope of this document. 212 BGP Large Communities do not protect the integrity of each community 213 value. Operators should be aware that it is possible for a BGP 214 speaker to alter BGP Large Community Attribute values in a BGP Update 215 Message. Protecting the integrity of the transitive handling of BGP 216 Large Community attributes in a manner consistent with the intent of 217 expressed BGP routing policies falls within the broader scope of 218 securing BGP, and is not specifically addressed here. 220 Network administrators should note the recommendations in Section 11 221 of BGP Operations and Security [RFC7454]. 223 7. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION 225 This section records the status of known implementations of the 226 protocol defined by this specification at the time of posting of this 227 Internet-Draft, and is based on a proposal described in [RFC7942]. 228 The description of implementations in this section is intended to 229 assist the IETF in its decision processes in progressing drafts to 230 RFCs. Please note that the listing of any individual implementation 231 here does not imply endorsement by the IETF. Furthermore, no effort 232 has been spent to verify the information presented here that was 233 supplied by IETF contributors. This is not intended as, and must not 234 be construed to be, a catalog of available implementations or their 235 features. Readers are advised to note that other implementations may 236 exist. 238 As of today these vendors have produced an implementation of BGP 239 Large Communities: 241 o Cisco IOS XR 243 o ExaBGP 245 o GoBGP 247 o BIRD 249 o OpenBGPD 251 o pmacct 253 o Quagga 255 The latest implementation news is tracked at 256 http://largebgpcommunities.net/ [1]. 258 8. IANA Considerations 260 IANA has made an Early Allocation of the value 32 (LARGE_COMMUNITY) 261 in the "BGP Path Attributes" registry under the "Border Gateway 262 Protocol (BGP) Parameters" group and is now asked to make that 263 Permanent. 265 9. Contributors 267 The following people contributed significantly to the content of the 268 document: 270 John Heasley 271 NTT Communications 272 Email: heas@shrubbery.net 274 Adam Simpson 275 Nokia 276 Email: adam.1.simpson@nokia.com 278 10. Acknowledgments 280 The authors would like to thank Ruediger Volk, Russ White, Acee 281 Lindem, Shyam Sethuram, Jared Mauch, Joel M. Halpern, Jeffrey Haas, 282 Gunter van de Velde, Marco Marzetti, Eduardo Ascenco Reis, Mark 283 Schouten, Paul Hoogsteder, Martijn Schmidt, Greg Hankins, Bertrand 284 Duvivier, Barry O'Donovan, Grzegorz Janoszka, Linda Dunbar, Marco 285 Davids, Gaurab Raj Upadhaya, Jeff Tantsura, Teun Vink, Adam 286 Davenport, Theodore Baschak, Pier Carlo Chiodi, Nabeel Cocker, Ian 287 Dickinson, Jan Baggen, Duncan Lockwood, David Farmer, Randy Bush, Wim 288 Henderickx, Stefan Plug, Kay Rechthien, Rob Shakir, Warren Kumari, 289 Gert Doering, Thomas King, Mikael Abrahamsson, Wesley Steehouwer, 290 Sander Steffann, Brad Dreisbach, Martin Millnert, Christopher Morrow, 291 Jay Borkenhagen, Arnold Nipper, Joe Provo, Niels Bakker, Bill Fenner, 292 Tom Daly, Ben Maddison, Alexander Azimov, Brian Dickson, Peter van 293 Dijk, Julian Seifert, Tom Petch, Tom Scholl, Arjen Zonneveld, Remco 294 van Mook, Adam Chappell, Jussi Peltola, Kristian Larsson, Markus 295 Hauschild, Richard Steenbergen, David Freedman, Richard Hartmann, 296 Geoff Huston, Mach Chen, and Alvaro Retana for their support, 297 insightful review and comments. 299 11. References 301 11.1. Normative References 303 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 304 Requirement Levels", BCP 14, RFC 2119, 305 DOI 10.17487/RFC2119, March 1997, 306 . 308 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A 309 Border Gateway Protocol 4 (BGP-4)", RFC 4271, 310 DOI 10.17487/RFC4271, January 2006, 311 . 313 [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. 314 Patel, "Revised Error Handling for BGP UPDATE Messages", 315 RFC 7606, DOI 10.17487/RFC7606, August 2015, 316 . 318 11.2. Informative References 320 [RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities 321 Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996, 322 . 324 [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended 325 Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, 326 February 2006, . 328 [RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet 329 Autonomous System (AS) Number Space", RFC 6793, 330 DOI 10.17487/RFC6793, December 2012, 331 . 333 [RFC7300] Haas, J. and J. Mitchell, "Reservation of Last Autonomous 334 System (AS) Numbers", BCP 6, RFC 7300, 335 DOI 10.17487/RFC7300, July 2014, 336 . 338 [RFC7454] Durand, J., Pepelnjak, I., and G. Doering, "BGP Operations 339 and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454, 340 February 2015, . 342 [RFC7607] Kumari, W., Bush, R., Schiller, H., and K. Patel, 343 "Codification of AS 0 Processing", RFC 7607, 344 DOI 10.17487/RFC7607, August 2015, 345 . 347 [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running 348 Code: The Implementation Status Section", BCP 205, 349 RFC 7942, DOI 10.17487/RFC7942, July 2016, 350 . 352 11.3. URIs 354 [1] http://largebgpcommunities.net 356 Authors' Addresses 358 Jakob Heitz (editor) 359 Cisco 360 170 West Tasman Drive 361 San Jose, CA 95054 362 USA 364 Email: jheitz@cisco.com 366 Job Snijders (editor) 367 NTT Communications 368 Theodorus Majofskistraat 100 369 Amsterdam 1065 SZ 370 The Netherlands 372 Email: job@ntt.net 374 Keyur Patel 375 Arrcus, Inc 377 Email: keyur@arrcus.com 378 Ignas Bagdonas 379 Equinix 380 80 Cheapside 381 London EC2V 6EE 382 United Kingdom 384 Email: ibagdona.ietf@gmail.com 386 Nick Hilliard 387 INEX 388 4027 Kingswood Road 389 Dublin 24 390 IE 392 Email: nick@inex.ie