idnits 2.17.1 draft-ietf-idr-large-community-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 lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: Large BGP Communities MUST be represented as three separate unsigned integers in decimal notation, without leading zeros, in the following order: Global Administrator, Local Data 1, Local Data 2. Numbers MUST not be omitted, even when zero. For example: 64496:4294967295:2 or 64496:0:0 or (64496, 111, 222). -- The document date (October 24, 2016) is 2712 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 327 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: April 27, 2017 NTT 6 K. Patel 7 Arrcus 8 I. Bagdonas 9 Equinix 10 A. Simpson 11 Nokia 12 N. Hilliard 13 INEX 14 October 24, 2016 16 Large BGP Communities 17 draft-ietf-idr-large-community-04 19 Abstract 21 This document describes the Large BGP Communities attribute, an 22 extension to BGP-4. This attribute provides a mechanism to signal 23 opaque information within separate namespaces to aid in routing 24 management. The attribute is suitable for use in four-octet ASNs. 26 Requirements Language 28 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 29 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 30 document are to be interpreted as described in [RFC2119]. 32 Status of This Memo 34 This Internet-Draft is submitted in full conformance with the 35 provisions of BCP 78 and BCP 79. 37 Internet-Drafts are working documents of the Internet Engineering 38 Task Force (IETF). Note that other groups may also distribute 39 working documents as Internet-Drafts. The list of current Internet- 40 Drafts is at http://datatracker.ietf.org/drafts/current/. 42 Internet-Drafts are draft documents valid for a maximum of six months 43 and may be updated, replaced, or obsoleted by other documents at any 44 time. It is inappropriate to use Internet-Drafts as reference 45 material or to cite them other than as "work in progress." 47 This Internet-Draft will expire on April 27, 2017. 49 Copyright Notice 51 Copyright (c) 2016 IETF Trust and the persons identified as the 52 document authors. All rights reserved. 54 This document is subject to BCP 78 and the IETF Trust's Legal 55 Provisions Relating to IETF Documents 56 (http://trustee.ietf.org/license-info) in effect on the date of 57 publication of this document. Please review these documents 58 carefully, as they describe your rights and restrictions with respect 59 to this document. Code Components extracted from this document must 60 include Simplified BSD License text as described in Section 4.e of 61 the Trust Legal Provisions and are provided without warranty as 62 described in the Simplified BSD License. 64 Table of Contents 66 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 67 2. Large BGP Communities Attribute . . . . . . . . . . . . . . . 3 68 3. Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . 4 69 4. Canonical Representation . . . . . . . . . . . . . . . . . . 4 70 5. Reserved Large BGP Community values . . . . . . . . . . . . . 4 71 6. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 4 72 7. Security Considerations . . . . . . . . . . . . . . . . . . . 5 73 8. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION 5 74 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 75 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 76 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 77 11.1. Normative References . . . . . . . . . . . . . . . . . . 6 78 11.2. Informative References . . . . . . . . . . . . . . . . . 7 79 11.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 7 80 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 82 1. Introduction 84 BGP implementations typically support a routing policy language to 85 control the distribution of routing information. Network operators 86 attach BGP communities to routes to identify intrinsic properties of 87 these routes. These properties may include information such as the 88 route origin location, or specification of a routing policy action to 89 be taken, or one that has been taken, and may apply to an individual 90 route or to a group of routes. Because BGP communities are optional 91 transitive BGP attributes, BGP communities may be acted upon or 92 otherwise used by routing policies in other Autonomous Systems (ASes) 93 on the Internet. 95 [RFC1997] BGP Communities attributes are four-octet values split into 96 two two-octet words. The most significant word is interpreted as an 97 Autonomous System Number (ASN) and the least significant word is a 98 locally defined value whose meaning is assigned by the operator of 99 the Autonomous System in the most significant word. 101 Since the adoption of four-octet ASNs [RFC6793], the BGP Communities 102 attribute can no longer accommodate the above encoding, as a two- 103 octet word cannot fit a four-octet ASN. The BGP Extended Communities 104 attribute [RFC4360] is also unsuitable, as the protocol limit of six 105 octets cannot accommodate both a four-octet Global Administrator 106 value and a four-octet Local Administrator value, which precludes the 107 common operational practice of encoding a target ASN in the Local 108 Administrator field. 110 To address these shortcomings, this document defines a Large BGP 111 Communities attribute encoded as one or more twelve-octet values, 112 each consisting of a four-octet ASN and two four-octet operator- 113 defined values, each of which can be used to denote properties or 114 actions significant to that ASN. 116 2. Large BGP Communities Attribute 118 This document creates the Large BGP Communities attribute as an 119 optional transitive path attribute of variable length. All routes 120 with the Large BGP Communities attribute belong to the community 121 specified in the attribute. 123 The attribute consists of one or more twelve-octet values. Each 124 twelve-octet Large BGP Communities value represents three four-octet 125 values, as follows: 127 0 1 2 3 128 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 129 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 130 | Global Administrator | 131 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 132 | Local Data Part 1 | 133 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 134 | Local Data Part 2 | 135 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 137 Global Administrator: A four-octet namespace identifier. This 138 SHOULD be an Autonomous System Number. 140 Local Data Part 1: A four-octet operator-defined value. 142 Local Data Part 2: A four-octet operator-defined value. 144 The Global Administrator field is intended to allow different 145 Autonomous Systems to define Large BGP Communities without collision. 146 Implementations MUST allow the operator to specify any value for the 147 Global Administrator field. 149 There is no significance to the order in which Large BGP Communities 150 are encoded in the BGP path attribute payload. A BGP speaker can 151 transmit them in any order. 153 Duplicate Large BGP Communities SHOULD NOT be transmitted. A 154 receiving speaker SHOULD silently remove duplicate Large BGP 155 Communities from a BGP UPDATE message. 157 3. Aggregation 159 If a range of routes is aggregated, then the resulting aggregate 160 should have a Large BGP Communities attribute which contains all of 161 the Large BGP Communities attributes from all of the aggregated 162 routes. 164 4. Canonical Representation 166 Large BGP Communities MUST be represented as three separate unsigned 167 integers in decimal notation, without leading zeros, in the following 168 order: Global Administrator, Local Data 1, Local Data 2. Numbers 169 MUST not be omitted, even when zero. For example: 64496:4294967295:2 170 or 64496:0:0 or (64496, 111, 222). 172 5. Reserved Large BGP Community values 174 The following Global Administrator values are reserved: 0 (the first 175 ASN) [RFC7607], 65535 (UINT_MAX) and 4294967295 (the last ASN) 176 [RFC7300]. Operators SHOULD NOT use these Global Administrator 177 values. 179 Although this document does not define any Special-Use Large BGP 180 Communities, the Global Administrator values specified above could be 181 used if there is a future need for them. 183 6. Error Handling 185 The error handling of Large BGP Communities is as follows: 187 o A Large BGP Communities attribute with a length of zero MUST be 188 ignored upon receipt and removed when sending. 190 o A Large BGP Communities attribute SHALL be considered malformed if 191 its length is not a non-zero multiple of 12. 193 o A BGP UPDATE message with a malformed Large BGP Communities 194 attribute SHALL be handled using the approach of "treat-as- 195 withdraw" as described in section 2 [RFC7606]. 197 The Large BGP Communities Global Administrator field may contain any 198 value, and a Large BGP Communities attribute MUST NOT be considered 199 malformed if the Global Administrator field contains an unallocated, 200 unassigned or reserved ASN or is set to one of the reserved Large BGP 201 Community values defined in Section 5. 203 7. Security Considerations 205 This extension to BGP has similar security implications as BGP 206 Communities [RFC1997]. 208 This document does not change any underlying security issues 209 associated with any other BGP Communities mechanism. Specifically, 210 an AS relying on the Large BGP Communities attribute carried in BGP 211 must have trust in every other AS in the path, as any intermediate 212 Autonomous System in the path may have added, deleted or altered the 213 Large BGP Communities attribute. Specifying the mechanism to provide 214 such trust is beyond the scope of this document. 216 Network administrators should note the recommendations in Section 11 217 of BGP Operations and Security [RFC7454]. 219 8. Implementation status - RFC EDITOR: REMOVE BEFORE PUBLICATION 221 This section records the status of known implementations of the 222 protocol defined by this specification at the time of posting of this 223 Internet-Draft, and is based on a proposal described in [RFC7942]. 224 The description of implementations in this section is intended to 225 assist the IETF in its decision processes in progressing drafts to 226 RFCs. Please note that the listing of any individual implementation 227 here does not imply endorsement by the IETF. Furthermore, no effort 228 has been spent to verify the information presented here that was 229 supplied by IETF contributors. This is not intended as, and must not 230 be construed to be, a catalog of available implementations or their 231 features. Readers are advised to note that other implementations may 232 exist. 234 As of today these vendors have produced an implementation of Large 235 BGP Communities: 237 o Cisco IOS XR 239 o ExaBGP 240 o GoBGP 242 o BIRD 244 o OpenBGPD 246 o pmacct 248 The latest implementation news is tracked at 249 http://largebgpcommunities.net/ [1]. 251 9. IANA Considerations 253 IANA has made an Early Allocation of the value 30 (LARGE_COMMUNITY) 254 in the "BGP Path Attributes" registry under the "Border Gateway 255 Protocol (BGP) Parameters" group and is now asked to make that 256 Permanent. 258 10. Acknowledgments 260 The authors would like to thank Ruediger Volk, Russ White, Acee 261 Lindem, Shyam Sethuram, Jared Mauch, Joel M. Halpern, Jeffrey Haas, 262 John Heasley, Gunter van de Velde, Marco Marzetti, Eduardo Ascenco 263 Reis, Mark Schouten, Paul Hoogsteder, Martijn Schmidt, Greg Hankins, 264 Bertrand Duvivier, Barry O'Donovan, Grzegorz Janoszka, Linda Dunbar, 265 Marco Davids, Gaurab Raj Upadhaya, Jeff Tantsura, Teun Vink, Adam 266 Davenport, Theodore Baschak, Pier Carlo Chiodi, Nabeel Cocker, Ian 267 Dickinson, Jan Baggen, Duncan Lockwood, David Farmer, Randy Bush, Wim 268 Henderickx, Stefan Plug, Kay Rechthien, Rob Shakir, Warren Kumari, 269 Gert Doering, Thomas King, Mikael Abrahamsson, Wesley Steehouwer, 270 Sander Steffann, Brad Dreisbach, Martin Millnert, Christopher Morrow, 271 Jay Borkenhagen, Arnold Nipper, Joe Provo, Niels Bakker, Bill Fenner, 272 Tom Daly, Ben Maddison, Alexander Azimov, Brian Dickson, Peter van 273 Dijk, Julian Seifert, Tom Petch, Tom Scholl, Arjen Zonneveld, Remco 274 van Mook, Adam Chappell, Jussi Peltola, Kristian Larsson, and Markus 275 Hauschild for their support, insightful review and comments. 277 11. References 279 11.1. Normative References 281 [RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities 282 Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996, 283 . 285 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 286 Requirement Levels", BCP 14, RFC 2119, 287 DOI 10.17487/RFC2119, March 1997, 288 . 290 [RFC6793] Vohra, Q. and E. Chen, "BGP Support for Four-Octet 291 Autonomous System (AS) Number Space", RFC 6793, 292 DOI 10.17487/RFC6793, December 2012, 293 . 295 [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. 296 Patel, "Revised Error Handling for BGP UPDATE Messages", 297 RFC 7606, DOI 10.17487/RFC7606, August 2015, 298 . 300 11.2. Informative References 302 [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended 303 Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, 304 February 2006, . 306 [RFC7300] Haas, J. and J. Mitchell, "Reservation of Last Autonomous 307 System (AS) Numbers", BCP 6, RFC 7300, 308 DOI 10.17487/RFC7300, July 2014, 309 . 311 [RFC7454] Durand, J., Pepelnjak, I., and G. Doering, "BGP Operations 312 and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454, 313 February 2015, . 315 [RFC7607] Kumari, W., Bush, R., Schiller, H., and K. Patel, 316 "Codification of AS 0 Processing", RFC 7607, 317 DOI 10.17487/RFC7607, August 2015, 318 . 320 [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running 321 Code: The Implementation Status Section", BCP 205, 322 RFC 7942, DOI 10.17487/RFC7942, July 2016, 323 . 325 11.3. URIs 327 [1] http://largebgpcommunities.net 329 Authors' Addresses 331 Jakob Heitz (editor) 332 Cisco 333 170 West Tasman Drive 334 San Jose, CA 95054 335 USA 337 Email: jheitz@cisco.com 339 Job Snijders (editor) 340 NTT Communications 341 Theodorus Majofskistraat 100 342 Amsterdam 1065 SZ 343 The Netherlands 345 Email: job@ntt.net 347 Keyur Patel 348 Arrcus, Inc 350 Email: keyur@arrcus.com 352 Ignas Bagdonas 353 Equinix 354 London 355 UK 357 Email: ibagdona.ietf@gmail.com 359 Adam Simpson 360 Nokia 361 600 March Road 362 Ottawa Ontario K2K 2E6 363 Canada 365 Email: adam.1.simpson@nokia.com 366 Nick Hilliard 367 INEX 368 4027 Kingswood Road 369 Dublin 24 370 IE 372 Email: nick@inex.ie