idnits 2.17.1 draft-ietf-idr-as4bytes-02.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): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 6 longer pages, the longest (page 2) being 61 lines 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. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 107: '... advertisement of such capability MUST...' RFC 2119 keyword, line 110: '... peer, and MUST assume that these at...' RFC 2119 keyword, line 132: '...D BGP speaker, a NEW speaker MUST send...' RFC 2119 keyword, line 134: '...NEW speaker also MUST send the AS path...' RFC 2119 keyword, line 192: '...ases the speaker MUST encode Autonomou...' (1 more instance...) Miscellaneous warnings: ---------------------------------------------------------------------------- -- 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 204, but not defined == Unused Reference: 'EXT-COM' is defined on line 280, but no explicit reference was found in the text == Outdated reference: A later version (-26) exists of draft-ietf-idr-bgp4-12 == Outdated reference: A later version (-09) exists of draft-ramachandra-bgp-ext-communities-02 -- 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: 9 errors (**), 0 flaws (~~), 6 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group Quaizar Vohra 2 Internet Draft Juniper Networks 3 Expiration Date: October 2001 Enke Chen 4 Network Working Group Redback Networks, Inc. 6 BGP support for four-octet AS number space 8 draft-ietf-idr-as4bytes-02.txt 10 1. Status of this Memo 12 This document is an Internet-Draft and is in full conformance with 13 all provisions of Section 10 of RFC2026. 15 Internet-Drafts are working documents of the Internet Engineering 16 Task Force (IETF), its areas, and its working groups. Note that 17 other groups may also distribute working documents as Internet- 18 Drafts. 20 Internet-Drafts are draft documents valid for a maximum of six months 21 and may be updated, replaced, or obsoleted by other documents at any 22 time. It is inappropriate to use Internet-Drafts as reference 23 material or to cite them other than as ``work in progress.'' 25 The list of current Internet-Drafts can be accessed at 26 http://www.ietf.org/ietf/1id-abstracts.txt 28 The list of Internet-Draft Shadow Directories can be accessed at 29 http://www.ietf.org/shadow.html. 31 2. Abstract 33 Currently the Autonomous System number is encoded in BGP [BGP] as a 34 two-octets field. This document describes extensions to BGP to carry 35 the Autonomous System number as a four-octets field. 37 3. Protocol Extensions 39 For the purpose of this document lets define a BGP speaker which 40 doesn't support the new 4-octets AS number extensions as an OLD BGP 41 speaker, and a BGP speaker which supports the new 4-octets AS number 42 extensions as a NEW BGP speaker. 44 BGP carries the Autonomous System number in the My Autonomous System 45 field of the OPEN message, in the AS_PATH attribute of the UPDATE 46 message, and in the AGGREGATOR attribute of the UPDATE message. BGP 47 also carries the Autonomous System number in the BGP Communities 48 attribute. 50 A NEW BGP speaker uses BGP Capability Advertisements [RFC2842] to 51 advertise to its neighbors (either internal or external) that it 52 supports 4-octets AS number extensions, as specified in this 53 document. 55 The Capability that is used by a BGP speaker to convey to its BGP 56 peer the 4-octets Autonomous System number capability, also carries 57 the 4-octets Autonomous System number of the speaker in the 58 Capability Value field of the Capability Optional Parameter. The 59 Capability Length field of the Capability is set to 4. 61 NEW BGP speakers carry AS path information expressed in terms of 62 4-octets Autonomous Systems numbers by using the existing AS_PATH 63 attribute, except that each AS number in this attribute is encoded 64 not as a 2-octets, but as a 4-octets entity. The same applies to the 65 AGGREGATOR attribute - NEW BGP speakers use the same attribute, 66 except that the AS carried in this attribute is encoded as a 4-octets 67 entity. 69 To preserve AS path information with 4-octets AS numbers across OLD 70 BGP speakers, this document defines a new AS path attribute, called 71 NEW_AS_PATH. This attribute is optional transitive and contains the 72 AS path encoded with 4-octets AS numbers. The NEW_AS_PATH attribute 73 has the same semantics as the AS_PATH attribute, except that it is 74 optional transitive, and it carries 4-octets AS numbers. 76 To prevent the possible propagation of confederation path segments 77 outside of a confederation, the path segment types AS_CONFED_SEQUENCE 78 and AS_CONFED_SET [RFC3065] are declared invalid for the NEW_AS_PATH 79 attribute. 81 Similarly, this document defines a new aggregator attribute called 82 NEW_AGGREGATOR, which is optional transitive. The NEW_AGGREGATOR 83 attribute has the same semantics as the AGGREGATOR attribute, except 84 that it carries 4-octets AS numbers. 86 Currently assigned 2-octets Autonomous System numbers are converted 87 into 4-octets Autonomous System numbers by setting the high-order 2 88 octets of the 4-octets field to zero. Such a 4-octets AS number is 89 said to be mappable to a 2-octets AS number. 91 To represent 4-octets AS numbers (which are not mapped from 2-octets) 92 as 2-octets AS numbers in the AS path information encoded with 93 2-octets AS numbers, this document reserves a 2-octets AS number. 94 Lets denote this special AS number as AS_TRANS for ease of 95 description in the rest of this specification. This AS number is also 96 placed in the My Autonomous System field of the OPEN message 97 originated by a NEW BGP speaker if the speaker doesn't have a 98 (globally unique) 2-octets AS number. 100 4. Operations 102 4.1. Interaction between NEW BGP speakers 104 A BGP speaker that supports 4-octets Autonomous System numbers may 105 advertise this to its peers using the BGP Capability Advertisements. 106 A BGP speaker that advertises such capability to a particular peer, 107 and receives from that peer the advertisement of such capability MUST 108 encode Autonomous System numbers as 4-octets entities in both the 109 AS_PATH and the AGGREGATOR attributes in the updates it sends to the 110 peer, and MUST assume that these attributes in the updates received 111 from the peer encode Autonomous System numbers as 4-octets entities. 113 The new attributes, NEW_AS_PATH and NEW_AGGREGATOR should not be 114 carried in the updates between NEW BGP peers. A NEW BGP speaker that 115 receives an UPDATE message from a NEW BGP speaker, with the 116 NEW_AS_PATH attribute carried in the UPDATE message must ignore the 117 attribute. The same applies to the NEW_AGGREGATOR attribute. 119 4.2. Interaction between NEW and OLD BGP speaker 121 4.2.1. BGP Peering 123 Note that peering between a NEW BGP speaker and an OLD one is 124 possible only if the NEW BGP speaker has a 2-octets AS number. 125 However, this document doesn't assume that an Autonomous System with 126 NEW speakers has to have a globally unique 2-octets AS number - 127 AS_TRANS could be used instead (even if multiple Autonomous System 128 would use it). 130 4.2.2. Generating Updates 132 When communicating with an OLD BGP speaker, a NEW speaker MUST send 133 the AS path information in the AS_PATH attribute encoded with 134 2-octets AS numbers. The NEW speaker also MUST send the AS path 135 information in the NEW_AS_PATH attribute (encoded with 4-octets AS 136 numbers), except for the case where the entire AS path information is 137 composed of 2-octets AS numbers only. In this case the NEW speaker 138 should not send the NEW_AS_PATH attribute. 140 In the AS_PATH attribute encoded with 2-octets AS numbers, non- 141 mappable 4-octets AS numbers are represented by the well known 142 2-octets AS number, AS_TRANS. This will preserve the path length 143 property of the AS path information; and will also help in updating 144 the AS path information received on a NEW BGP speaker from an OLD 145 speaker, as explained in the next section. 147 The NEW speaker constructs the NEW_AS_PATH attribute from the 148 information carried in the AS_PATH attribute. In the case where the 149 AS_PATH attribute contains either AS_CONFED_SEQUENCE or AS_CONFED_SET 150 path segments, the NEW speaker, when constructing the NEW_AS_PATH 151 attribute from the AS_PATH attribute, must exclude such path 152 segments. The NEW_AS_PATH attribute will be carried across a series 153 of OLD BGP speakers without modification and will help preserve the 154 truely 4-octets AS numbers in the AS path information. 156 Similarly, if the NEW speaker has to send the AGGREGATOR attribute, 157 and if the aggregating Autonomous System's AS number is truely 158 4-octets, the speaker constructs the NEW_AGGREGATOR attributes by 159 taking the attribute length and attribute value from the AGGREGATOR 160 attribute and placing them into the attribute length and attribute 161 value of the NEW_AGGREGATOR attribute, and sets the AS number field 162 in the existing AGGREGATOR attribute to the reserved AS number, 163 AS_TRANS. Note that if the AS number is 2-octets only, then the 164 NEW_AGGREGATE attribute should not be sent. 166 4.2.3. Processing Received Updates 168 When a NEW BGP speaker receives an update from an OLD one, it should 169 be prepared to receive the NEW_AS_PATH attribute along with the 170 existing AS_PATH attribute. If NEW_AS_PATH attribute is also 171 received, both the attributes will be used to construct the exact AS 172 path information, and therefore the information carried by both the 173 attributes will be considered for AS path loop detection. 175 Note that a route may have traversed a series of autonomous systems 176 with 2-octets AS numbers and OLD BGP speakers only. In that case, if 177 the route carries a NEW_AS_PATH attribute, this attribute may not 178 have been updated since the route left the last NEW BGP speaker. The 179 trailing AS path information (representing autonomous systems with 180 2-octets AS numbers and OLD BGP speakers only) is contained only in 181 the current AS_PATH attribute (encoded in the leading part of the 182 AS_PATH attribute). This AS path information should be prepended to 183 the NEW_AS_PATH attribute to construct the exact AS path information. 185 Similarly, a NEW BGP speaker should be prepared to receive the 186 NEW_AGGREGATOR attribute from an OLD BGP speaker. In that case, the 187 AGGREGATOR attribute is ignored and the NEW_AGGREGATOR contains the 188 exact information about the aggregating node. 190 4.3. Interaction between OLD BGP speakers 192 In all other cases the speaker MUST encode Autonomous System numbers 193 as 2-octets entities in both the AS_PATH and the AGGREGATOR attribute 194 in the updates it sends to the peer, and MUST assume that these 195 attributes in the updates received from the peer encoded Autonomous 196 System numbers as 2-octets entities. 198 5. Handling BGP Communities 200 As specified in [RFC1997], when the high-order two-octets of the 201 community attribute is neither 0x0000 nor 0xffff, these two octets 202 encode the Autonomous System number. Quite clearly this would not 203 work for routers that use 4-octets Autonomous System numbers. Such 204 routers should use the Extended Communities [EXT-COMM] attribute 205 instead. 207 6. Transition 209 The scheme described in this document allows a gradual transition 210 from 2-octets AS numbers to 4-octets AS numbers. One can upgrade one 211 Autonomous system or one router at a time. 213 To simplify transition this document assumes that an Autonomous 214 System could start using 4-octets AS number only after all the BGP 215 speakers within that Autonomous System have been upgraded to support 216 4-octets AS numbers. 218 An OLD BGP speaker should not use AS_TRANS as its Autonomous System 219 number. 221 A non-mappable 4-octets AS number can not be used as a "Member AS 222 Number" of a BGP Confederation until all the BGP speakers within the 223 Confederation transitioned to support 4-octets AS numbers. 225 In an environment where an Autonomous System that has OLD BGP 226 speakers peers with two or more Autonomous Systems that have NEW BGP 227 speakers and use AS_TRANS (rather than having a globally unique AS 228 number), use of Multi-Exit Discriminators by the Autonomous System 229 with the OLD speakers may result in a situation where Multi-Exit 230 Discriminator will influence route selection among the routes that 231 were received from different neighboring Autonomous Systems. 233 Under certain conditions it may not be possible to reconstruct the 234 entire AS path information from the AS_PATH and the NEW_AS_PATH 235 attributes of a route. This occurs when two or more routes that carry 236 the NEW_AS_PATH attribute are aggregated by an OLD BGP speaker, and 237 the NEW_AS_PATH attribute of at least one of these routes carries at 238 least one 4-octets AS number (as oppose to a 2-octets AS number that 239 is encoded in 4 octets). When such aggregation results in creating a 240 route that is less specific than any of the component routes, (route 241 whose NLRI covers NLRI of all the component routes), loss of the AS 242 path information does not create a risk of a routing loop. In all 243 other cases loss of the AS path information does create a risk of a 244 routing loop. 246 7. IANA Consideration 248 This document uses a BGP Capability code to indicate that a BGP 249 speaker supports the 4-octets AS numbers. The Capability code needs 250 to be assigned by IANA per RFC 2842. Capability Code values 1 through 251 63 are to be assigned by IANA using the "IETF Consensus" policy 252 defined in RFC2434. 254 In addition, this document introduces two new BGP optional transitive 255 attributes. The first is the NEW_AS_PATH attribute, which preserves 256 the AS path information with 4-octet AS numbers across old BGP 257 speakers. The second is the NEW_AGGREGATOR attribute, which is 258 similar in use to the current AGGREGATOR attribute but it carries 259 4-octet AS numbers. The Type Codes for these attributes are to be 260 assigned by IANA. 262 Finally, this document introduces a reserved 2-octets AS number - 263 AS_TRANS. The AS number for AS_TRANS are to be assigned by the IANA. 265 8. Security Considerations 267 Security issues are not discussed in this document. 269 9. Acknowledgments 271 The authors would like to thank Yakov Rekhter and Chaitanya 272 Kodeboyina for the numerous discussions which went into the making of 273 this draft. 275 10. References 277 [BGP] Rekhter, Y., Li, T., "Border Gateway Protocol 4", draft-ietf- 278 idr-bgp4-12.txt 280 [EXT-COM] Ramachandra, S., Tappan, D., and Rekter Y. "BGP Extended 281 Communities Attribute", draft-ramachandra-bgp-ext-communities-02.txt 283 [RFC1997] Chandra, R., Traina, P. and T. Li, "BGP Communities 284 Attribute", RFC 1997, August 1996. 286 [RFC2842] Chandra, R., and Scudder, J., "Capabilities Advertisement 287 with BGP-4", RFC 2842, May 2000. 289 [RFC3065] Traina, P., McPherson, D., Scudder, J., "Autonomous System 290 Confederations for BGP", RFC3065, February 2001. 292 11. Author Information 294 Quaizar Vohra 295 Juniper Networks 296 1194 N.Mathilda Ave 297 Sunnyvale, CA 94089 298 e-mail: qv@juniper.net 300 Enke Chen 301 Redback Networks, Inc. 302 350 Holger Way 303 San Jose, CA 95134 304 e-mail: enke@redback.com