idnits 2.17.1 draft-ietf-idr-bgp4-multiprotocol-01.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-27) 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 332, 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. -------------------------------------------------------------------------------- 1 Network Working Group Tony Bates 2 Internet Draft Cisco Systems 3 Expiration Date: March 1998 Ravi Chandra 4 Cisco Systems 5 Dave Katz 6 Juniper Networks 7 Yakov Rekhter 8 Cisco Systems 10 Multiprotocol Extensions for BGP-4 12 draft-ietf-idr-bgp4-multiprotocol-01.txt 14 1. Status of this Memo 16 This document is an Internet-Draft. Internet-Drafts are working 17 documents of the Internet Engineering Task Force (IETF), its areas, 18 and its working groups. Note that other groups may also distribute 19 working documents as Internet-Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as ``work in progress.'' 26 To learn the current status of any Internet-Draft, please check the 27 ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow 28 Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), 29 munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or 30 ftp.isi.edu (US West Coast). 32 2. Abstract 34 Currently BGP-4 [BGP-4] is capable of carrying routing information 35 only for IPv4 [IPv4]. This document defines extensions to BGP-4 to 36 enable it to carry routing information for multiple Network Layer 37 protocols (e.g., IPv6, IPX, etc...). The extensions are backward 38 compatible - a router that supports the extensions can interoperate 39 with a router that doesn't support the extensions. 41 3. Overview 43 The only three pieces of information carried by BGP-4 that are IPv4 44 specific are (a) the NEXT_HOP attribute (expressed as an IPv4 45 address), (b) AGGREGATOR (contains an IPv4 address), and (c) NLRI 46 (expressed as IPv4 address prefixes). This document assumes that any 47 BGP speaker (including the one that supports multiprotocol 48 capabilities defined in this document) has to have an IPv4 address 49 (which will be used, among other things, in the AGGREGATOR 50 attribute). Therefore, to enable BGP-4 to support routing for 51 multiple Network Layer protocols the only two things that have to be 52 added to BGP-4 are (a) the ability to associate a particular Network 53 Layer protocol with the next hop information, and (b) the ability to 54 associated a particular Network Layer protocol with NLRI. To identify 55 individual Network Layer protocols this document uses Address Family, 56 as defined in [RFC1700]. 58 One could further observe that the next hop information (the 59 information provided by the NEXT_HOP attribute) is meaningful (and 60 necessary) only in conjunction with the advertisements of reachable 61 destinations - in conjunction with the advertisements of unreachable 62 destinations (withdrawing routes from service) the next hop 63 information is meaningless. This suggests that the advertisement of 64 reachable destinations should be grouped with the advertisement of 65 the next hop to be used for these destinations, and that the 66 advertisement of reachable destinations should be segregated from the 67 advertisement of unreachable destinations. 69 To provide backward compatibility, as well as to simplify 70 introduction of the multiprotocol capabilities into BGP-4 this 71 document uses two new attributes, Multiprotocol Reachable NLRI 72 (MP_REACH_NLRI), and Multiprotocol Unreachable NLRI 73 (MP_UNREACH_NLRI). The first one (MP_REACH_NLRI) is used to carry the 74 set of reachable destinations together with the next hop information 75 to be used for forwarding to these destinations. The second one 76 (MP_UNREACH_NLRI) is used to carry the set of unreachable 77 destinations. Both of these attributes are optional and non- 78 transitive. This way a BGP speaker that doesn't support the 79 multiprotocol capabilities will just ignore the information carried 80 in these attributes, and will not pass it to other BGP speakers. 82 4. Multiprotocol Reachable NLRI - MP_REACH_NLRI (Type Code 14): 84 This is an optional non-transitive attribute that can be used for the 85 following purposes: 87 (a) to advertise a feasible route to a peer 89 (b) to permit a router to advertise the Network Layer address of 90 the router that should be used as the next hop to the destinations 91 listed in the Network Layer Reachability Information field of the 92 MP_NLRI attribute. 94 (c) to allow a given router to report some or all of the 95 Subnetwork Points of Attachment (SNPAs) that exist within the 96 local system 98 The attribute contains one or more triples
, where each triple is encoded as shown below: 102 +---------------------------------------------------------+ 103 | Address Family Identifier (2 octets) | 104 +---------------------------------------------------------+ 105 | Subsequent Address Family Identifier (1 octet) | 106 +---------------------------------------------------------+ 107 | Length of Next Hop Network Address (1 octet) | 108 +---------------------------------------------------------+ 109 | Network Address of Next Hop (variable) | 110 +---------------------------------------------------------+ 111 | Number of SNPAs (1 octet) | 112 +---------------------------------------------------------+ 113 | Length of first SNPA(1 octet) | 114 +---------------------------------------------------------+ 115 | First SNPA (variable) | 116 +---------------------------------------------------------+ 117 | Length of second SNPA (1 octet) | 118 +---------------------------------------------------------+ 119 | Second SNPA (variable) | 120 +---------------------------------------------------------+ 121 | ... | 122 +---------------------------------------------------------+ 123 | Length of Last SNPA (1 octet) | 124 +---------------------------------------------------------+ 125 | Last SNPA (variable) | 126 +---------------------------------------------------------+ 127 | Network Layer Reachability Information (variable) | 128 +---------------------------------------------------------+ 129 The use and meaning of these fields are as follows: 131 Address Family Identifier: 133 This field carries the identity of the Network Layer protocol 134 associated with the Network Address that follows. Presently 135 defined values for this field are specified in RFC1700 (see the 136 Address Family Numbers section). 138 Subsequent Address Family Identifier: 140 This field provides additional information about the type of 141 the Network Layer Reachability Information carried in the 142 attribute. 144 Length of Next Hop Network Address: 146 A 1 octet field whose value expresses the length of the 147 "Network Address of Next Hop" field as measured in octets 149 Network Address of Next Hop: 151 A variable length field that contains the Network Address of 152 the next router on the path to the destination system 154 Number of SNPAs: 156 A 1 octet field which contains the number of distinct SNPAs to 157 be listed in the following fields. The value 0 may be used to 158 indicate that no SNPAs are listed in this attribute. 160 Length of Nth SNPA: 162 A 1 octet field whose value expresses the length of the "Nth 163 SNPA of Next Hop" field as measured in semi-octets 165 Nth SNPA of Next Hop: 167 A variable length field that contains an SNPA of the router 168 whose Network Address is contained in the "Network Address of 169 Next Hop" field. The field length is an integral number of 170 octets in length, namely the rounded-up integer value of one 171 half the SNPA length expressed in semi-octets; if the SNPA 172 contains an odd number of semi-octets, a value in this field 173 will be padded with a trailing all-zero semi-octet. 175 Network Layer Reachability Information: 177 A variable length field that lists NLRI for the feasible routes 178 that are being advertised in this attribute. When the 179 Subsequent Address Family Identifier field is set to one of the 180 values defined in this document, each NLRI is encoded as 181 specified in the "NLRI encoding" section of this document. 183 The next hop information carried in the MP_REACH_NLRI path attribute 184 defines the Network Layer address of the border router that should be 185 used as the next hop to the destinations listed in the MP_NLRI 186 attribute in the UPDATE message. When advertising a MP_REACH_NLRI 187 attribute to an external peer, a router may use one of its own 188 interface addresses in the next hop component of the attribute, 189 provided the external peer to which the route is being advertised 190 shares a common subnet with the next hop address. This is known as a 191 "first party" next hop. A BGP speaker can advertise to an external 192 peer an interface of any internal peer router in the next hop 193 component, provided the external peer to which the route is being 194 advertised shares a common subnet with the next hop address. This is 195 known as a "third party" next hop information. A BGP speaker can 196 advertise any external peer router in the next hop component, 197 provided that the Network Layer address of this border router was 198 learned from an external peer, and the external peer to which the 199 route is being advertised shares a common subnet with the next hop 200 address. This is a second form of "third party" next hop 201 information. 203 Normally the next hop information is chosen such that the shortest 204 available path will be taken. A BGP speaker must be able to support 205 disabling advertisement of third party next hop information to handle 206 imperfectly bridged media or for reasons of policy. 208 A BGP speaker must never advertise an address of a peer to that peer 209 as a next hop, for a route that the speaker is originating. A BGP 210 speaker must never install a route with itself as the next hop. 212 When a BGP speaker advertises the route to an internal peer, the 213 advertising speaker should not modify the next hop information 214 associated with the route. When a BGP speaker receives the route via 215 an internal link, it may forward packets to the next hop address if 216 the address contained in the attribute is on a common subnet with the 217 local and remote BGP speakers. 219 An UPDATE message that carries the MP_REACH_NLRI must also carry the 220 ORIGIN and the AS_PATH attributes (both in EBGP and in IBGP 221 exchanges). Moreover, in IBGP exchanges such a message must also 222 carry the LOCAL_PREF attribute. If such a message is received from an 223 external peer, the local system shall check whether the leftmost AS 224 in the AS_PATH attribute is equal to the autonomous system number of 225 the peer than sent the message. If that is not the case, the local 226 system shall send the NOTIFICATION message with Error Code UPDATE 227 Message Error, and the Error Subcode set to Malformed AS_PATH. 229 5. Multiprotocol Unreachable NLRI - MP_UNREACH_NLRI (Type Code 15): 231 This is an optional non-transitive attribute that can be used for the 232 purpose of withdrawing multiple unfeasible routes from service. 234 The attribute contains one or more triples
, where each 236 triple is encoded as shown below: 238 +---------------------------------------------------------+ 239 | Address Family Identifier (2 octets) | 240 +---------------------------------------------------------+ 241 | Subsequent Address Family Identifier (1 octet) | 242 +---------------------------------------------------------+ 243 | Withdrawn Routes (variable) | 244 +---------------------------------------------------------+ 246 The use and the meaning of these fields are as follows: 248 Address Family Identifier: 250 This field carries the identity of the Network Layer protocol 251 associated with the NLRI that follows. Presently defined values 252 for this field are specified in RFC1700 (see the Address Family 253 Numbers section). 255 Subsequent Address Family Identifier: 257 This field provides additional information about the type of 258 the Network Layer Reachability Information carried in the 259 attribute. 261 Withdrawn Routes: 263 A variable length field that lists NLRI for the routes that are 264 being withdrawn from service. When the Subsequent Address 265 Family Identifier field is set to one of the values defined in 266 this document, each NLRI is encoded as specified in the "NLRI 267 encoding" section of this document. 269 An UPDATE message that contains the MP_UNREACH_NLRI is not required 270 to carry any other path attributes. 272 6. NLRI encoding 274 The Network Layer Reachability information is encoded as one or more 275 2-tuples of the form , whose fields are described 276 below: 278 +---------------------------+ 279 | Length (1 octet) | 280 +---------------------------+ 281 | Prefix (variable) | 282 +---------------------------+ 284 The use and the meaning of these fields are as follows: 286 a) Length: 288 The Length field indicates the length in bits of the address 289 prefix. A length of zero indicates a prefix that matches all 290 (as specified by the address family) addresses (with prefix, 291 itself, of zero octets). 293 b) Prefix: 295 The Prefix field contains address prefixes followed by enough 296 trailing bits to make the end of the field fall on an octet 297 boundary. Note that the value of trailing bits is irrelevant. 299 7. Subsequent Address Family Identifier 301 This document defines the following values for the Subsequent Address 302 Family Identifier field carried in the MP_REACH_NLRI and 303 MP_UNREACH_NLRI attributes: 305 1 - Network Layer Reachability Information used for unicast 306 forwarding 308 2 - Network Layer Reachability Information used for multicast 309 forwarding 310 3 - Network Layer Reachability Information used for both unicast 311 and multicast forwarding 313 This document reserves values 128-255 for vendor-specific 314 applications. 316 This document reserves value 0. 318 8. Security Considerations 320 Security issues are not discussed in this document. 322 9. Acknowledgements 324 To be supplied. 326 10. References 328 [BGP-4] 330 [IPv4] 332 [IPv6] 334 [RFC1700] 336 11. Author Information 338 Tony Bates 339 Cisco Systems, Inc. 340 170 West Tasman Drive 341 San Jose, CA 95134 342 email: tbates@cisco.com 344 Ravi Chandra 345 Cisco Systems, Inc. 346 170 West Tasman Drive 347 San Jose, CA 95134 348 email: rchandra@cisco.com 350 Dave Katz 351 Juniper Networks, Inc. 353 3260 Jay St. 354 Santa Clara, CA 95054 355 email: dkatz@jnx.com 357 Yakov Rekhter 358 Cisco Systems, Inc. 359 170 West Tasman Drive 360 San Jose, CA 95134 361 email: yakov@cisco.com