idnits 2.17.1 draft-ietf-idr-bgp4-multiprotocol-00.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): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-25) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** 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? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == 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 61 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** 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 ([IPv4], [BGP-4]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. 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) == Unused Reference: 'IPv6' is defined on line 352, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'BGP-4' -- Possible downref: Non-RFC (?) normative reference: ref. 'IPv4' -- Possible downref: Non-RFC (?) normative reference: ref. 'IPv6' ** Obsolete normative reference: RFC 1700 (Obsoleted by RFC 3232) Summary: 11 errors (**), 0 flaws (~~), 3 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Tony Bates 3 Internet Draft Cisco Systems 4 Expiration Date: February 1998 Ravi Chandra 5 Cisco Systems 6 Dave Katz 7 Juniper Networks 8 Yakov Rekhter 9 Cisco Systems 11 Multiprotocol Extensions for BGP-4 13 draft-ietf-idr-bgp4-multiprotocol-00.txt 15 1. Status of this Memo 17 This document is an Internet-Draft. Internet-Drafts are working 18 documents of the Internet Engineering Task Force (IETF), its areas, 19 and its working groups. Note that other groups may also distribute 20 working documents as Internet-Drafts. 22 Internet-Drafts are draft documents valid for a maximum of six months 23 and may be updated, replaced, or obsoleted by other documents at any 24 time. It is inappropriate to use Internet-Drafts as reference 25 material or to cite them other than as ``work in progress.'' 27 To learn the current status of any Internet-Draft, please check the 28 ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow 29 Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), 30 munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or 31 ftp.isi.edu (US West Coast). 33 2. Abstract 35 Currently BGP-4 [BGP-4] is capable of carrying routing information 36 only for IPv4 [IPv4]. This document defines extensions to BGP-4 to 37 enable it to carry routing information for multiple Network Layer 38 protocols (e.g., IPv6, IPX, etc...). The extensions are backward 39 compatible - a router that supports the extensions can interoperate 40 with a router that doesn't support the extensions. 42 3. Overview 44 The only three pieces of information carried by BGP-4 that are IPv4 45 specific are (a) the NEXT_HOP attribute (expressed as an IPv4 46 address), (b) AGGREGATOR (contains an IPv4 address), and (c) NLRI 47 (expressed as IPv4 address prefixes). This document assumes that any 48 BGP speaker (including the one that supports multiprotocol 49 capabilities defined in this document) has to have an IPv4 address 50 (which will be used, among other things, in the AGGREGATOR 51 attribute). Therefore, to enable BGP-4 to support routing for 52 multiple Network Layer protocols the only two things that have to be 53 added to BGP-4 are (a) the ability to associate a particular Network 54 Layer protocol with the next hop information, and (b) the ability to 55 associated a particular Network Layer protocol with NLRI. To identify 56 individual Network Layer protocols this document uses Address Family, 57 as defined in [RFC1700]. 59 One could further observe that the next hop information (the 60 information provided by the NEXT_HOP attribute) is meaningful (and 61 necessary) only in conjunction with the advertisements of reachable 62 destinations - in conjunction with the advertisements of unreachable 63 destinations (withdrawing routes from service) the next hop 64 information is meaningless. This suggests that the advertisement of 65 reachable destinations should be grouped with the advertisement of 66 the next hop to be used for these destinations, and that the 67 advertisement of reachable destinations should be segregated from the 68 advertisement of unreachable destinations. 70 To provide backward compatibility, as well as to simplify 71 introduction of the multiprotocol capabilities into BGP-4 this 72 document uses two new attributes, Multiprotocol Reachable NLRI 73 (MP_REACH_NLRI), and Multiprotocol Unreachable NLRI 74 (MP_UNREACH_NLRI). The first one (MP_REACH_NLRI) is used to carry the 75 set of reachable destinations together with the next hop information 76 to be used for forwarding to these destinations. The second one 77 (MP_UNREACH_NLRI) is used to carry the set of unreachable 78 destinations. Both of these attributes are optional and non- 79 transitive. This way a BGP speaker that doesn't support the 80 multiprotocol capabilities will just ignore the information carried 81 in these attributes, and will not pass it to other BGP speakers. 83 4. Multiprotocol Reachable NLRI - MP_REACH_NLRI (Type Code 14): 85 This is an optional non-transitive attribute that can be used for the 86 following purposes: 88 (a) to advertise a feasible route to a peer 90 (b) to permit a router to advertise the Network Layer address of 91 the router that should be used as the next hop to the destinations 92 listed in the Network Layer Reachability Information field of the 93 MP_NLRI attribute. 95 (c) to allow a given router to report some or all of the 96 Subnetwork Points of Attachment (SNPAs) that exist within the 97 local system 99 The attribute contains one or more triples
, where each triple is encoded as shown below: 103 +---------------------------------------------------------+ 104 | Address Family Identifier (2 octets) | 105 +---------------------------------------------------------+ 106 | Subsequent Address Family Identifier (1 octet) | 107 +---------------------------------------------------------+ 108 | Length of Next Hop Network Address (1 octet) | 109 +---------------------------------------------------------+ 110 | Network Address of Next Hop (variable) | 111 +---------------------------------------------------------+ 112 | Number of SNPAs (1 octet) | 113 +---------------------------------------------------------+ 114 | Length of first SNPA(1 octet) | 115 +---------------------------------------------------------+ 116 | First SNPA (variable) | 117 +---------------------------------------------------------+ 118 | Length of second SNPA (1 octet) | 119 +---------------------------------------------------------+ 120 | Second SNPA (variable) | 121 +---------------------------------------------------------+ 122 | ... | 123 +---------------------------------------------------------+ 124 | Length of Last SNPA (1 octet) | 125 +---------------------------------------------------------+ 126 | Last SNPA (variable) | 127 +---------------------------------------------------------+ 128 | Network Layer Reachability Information Length (2 octets)| 129 +---------------------------------------------------------+ 130 | Network Layer Reachability Information (variable) | 131 +---------------------------------------------------------+ 133 The use and meaning of these fields are as follows: 135 Address Family Identifier: 137 This field carries the identity of the Network Layer protocol 138 associated with the Network Address that follows. Presently 139 defined values for this field are specified in RFC1700 (see the 140 Address Family Numbers section). 142 Subsequent Address Family Identifier: 144 This field provides additional information about the type of 145 the Network Layer Reachability Information carried in the 146 attribute. 148 Length of Next Hop Network Address: 150 A 1 octet field whose value expresses the length of the 151 "Network Address of Next Hop" field as measured in octets 153 Network Address of Next Hop: 155 A variable length field that contains the Network Address of 156 the next router on the path to the destination system 158 Number of SNPAs: 160 A 1 octet field which contains the number of distinct SNPAs to 161 be listed in the following fields. The value 0 may be used to 162 indicate that no SNPAs are listed in this attribute. 164 Length of Nth SNPA: 166 A 1 octet field whose value expresses the length of the "Nth 167 SNPA of Next Hop" field as measured in semi-octets 169 Nth SNPA of Next Hop: 171 A variable length field that contains an SNPA of the router 172 whose Network Address is contained in the "Network Address of 173 Next Hop" field. The field length is an integral number of 174 octets in length, namely the rounded-up integer value of one 175 half the SNPA length expressed in semi-octets; if the SNPA 176 contains an odd number of semi-octets, a value in this field 177 will be padded with a trailing all-zero semi-octet. 179 Network Layer Reachability Information Length: 181 This 2-octets unsigned integer indicates the total length of 182 the Network Layer Reachability Information field in octets. 184 Network Layer Reachability Information: 186 A variable length field that lists NLRI for the feasible routes 187 that are being advertised in this attribute. When the 188 Subsequent Address Family Identifier field is set to one of the 189 values defined in this document, each NLRI is encoded as 190 specified in the "NLRI encoding" section of this document. 192 The next hop information carried in the MP_REACH_NLRI path attribute 193 defines the Network Layer address of the border router that should be 194 used as the next hop to the destinations listed in the MP_NLRI 195 attribute in the UPDATE message. When advertising a MP_REACH_NLRI 196 attribute to an external peer, a router may use one of its own 197 interface addresses in the next hop component of the attribute, 198 provided the external peer to which the route is being advertised 199 shares a common subnet with the next hop address. This is known as a 200 "first party" next hop. A BGP speaker can advertise to an external 201 peer an interface of any internal peer router in the next hop 202 component, provided the external peer to which the route is being 203 advertised shares a common subnet with the next hop address. This is 204 known as a "third party" next hop information. A BGP speaker can 205 advertise any external peer router in the next hop component, 206 provided that the Network Layer address of this border router was 207 learned from an external peer, and the external peer to which the 208 route is being advertised shares a common subnet with the next hop 209 address. This is a second form of "third party" next hop 210 information. 212 Normally the next hop information is chosen such that the shortest 213 available path will be taken. A BGP speaker must be able to support 214 disabling advertisement of third party next hop information to handle 215 imperfectly bridged media or for reasons of policy. 217 A BGP speaker must never advertise an address of a peer to that peer 218 as a next hop, for a route that the speaker is originating. A BGP 219 speaker must never install a route with itself as the next hop. 221 When a BGP speaker advertises the route to an internal peer, the 222 advertising speaker should not modify the next hop information 223 associated with the route. When a BGP speaker receives the route via 224 an internal link, it may forward packets to the next hop address if 225 the address contained in the attribute is on a common subnet with the 226 local and remote BGP speakers. 228 An UPDATE message that carries the MP_REACH_NLRI must also carry the 229 ORIGIN and the AS_PATH attributes (both in EBGP and in IBGP 230 exchanges). Moreover, in IBGP exchanges such a message must also 231 carry the LOCAL_PREF attribute. If such a message is received from an 232 external peer, the local system shall check whether the leftmost AS 233 in the AS_PATH attribute is equal to the autonomous system number of 234 the peer than sent the message. If that is not the case, the local 235 system shall send the NOTIFICATION message with Error Code UPDATE 236 Message Error, and the Error Subcode set to Malformed AS_PATH. 238 When an UPDATE message carries the MP_REACH_NLRI attribute, the 239 attribute shall be placed after all other attributes in the message. 241 5. Multiprotocol Unreachable NLRI - MP_UNREACH_NLRI (Type Code 15): 243 This is an optional non-transitive attribute that can be used for the 244 purpose of withdrawing multiple unfeasible routes from service. 246 The attribute contains one or more triples
, where each 248 triple is encoded as shown below: 250 +---------------------------------------------------------+ 251 | Address Family Identifier (2 octets) | 252 +---------------------------------------------------------+ 253 | Subsequent Address Family Identifier (1 octet) | 254 +---------------------------------------------------------+ 255 | Unfeasible Routes Length (2 octets) | 256 +---------------------------------------------------------+ 257 | Withdrawn Routes (variable) | 258 +---------------------------------------------------------+ 260 The use and the meaning of these fields are as follows: 262 Address Family Identifier: 264 This field carries the identity of the Network Layer protocol 265 associated with the NLRI that follows. Presently defined values 266 for this field are specified in RFC1700 (see the Address Family 267 Numbers section). 269 Subsequent Address Family Identifier: 271 This field provides additional information about the type of 272 the Network Layer Reachability Information carried in the 273 attribute. 275 Unfeasible Routes Length: 277 This 2-octets unsigned integer indicates the total length of 278 the Withdrawn Routes field in octets. 280 Withdrawn Routes: 282 A variable length field that lists NLRI for the routes that are 283 being withdrawn from service. When the Subsequent Address 284 Family Identifier field is set to one of the values defined in 285 this document, each NLRI is encoded as specified in the "NLRI 286 encoding" section of this document. 288 An UPDATE message that contains the MP_UNREACH_NLRI is not required 289 to carry any other path attributes. 291 6. NLRI encoding 293 The Network Layer Reachability information is encoded as one or more 294 2-tuples of the form , whose fields are described 295 below: 297 +---------------------------+ 298 | Length (1 octet) | 299 +---------------------------+ 300 | Prefix (variable) | 301 +---------------------------+ 303 The use and the meaning of these fields are as follows: 305 a) Length: 307 The Length field indicates the length in bits of the address 308 prefix. A length of zero indicates a prefix that matches all 309 (as specified by the address family) addresses (with prefix, 310 itself, of zero octets). 312 b) Prefix: 314 The Prefix field contains address prefixes followed by enough 315 trailing bits to make the end of the field fall on an octet 316 boundary. Note that the value of trailing bits is irrelevant. 318 7. Subsequent Address Family Identifier 320 This document defines the following values for the Subsequent Address 321 Family Identifier field carried in the MP_REACH_NLRI and 322 MP_UNREACH_NLRI attributes: 324 1 - Network Layer Reachability Information used for unicast 325 forwarding 327 2 - Network Layer Reachability Information used for multicast 328 forwarding 330 3 - Network Layer Reachability Information used for both unicast 331 and multicast forwarding 333 This document reserves values 128-255 for vendor-specific 334 applications. 336 This document reserves value 0. 338 8. Security Considerations 340 Security issues are not discussed in this document. 342 9. Acknowledgements 344 To be supplied. 346 10. References 348 [BGP-4] 350 [IPv4] 352 [IPv6] 354 [RFC1700] 356 11. Author Information 358 Tony Bates 359 Cisco Systems, Inc. 360 170 West Tasman Drive 361 San Jose, CA 95134 362 email: tbates@cisco.com 364 Ravi Chandra 365 Cisco Systems, Inc. 366 170 West Tasman Drive 367 San Jose, CA 95134 368 email: rchandra@cisco.com 370 Dave Katz 371 Juniper Networks, Inc. 372 3260 Jay St. 373 Santa Clara, CA 95054 374 email: dkatz@jnx.com 376 Yakov Rekhter 377 Cisco Systems, Inc. 378 170 West Tasman Drive 379 San Jose, CA 95134 380 email: yakov@cisco.com