idnits 2.17.1 draft-ietf-idr-as4bytes-09.txt: ** The Abstract section seems to be numbered -(137): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding 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 3667, Section 5.1 on line 16. -- Found old boilerplate from RFC 3978, Section 5.5 on line 354. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 327. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 334. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 340. ** The document claims conformance with section 10 of RFC 2026, but uses some RFC 3978/3979 boilerplate. As RFC 3978/3979 replaces section 10 of RFC 2026, you should not claim conformance with it if you have changed to using RFC 3978/3979 boilerplate. ** The document seems to lack an RFC 3978 Section 5.1 IPR Disclosure Acknowledgement -- however, there's a paragraph with a matching beginning. Boilerplate error? ** 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. ** The document uses RFC 3667 boilerplate or RFC 3978-like boilerplate instead of verbatim RFC 3978 boilerplate. After 6 May 2005, submission of drafts without verbatim RFC 3978 boilerplate is not accepted. The following non-3978 patterns matched text found in the document. That text should be removed or replaced: By submitting this Internet-Draft, I certify that any applicable patent or other IPR claims of which I am aware have been disclosed, or will be disclosed, and any of which I become aware will be disclosed, in accordance with RFC 3668. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == There are 4 instances 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 document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** 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 216, but not defined == Unused Reference: 'EXT-COM' is defined on line 290, but no explicit reference was found in the text == Outdated reference: A later version (-09) exists of draft-ramachandra-bgp-ext-communities-07 -- 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: 12 errors (**), 0 flaws (~~), 8 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: June 2005 Enke Chen 5 Cisco Systems 7 BGP support for four-octet AS number space 9 draft-ietf-idr-as4bytes-09.txt 11 1. Status of this Memo 13 By submitting this Internet-Draft, I certify that any applicable 14 patent or other IPR claims of which I am aware have been disclosed, 15 or will be disclosed, and any of which I become aware will be 16 disclosed, in accordance with RFC 3668. 18 This document is an Internet-Draft and is in full conformance with 19 all provisions of Section 10 of RFC2026. 21 Internet-Drafts are working documents of the Internet Engineering 22 Task Force (IETF), its areas, and its working groups. Note that 23 other groups may also distribute working documents as Internet- 24 Drafts. 26 Internet-Drafts are draft documents valid for a maximum of six months 27 and may be updated, replaced, or obsoleted by other documents at any 28 time. It is inappropriate to use Internet-Drafts as reference 29 material or to cite them other than as "work in progress". 31 The list of current Internet-Drafts can be accessed at 32 http://www.ietf.org/ietf/1id-abstracts.txt 34 The list of Internet-Draft Shadow Directories can be accessed at 35 http://www.ietf.org/shadow.html. 37 2. Abstract 39 Currently the Autonomous System number is encoded in BGP [BGP] as a 40 two-octets field. This document describes extensions to BGP to carry 41 the Autonomous System number as a four-octets field. 43 3. Specification of Requirements 45 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 46 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 47 document are to be interpreted as described in [RFC2119]. 49 4. Protocol Extensions 51 For the purpose of this document lets define a BGP speaker which 52 doesn’t support the new 4-octets AS number extensions as an OLD BGP 53 speaker, and a BGP speaker which supports the new 4-octets AS number 54 extensions as a NEW BGP speaker. 56 BGP carries the Autonomous System number in the My Autonomous System 57 field of the OPEN message, in the AS_PATH attribute of the UPDATE 58 message, and in the AGGREGATOR attribute of the UPDATE message. BGP 59 also carries the Autonomous System number in the BGP Communities 60 attribute. 62 A NEW BGP speaker uses BGP Capability Advertisements [RFC2842] to 63 advertise to its neighbors (either internal or external) that it 64 supports 4-octets AS number extensions, as specified in this 65 document. 67 The Capability that is used by a BGP speaker to convey to its BGP 68 peer the 4-octets Autonomous System number capability, also carries 69 the 4-octets Autonomous System number of the speaker in the 70 Capability Value field of the Capability Optional Parameter. The 71 Capability Length field of the Capability is set to 4. 73 NEW BGP speakers carry AS path information expressed in terms of 74 4-octets Autonomous Systems numbers by using the existing AS_PATH 75 attribute, except that each AS number in this attribute is encoded 76 not as a 2-octets, but as a 4-octets entity. The same applies to the 77 AGGREGATOR attribute - NEW BGP speakers use the same attribute, 78 except that the AS carried in this attribute is encoded as a 4-octets 79 entity. 81 To preserve AS path information with 4-octets AS numbers across OLD 82 BGP speakers, this document defines a new AS path attribute, called 83 NEW_AS_PATH. This attribute is optional transitive and contains the 84 AS path encoded with 4-octets AS numbers. The NEW_AS_PATH attribute 85 has the same semantics as the AS_PATH attribute, except that it is 86 optional transitive, and it carries 4-octets AS numbers. 88 To prevent the possible propagation of confederation path segments 89 outside of a confederation, the path segment types AS_CONFED_SEQUENCE 90 and AS_CONFED_SET [RFC3065] are declared invalid for the NEW_AS_PATH 91 attribute. 93 Similarly, this document defines a new aggregator attribute called 94 NEW_AGGREGATOR, which is optional transitive. The NEW_AGGREGATOR 95 attribute has the same semantics as the AGGREGATOR attribute, except 96 that it carries 4-octets AS numbers. 98 Currently assigned 2-octets Autonomous System numbers are converted 99 into 4-octets Autonomous System numbers by setting the high-order 2 100 octets of the 4-octets field to zero. Such a 4-octets AS number is 101 said to be mappable to a 2-octets AS number. 103 To represent 4-octets AS numbers (which are not mapped from 2-octets) 104 as 2-octets AS numbers in the AS path information encoded with 105 2-octets AS numbers, this document reserves a 2-octets AS number. 106 Lets denote this special AS number as AS_TRANS for ease of 107 description in the rest of this specification. This AS number is also 108 placed in the My Autonomous System field of the OPEN message 109 originated by a NEW BGP speaker if the speaker doesn’t have a 110 (globally unique) 2-octets AS number. 112 5. Operations 114 5.1. Interaction between NEW BGP speakers 116 A BGP speaker that supports 4-octets Autonomous System numbers may 117 advertise this to its peers using the BGP Capability Advertisements. 118 A BGP speaker that advertises such capability to a particular peer, 119 and receives from that peer the advertisement of such capability MUST 120 encode Autonomous System numbers as 4-octets entities in both the 121 AS_PATH and the AGGREGATOR attributes in the updates it sends to the 122 peer, and MUST assume that these attributes in the updates received 123 from the peer encode Autonomous System numbers as 4-octets entities. 125 The new attributes, NEW_AS_PATH and NEW_AGGREGATOR should not be 126 carried in the UPDATE messages between NEW BGP peers. A NEW BGP 127 speaker that receives the NEW_AS_PATH and NEW_AGGREGATOR path 128 attributes in an UPDATE message from a NEW BGP speaker should discard 129 these path attributes and continue processing the UPDATE message. 131 5.2. Interaction between NEW and OLD BGP speaker 133 5.2.1. BGP Peering 135 Note that peering between a NEW BGP speaker and an OLD one is 136 possible only if the NEW BGP speaker has a 2-octets AS number. 137 However, this document doesn’t assume that an Autonomous System with 138 NEW speakers has to have a globally unique 2-octets AS number - 139 AS_TRANS could be used instead (even if multiple Autonomous System 140 would use it). 142 5.2.2. Generating Updates 144 When communicating with an OLD BGP speaker, a NEW speaker MUST send 145 the AS path information in the AS_PATH attribute encoded with 146 2-octets AS numbers. The NEW speaker also MUST send the AS path 147 information in the NEW_AS_PATH attribute (encoded with 4-octets AS 148 numbers), except for the case where the entire AS path information is 149 composed of 2-octets AS numbers only. In this case the NEW speaker 150 should not send the NEW_AS_PATH attribute. 152 In the AS_PATH attribute encoded with 2-octets AS numbers, non- 153 mappable 4-octets AS numbers are represented by the well known 154 2-octets AS number, AS_TRANS. This will preserve the path length 155 property of the AS path information; and will also help in updating 156 the AS path information received on a NEW BGP speaker from an OLD 157 speaker, as explained in the next section. 159 The NEW speaker constructs the NEW_AS_PATH attribute from the 160 information carried in the AS_PATH attribute. In the case where the 161 AS_PATH attribute contains either AS_CONFED_SEQUENCE or AS_CONFED_SET 162 path segments, the NEW speaker, when constructing the NEW_AS_PATH 163 attribute from the AS_PATH attribute, must exclude such path 164 segments. The NEW_AS_PATH attribute will be carried across a series 165 of OLD BGP speakers without modification and will help preserve the 166 truely 4-octets AS numbers in the AS path information. 168 Similarly, if the NEW speaker has to send the AGGREGATOR attribute, 169 and if the aggregating Autonomous System’s AS number is truely 170 4-octets, the speaker constructs the NEW_AGGREGATOR attributes by 171 taking the attribute length and attribute value from the AGGREGATOR 172 attribute and placing them into the attribute length and attribute 173 value of the NEW_AGGREGATOR attribute, and sets the AS number field 174 in the existing AGGREGATOR attribute to the reserved AS number, 175 AS_TRANS. Note that if the AS number is 2-octets only, then the 176 NEW_AGGREGATE attribute should not be sent. 178 5.2.3. Processing Received Updates 180 When a NEW BGP speaker receives an update from an OLD one, it should 181 be prepared to receive the NEW_AS_PATH attribute along with the 182 existing AS_PATH attribute. If NEW_AS_PATH attribute is also 183 received, both the attributes will be used to construct the exact AS 184 path information, and therefore the information carried by both the 185 attributes will be considered for AS path loop detection. 187 Note that a route may have traversed a series of autonomous systems 188 with 2-octets AS numbers and OLD BGP speakers only. In that case, if 189 the route carries a NEW_AS_PATH attribute, this attribute may not 190 have been updated since the route left the last NEW BGP speaker. The 191 trailing AS path information (representing autonomous systems with 192 2-octets AS numbers and OLD BGP speakers only) is contained only in 193 the current AS_PATH attribute (encoded in the leading part of the 194 AS_PATH attribute). This AS path information should be prepended to 195 the NEW_AS_PATH attribute to construct the exact AS path information. 197 Similarly, a NEW BGP speaker should be prepared to receive the 198 NEW_AGGREGATOR attribute from an OLD BGP speaker. In that case, the 199 AGGREGATOR attribute is ignored and the NEW_AGGREGATOR contains the 200 exact information about the aggregating node. 202 5.3. Interaction between OLD BGP speakers 204 In all other cases the speaker MUST encode Autonomous System numbers 205 as 2-octets entities in both the AS_PATH and the AGGREGATOR attribute 206 in the updates it sends to the peer, and MUST assume that these 207 attributes in the updates received from the peer encoded Autonomous 208 System numbers as 2-octets entities. 210 6. Handling BGP Communities 212 As specified in [RFC1997], when the high-order two-octets of the 213 community attribute is neither 0x0000 nor 0xffff, these two octets 214 encode the Autonomous System number. Quite clearly this would not 215 work for routers that use 4-octets Autonomous System numbers. Such 216 routers should use the Extended Communities [EXT-COMM] attribute 217 instead. 219 7. Transition 221 The scheme described in this document allows a gradual transition 222 from 2-octets AS numbers to 4-octets AS numbers. One can upgrade one 223 Autonomous system or one router at a time. 225 To simplify transition this document assumes that an Autonomous 226 System could start using 4-octets AS number only after all the BGP 227 speakers within that Autonomous System have been upgraded to support 228 4-octets AS numbers. 230 An OLD BGP speaker should not use AS_TRANS as its Autonomous System 231 number. 233 A non-mappable 4-octets AS number can not be used as a "Member AS 234 Number" of a BGP Confederation until all the BGP speakers within the 235 Confederation transitioned to support 4-octets AS numbers. 237 In an environment where an Autonomous System that has OLD BGP 238 speakers peers with two or more Autonomous Systems that have NEW BGP 239 speakers and use AS_TRANS (rather than having a globally unique AS 240 number), use of Multi-Exit Discriminators by the Autonomous System 241 with the OLD speakers may result in a situation where Multi-Exit 242 Discriminator will influence route selection among the routes that 243 were received from different neighboring Autonomous Systems. 245 Under certain conditions it may not be possible to reconstruct the 246 entire AS path information from the AS_PATH and the NEW_AS_PATH 247 attributes of a route. This occurs when two or more routes that carry 248 the NEW_AS_PATH attribute are aggregated by an OLD BGP speaker, and 249 the NEW_AS_PATH attribute of at least one of these routes carries at 250 least one 4-octets AS number (as oppose to a 2-octets AS number that 251 is encoded in 4 octets). When such aggregation results in creating a 252 route that is less specific than any of the component routes, (route 253 whose NLRI covers NLRI of all the component routes), loss of the AS 254 path information does not create a risk of a routing loop. In all 255 other cases loss of the AS path information does create a risk of a 256 routing loop. 258 8. IANA Consideration 260 This document uses a BGP Capability code to indicate that a BGP 261 speaker supports the 4-octets AS numbers. The Capability code has 262 been assigned by IANA per RFC 2842. 264 In addition, this document introduces two new BGP optional transitive 265 attributes. The first is the NEW_AS_PATH attribute, which preserves 266 the AS path information with 4-octet AS numbers across old BGP 267 speakers. The second is the NEW_AGGREGATOR attribute, which is 268 similar in use to the current AGGREGATOR attribute but it carries 269 4-octet AS numbers. The Type Codes for these attributes has been 270 assigned by IANA. 272 Finally, this document introduces a reserved 2-octets AS number - 273 AS_TRANS. The AS number for AS_TRANS has been assigned by the IANA. 275 9. Security Considerations 277 Security issues are not discussed in this document. 279 10. Acknowledgments 281 The authors would like to thank Yakov Rekhter, Chaitanya Kodeboyina, 282 and Jeffrey Haas for the numerous discussions which went into the 283 making of this draft. 285 11. References 287 [BGP] Rekhter, Y., Li, T., and Hares, S., "A Border Gateway Protocol 288 4 (BGP-4)", draft-ietf-idr-bgp4-26.txt, October 2004. 290 [EXT-COM] Ramachandra, S., Tappan, D., and Rekter Y. "BGP Extended 291 Communities Attribute", draft-ramachandra-bgp-ext-communities-07.txt, 292 March 2004. 294 [RFC1997] Chandra, R., Traina, P. and T. Li, "BGP Communities 295 Attribute", RFC 1997, August 1996. 297 [RFC2842] Chandra, R., and Scudder, J., "Capabilities Advertisement 298 with BGP-4", RFC 2842, May 2000. 300 [RFC3065] Traina, P., McPherson, D., Scudder, J., "Autonomous System 301 Confederations for BGP", RFC3065, February 2001. 303 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 304 Requirement Levels", BCP 14, RFC 2119, March 1997. 306 12. Author Information 308 Quaizar Vohra 309 Juniper Networks 310 1194 N.Mathilda Ave 311 Sunnyvale, CA 94089 312 e-mail: qv@juniper.net 314 Enke Chen 315 Cisco Systems, Inc. 316 e-mail: enkechen@cisco.com 318 13. Intellectual Property Considerations 320 The IETF takes no position regarding the validity or scope of any 321 Intellectual Property Rights or other rights that might be claimed to 322 pertain to the implementation or use of the technology described in 323 this document or the extent to which any license under such rights 324 might or might not be available; nor does it represent that it has 325 made any independent effort to identify any such rights. Information 326 on the procedures with respect to rights in RFC documents can be 327 found in BCP 78 and BCP 79. 329 Copies of IPR disclosures made to the IETF Secretariat and any 330 assurances of licenses to be made available, or the result of an 331 attempt made to obtain a general license or permission for the use of 332 such proprietary rights by implementers or users of this 333 specification can be obtained from the IETF on-line IPR repository at 334 http://www.ietf.org/ipr. 336 The IETF invites any interested party to bring to its attention any 337 copyrights, patents or patent applications, or other proprietary 338 rights that may cover technology that may be required to implement 339 this standard. Please address the information to the IETF at ietf- 340 ipr@ietf.org. 342 14. Full Copyright Notice 344 Copyright (C) The Internet Society (2004). This document is subject 345 to the rights, licenses and restrictions contained in BCP 78, and 346 except as set forth therein, the authors retain all their rights. 348 This document and the information contained herein are provided on an 349 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 350 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 351 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 352 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 353 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 354 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.