idnits 2.17.1 draft-ietf-idr-as4bytes-11.txt: ** The Abstract section seems to be numbered Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 16. -- Found old boilerplate from RFC 3978, Section 5.5 on line 355. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 326. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 333. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 339. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == There is 1 instance of lines with non-ascii characters in the document. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 8 longer pages, the longest (page 2) being 60 lines == It seems as if not all pages are separated by form feeds - found 0 form feeds but 9 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. ** The abstract seems to contain references ([BGP]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- 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.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'EXT-COMM' is mentioned on line 212, but not defined == Unused Reference: 'EXT-COM' is defined on line 287, but no explicit reference was found in the text -- Possible downref: Normative reference to a draft: ref. 'EXT-COM' ** Obsolete normative reference: RFC 2842 (Obsoleted by RFC 3392) ** Obsolete normative reference: RFC 3065 (Obsoleted by RFC 5065) Summary: 8 errors (**), 0 flaws (~~), 7 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Quaizar Vohra 3 Internet Draft Juniper Networks 4 Expiration Date: March 2006 Enke Chen 5 Cisco Systems 7 BGP Support for Four-octet AS Number Space 9 draft-ietf-idr-as4bytes-11.txt 11 1. Status of this Memo 13 By submitting this Internet-Draft, each author represents that any 14 applicable patent or other IPR claims of which he or she is aware 15 have been or will be disclosed, and any of which he or she becomes 16 aware will be disclosed, in accordance with Section 6 of BCP 79. 18 Internet-Drafts are working documents of the Internet Engineering 19 Task Force (IETF), its areas, and its working groups. Note that 20 other groups may also distribute working documents as Internet- 21 Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet-Drafts as reference 26 material or to cite them other than as "work in progress." 28 The list of current Internet-Drafts can be accessed at 29 http://www.ietf.org/ietf/1id-abstracts.txt 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 34 2. Abstract 36 Currently the Autonomous System number is encoded in BGP [BGP] as a 37 two-octet field. This document describes extensions to BGP to carry 38 the Autonomous System number as a four-octet field. 40 3. Specification of Requirements 42 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 43 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 44 document are to be interpreted as described in [RFC2119]. 46 4. Protocol Extensions 48 For the purpose of this document lets define a BGP speaker which does 49 not support the new 4-octet AS number extensions as an OLD BGP 50 speaker, and a BGP speaker which supports the new 4-octet AS number 51 extensions as a NEW BGP speaker. 53 BGP carries the Autonomous System number in the My Autonomous System 54 field of the OPEN message, in the AS_PATH attribute of the UPDATE 55 message, and in the AGGREGATOR attribute of the UPDATE message. BGP 56 also carries the Autonomous System number in the BGP Communities 57 attribute. 59 A NEW BGP speaker uses BGP Capability Advertisements [RFC2842] to 60 advertise to its neighbors (either internal or external) that it 61 supports 4-octet AS number extensions, as specified in this document. 63 The Capability that is used by a BGP speaker to convey to its BGP 64 peer the 4-octet Autonomous System number capability, also carries 65 the 4-octet Autonomous System number of the speaker in the Capability 66 Value field of the Capability Optional Parameter. The Capability 67 Length field of the Capability is set to 4. 69 NEW BGP speakers carry AS path information expressed in terms of 70 4-octet Autonomous Systems numbers by using the existing AS_PATH 71 attribute, except that each AS number in this attribute is encoded 72 not as a 2-octet, but as a 4-octet entity. The same applies to the 73 AGGREGATOR attribute - NEW BGP speakers use the same attribute, 74 except that the AS carried in this attribute is encoded as a 4-octet 75 entity. 77 To preserve AS path information with 4-octet AS numbers across OLD 78 BGP speakers, this document defines a new AS path attribute, called 79 NEW_AS_PATH. This attribute is optional transitive and contains the 80 AS path encoded with 4-octet AS numbers. The NEW_AS_PATH attribute 81 has the same semantics as the AS_PATH attribute, except that it is 82 optional transitive, and it carries 4-octet AS numbers. 84 To prevent the possible propagation of confederation path segments 85 outside of a confederation, the path segment types AS_CONFED_SEQUENCE 86 and AS_CONFED_SET [RFC3065] are declared invalid for the NEW_AS_PATH 87 attribute. 89 Similarly, this document defines a new aggregator attribute called 90 NEW_AGGREGATOR, which is optional transitive. The NEW_AGGREGATOR 91 attribute has the same semantics as the AGGREGATOR attribute, except 92 that it carries 4-octet AS numbers. 94 Currently assigned 2-octet Autonomous System numbers are converted 95 into 4-octet Autonomous System numbers by setting the high-order 2 96 octets of the 4-octet field to zero. Such a 4-octet AS number is said 97 to be mappable to a 2-octet AS number. 99 To represent 4-octet AS numbers (which are not mapped from 2-octets) 100 as 2-octet AS numbers in the AS path information encoded with 2-octet 101 AS numbers, this document reserves a 2-octet AS number. Lets denote 102 this special AS number as AS_TRANS for ease of description in the 103 rest of this specification. This AS number is also placed in the My 104 Autonomous System field of the OPEN message originated by a NEW BGP 105 speaker if the speaker does not have a (globally unique) 2-octet AS 106 number. 108 5. Operations 110 5.1. Interaction Between NEW BGP Speakers 112 A BGP speaker that supports 4-octet Autonomous System numbers may 113 advertise this to its peers using the BGP Capability Advertisements. 114 A BGP speaker that advertises such capability to a particular peer, 115 and receives from that peer the advertisement of such capability MUST 116 encode Autonomous System numbers as 4-octet entities in both the 117 AS_PATH and the AGGREGATOR attributes in the updates it sends to the 118 peer, and MUST assume that these attributes in the updates received 119 from the peer encode Autonomous System numbers as 4-octet entities. 121 The new attributes, NEW_AS_PATH and NEW_AGGREGATOR should not be 122 carried in the UPDATE messages between NEW BGP peers. A NEW BGP 123 speaker that receives the NEW_AS_PATH and NEW_AGGREGATOR path 124 attributes in an UPDATE message from a NEW BGP speaker should discard 125 these path attributes and continue processing the UPDATE message. 127 5.2. Interaction Between NEW and OLD BGP Speakers 129 5.2.1. BGP Peering 131 Note that peering between a NEW BGP speaker and an OLD one is 132 possible only if the NEW BGP speaker has a 2-octet AS number. 133 However, this document does not assume that an Autonomous System with 134 NEW speakers has to have a globally unique 2-octet AS number - 135 AS_TRANS could be used instead (even if multiple Autonomous System 136 would use it). 138 5.2.2. Generating Updates 140 When communicating with an OLD BGP speaker, a NEW speaker MUST send 141 the AS path information in the AS_PATH attribute encoded with 2-octet 142 AS numbers. The NEW speaker also MUST send the AS path information in 143 the NEW_AS_PATH attribute (encoded with 4-octet AS numbers), except 144 for the case where the entire AS path information is composed of 145 2-octet AS numbers only. In this case the NEW speaker should not send 146 the NEW_AS_PATH attribute. 148 In the AS_PATH attribute encoded with 2-octet AS numbers, non- 149 mappable 4-octet AS numbers are represented by the well known 2-octet 150 AS number, AS_TRANS. This will preserve the path length property of 151 the AS path information; and will also help in updating the AS path 152 information received on a NEW BGP speaker from an OLD speaker, as 153 explained in the next section. 155 The NEW speaker constructs the NEW_AS_PATH attribute from the 156 information carried in the AS_PATH attribute. In the case where the 157 AS_PATH attribute contains either AS_CONFED_SEQUENCE or AS_CONFED_SET 158 path segments, the NEW speaker, when constructing the NEW_AS_PATH 159 attribute from the AS_PATH attribute, must exclude such path 160 segments. The NEW_AS_PATH attribute will be carried across a series 161 of OLD BGP speakers without modification and will help preserve the 162 truly 4-octet AS numbers in the AS path information. 164 Similarly, if the NEW speaker has to send the AGGREGATOR attribute, 165 and if the aggregating Autonomous System���s AS number is truly 166 4-octets, the speaker constructs the NEW_AGGREGATOR attributes by 167 taking the attribute length and attribute value from the AGGREGATOR 168 attribute and placing them into the attribute length and attribute 169 value of the NEW_AGGREGATOR attribute, and sets the AS number field 170 in the existing AGGREGATOR attribute to the reserved AS number, 171 AS_TRANS. Note that if the AS number is 2-octets only, then the 172 NEW_AGGREGATE attribute should not be sent. 174 5.2.3. Processing Received Updates 176 When a NEW BGP speaker receives an update from an OLD one, it should 177 be prepared to receive the NEW_AS_PATH attribute along with the 178 existing AS_PATH attribute. If NEW_AS_PATH attribute is also 179 received, both the attributes will be used to construct the exact AS 180 path information, and therefore the information carried by both the 181 attributes will be considered for AS path loop detection. 183 Note that a route may have traversed a series of autonomous systems 184 with 2-octet AS numbers and OLD BGP speakers only. In that case, if 185 the route carries a NEW_AS_PATH attribute, this attribute may not 186 have been updated since the route left the last NEW BGP speaker. The 187 trailing AS path information (representing autonomous systems with 188 2-octet AS numbers and OLD BGP speakers only) is contained only in 189 the current AS_PATH attribute (encoded in the leading part of the 190 AS_PATH attribute). This AS path information should be prepended to 191 the NEW_AS_PATH attribute to construct the exact AS path information. 193 Similarly, a NEW BGP speaker should be prepared to receive the 194 NEW_AGGREGATOR attribute from an OLD BGP speaker. In that case, the 195 AGGREGATOR attribute is ignored and the NEW_AGGREGATOR contains the 196 exact information about the aggregating node. 198 5.3. Interaction Between OLD BGP Speakers 200 In all other cases the speaker MUST encode Autonomous System numbers 201 as 2-octet entities in both the AS_PATH and the AGGREGATOR attribute 202 in the updates it sends to the peer, and MUST assume that these 203 attributes in the updates received from the peer encoded Autonomous 204 System numbers as 2-octet entities. 206 6. Handling BGP Communities 208 As specified in [RFC1997], when the high-order two-octets of the 209 community attribute is neither 0x0000 nor 0xffff, these two octets 210 encode the Autonomous System number. Quite clearly this would not 211 work for routers that use 4-octets Autonomous System numbers. Such 212 routers should use the Extended Communities [EXT-COMM] attribute 213 instead. 215 7. Transition 217 The scheme described in this document allows a gradual transition 218 from 2-octet AS numbers to 4-octet AS numbers. One can upgrade one 219 Autonomous system or one router at a time. 221 To simplify transition this document assumes that an Autonomous 222 System could start using a 4-octet AS number only after all the BGP 223 speakers within that Autonomous System have been upgraded to support 224 4-octet AS numbers. 226 An OLD BGP speaker should not use AS_TRANS as its Autonomous System 227 number. 229 A non-mappable 4-octet AS number can not be used as a "Member AS 230 Number" of a BGP Confederation until all the BGP speakers within the 231 Confederation have transitioned to support 4-octet AS numbers. 233 In an environment where an Autonomous System that has OLD BGP 234 speakers peers with two or more Autonomous Systems that have NEW BGP 235 speakers and use AS_TRANS (rather than having a globally unique AS 236 number), use of Multi-Exit Discriminators by the Autonomous System 237 with the OLD speakers may result in a situation where Multi-Exit 238 Discriminator will influence route selection among the routes that 239 were received from different neighboring Autonomous Systems. 241 Under certain conditions it may not be possible to reconstruct the 242 entire AS path information from the AS_PATH and the NEW_AS_PATH 243 attributes of a route. This occurs when two or more routes that carry 244 the NEW_AS_PATH attribute are aggregated by an OLD BGP speaker, and 245 the NEW_AS_PATH attribute of at least one of these routes carries at 246 least one 4-octet AS number (as oppose to a 2-octet AS number that is 247 encoded in 4 octets). When such aggregation results in creating a 248 route that is less specific than any of the component routes, (route 249 whose NLRI covers NLRI of all the component routes), loss of the AS 250 path information does not create a risk of a routing loop. In all 251 other cases loss of the AS path information does create a risk of a 252 routing loop. 254 8. IANA Consideration 256 This document uses a BGP Capability code to indicate that a BGP 257 speaker supports the 4-octet AS numbers. The Capability code has 258 been assigned by IANA per RFC 2842. 260 In addition, this document introduces two new BGP optional transitive 261 attributes. The first is the NEW_AS_PATH attribute, which preserves 262 the AS path information with 4-octet AS numbers across old BGP 263 speakers. The second is the NEW_AGGREGATOR attribute, which is 264 similar in use to the current AGGREGATOR attribute but it carries 265 4-octet AS numbers. The Type Codes for these attributes has been 266 assigned by IANA. 268 Finally, this document introduces a reserved 2-octet AS number - 269 AS_TRANS. The AS number for AS_TRANS has been assigned by the IANA. 271 9. Security Considerations 273 This extension to BGP does not change the underlying security issues 274 inherent in the existing BGP. 276 10. Acknowledgments 278 The authors would like to thank Yakov Rekhter, Chaitanya Kodeboyina, 279 and Jeffrey Haas for the numerous discussions which went into the 280 making of this draft. 282 11. Normative References 284 [BGP] Rekhter, Y., Li, T., and Hares, S., "A Border Gateway Protocol 285 4 (BGP-4)", draft-ietf-idr-bgp4-26.txt, October 2004. 287 [EXT-COM] Ramachandra, S., Tappan, D., and Rekter Y. "BGP Extended 288 Communities Attribute", draft-ramachandra-bgp-ext-communities-09.txt, 289 July 2005. 291 [RFC1997] Chandra, R., Traina, P. and T. Li, "BGP Communities 292 Attribute", RFC 1997, August 1996. 294 [RFC2842] Chandra, R., and Scudder, J., "Capabilities Advertisement 295 with BGP-4", RFC 2842, May 2000. 297 [RFC3065] Traina, P., McPherson, D., Scudder, J., "Autonomous System 298 Confederations for BGP", RFC3065, February 2001. 300 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 301 Requirement Levels", BCP 14, RFC 2119, March 1997. 303 12. Author Information 305 Quaizar Vohra 306 Juniper Networks 307 1194 N.Mathilda Ave 308 Sunnyvale, CA 94089 309 e-mail: qv@juniper.net 311 Enke Chen 312 Cisco Systems, Inc. 313 170 W. Tasman Dr. 314 San Jose, CA 95134 315 e-mail: enkechen@cisco.com 317 13. Intellectual Property Considerations 319 The IETF takes no position regarding the validity or scope of any 320 Intellectual Property Rights or other rights that might be claimed to 321 pertain to the implementation or use of the technology described in 322 this document or the extent to which any license under such rights 323 might or might not be available; nor does it represent that it has 324 made any independent effort to identify any such rights. Information 325 on the procedures with respect to rights in RFC documents can be 326 found in BCP 78 and BCP 79. 328 Copies of IPR disclosures made to the IETF Secretariat and any 329 assurances of licenses to be made available, or the result of an 330 attempt made to obtain a general license or permission for the use of 331 such proprietary rights by implementers or users of this 332 specification can be obtained from the IETF on-line IPR repository at 333 http://www.ietf.org/ipr. 335 The IETF invites any interested party to bring to its attention any 336 copyrights, patents or patent applications, or other proprietary 337 rights that may cover technology that may be required to implement 338 this standard. Please address the information to the IETF at ietf- 339 ipr@ietf.org. 341 14. Full Copyright Notice 343 Copyright (C) The Internet Society (2005). 345 This document is subject to the rights, licenses and restrictions 346 contained in BCP 78, and except as set forth therein, the authors 347 retain all their rights. 349 This document and the information contained herein are provided on an 350 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 351 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 352 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 353 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 354 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 355 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.