idnits 2.17.00 (12 Aug 2021) /tmp/idnits29097/draft-wang-bier-rh-bier-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (December 29, 2021) is 143 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-04) exists of draft-ietf-bier-bierin6-01 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 BIER Working Group W. Wang 3 Internet-Draft A. Wang 4 Intended status: Standards Track China Telecom 5 Expires: July 2, 2022 December 29, 2021 7 Routing Header Based BIER Information Encapsulation 8 draft-wang-bier-rh-bier-03 10 Abstract 12 This draft proposes one new encapsulation schema of Bit Index 13 Explicit Replication (BIER) information to transfer the multicast 14 packets within the IPv6 network. By using a new type of IPv6 Routing 15 Header to forward the packet, the original source address and 16 destination address of the multicast packet is kept unchanged along 17 the forwarding path. Such encapsulation schema can make full use of 18 the existing IPv6 quality assurance solutions to provide high-quality 19 multicast service. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at https://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on July 2, 2022. 38 Copyright Notice 40 Copyright (c) 2021 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (https://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 2. Conventions used in this document . . . . . . . . . . . . . . 3 57 3. BIER Routing Header . . . . . . . . . . . . . . . . . . . . . 3 58 4. Multicast Packet Forwarding Procedures . . . . . . . . . . . 5 59 4.1. All nodes in BIER domain support BIER Routing Header . . 6 60 4.2. Some nodes in BIER domain do not support BIER Routing 61 Header . . . . . . . . . . . . . . . . . . . . . . . . . 7 62 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 63 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 64 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 65 7.1. Normative References . . . . . . . . . . . . . . . . . . 9 66 7.2. Informative References . . . . . . . . . . . . . . . . . 10 67 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 69 1. Introduction 71 Bit Index Explicit Replication (BIER) is a new multicast technology 72 based on IPv6 defined in [RFC8279]. In BIER domain, the set of 73 destination nodes of multicast message is mapped into a BitString and 74 encapsulated into the BIER header. The position of each bit in the 75 BitString represents an BFER. Compared with the traditional 76 multicast technologies, the nodes in BIER domain do not need to 77 maintain a multicast tree and keep the multicast flow state for each 78 multicast flow. 80 Currently, there are two methods for encapsulating BIER information 81 based on IPv6 in IETF: BIERin6([I-D.ietf-bier-bierin6]) and 82 BIERv6([I-D.xie-bier-ipv6-encapsulation]). 84 BIERin6 carries BIER information by defining a new IPv6 next header 85 type. During the forwarding process, the source address and 86 destination address in the header will be changed. 88 BIERv6 carries bier related information by defining an new type of 89 destination options header (i.e. bier option). The source address in 90 the header remains unchanged but the destination address will be 91 changed along the forwarding path. 93 The differences between the above two BIER encapsulation and 94 forwarding schemes are unfavorable for the development of BIER and 95 its derivatives. In addition, when there is error in the forward 96 process of the multicast packet, the change of source address and 97 destination address during transmission will increase the difficulty 98 of fault location and traceability. 100 This draft proposes a BIER information transmission scheme without 101 changing the multicast source and destination addresses. The 102 relevant BIER information is encapsulated within the newly defined 103 IPv6 Routing Header type, each intermediate BIER router will route 104 the multicast packet based on the BitString information and its 105 associated BIFT. The multicast source and destination address are 106 not changed along the forwarding path. 108 The characteristics of such schema are helpful to the rapid fault 109 location and traceability, and can make full use of the existing IPv6 110 quality assurance technologies to provide high-quality multicast 111 service. 113 2. Conventions used in this document 115 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 116 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 117 document are to be interpreted as described in [RFC2119] . 119 3. BIER Routing Header 121 One new type of IPv6 Routing Header is defined according to 122 [RFC8200]. The message format is shown in Figure 1. 124 0 1 2 3 125 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 126 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 127 | Next Header | Hdr Ext Len | Routing Type | Segment Left | 128 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 129 | BIFT-id | TC |S| TTL | 130 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 131 |Nibble | Ver | BSL | Entropy | 132 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 133 |OAM|Rsv| DSCP | Proto | BFIR-id | 134 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 135 | BitString (first 32 bits) ~ 136 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 137 ~ ~ 138 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 139 ~ BitString (last 32 bits) | 140 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 142 Figure 1: The format of BIER Routing Header 144 Where: 146 o Next Header(8 bits): indicating the message header type 147 immediately after the routing header. 149 o HDR Ext Len(8 bits): indicating the length of the routing header. 151 o Routing Type(8 bits): TBD. Identifying the newly defined Routing 152 Header to encode BIER information. 154 o Segments Left(8 bits): indicating the number of explicitly listed 155 intermediate nodes to be accessed before reaching the final 156 destination. It is not used here for the time being, and all are 157 set to 0. 159 o BIFT-id(20 bits): each < SD, Si, BSL > is assigned a BIFT-id. 161 o TC(3 bits): see [RFC8296]. This field is set to 0. 163 o S(1 bit): see [RFC8296]. This field is set to 0. 165 o TTL(8 bits): indicating the lifetime of the message. It is used 166 to prevent ring. The processing process is the same as that in 167 non MPLS networks. 169 o Nibble(4 bits): see [RFC8296]. This field is set to 0. 171 o Ver(4 bits): identifying the version of the BIER header. When an 172 unsupported BIER header version is received, the BFR needs to 173 discard the packet and record the error. 175 o BSL(4 bits): indicating the length of BitString. 177 o Entropy(20 bits): this field specifies an "entropy" for ECMP. 179 o OAM(2 bits): by default, this value will be set to 0 by BFIR, and 180 other BFRs will not be modified. Whether to use this field is 181 optional. 183 o Rsv(2 bits): unused, set to 0. 185 o DSCP(6 bits): this field is used to support different service 186 codes. 188 o Proto(6 bits): see [RFC8296]. This field is set to 0. 190 o BFIR-id(16 bits): indicating BFR ID of BFIR. 192 o Reserved (14 bits): reserved field, set to 0. 194 o BitString(variable): the length must be reflected in the BSL 195 field. The string saved in this field is used to identify the 196 destination BFER of the packet. 198 4. Multicast Packet Forwarding Procedures 200 Based on the newly defined BIER Routing Header, the nodes support 201 BIER Routing Header will perform the following steps to forward the 202 multicast packets: 204 1) When a BFIR receive a multicast packet, it will encapsulate a IPv6 205 Header with BIER Routing Header. The payload is user data, the 206 source address is the IPv6 address of BFIR, and destination address 207 is the destination address of original multicast packet. BitString 208 in BIER Routing Header indicates the BFERs that want to receives such 209 multicast packet. 211 2) BFIR checks whether there is BIFT corresponding to the BIFT-id 212 locally. If not, it will discard the packet; otherwise, it will 213 check whether the direct-connected node support BIER Routing Header. 214 If the direct-connected node supports BIER Routing Header, proceeding 215 to step 3). If the direct-connected node doesn't support BIER 216 Routing Header, proceeding to step 2.1) . 218 2.1) BFIR Calculates the IPv6 address of next hop that support BIER 219 Routing Header. 221 2.2) Encapsulating an outer IPv6 Header to the multicast packet. The 222 calculated IPv6 address is used as the destination address of the 223 outer IPv6 Header, and its own IPv6 address is used as the source 224 address of the outer IPv6 Header. BitString will not be changed. 226 2.3) Sending the encapsulated packet to the direct-connected node, 227 the node will perform normal IPv6 forwarding according to the outer 228 IPv6 Header. 230 3) Performing the normal BIER forwarding process as described in 231 [RFC8279]. 233 For a BFR, it performs the above procedures except 1). 235 The detail procedures for forwarding the multicast packets based on 236 the newly defined Routing Header are described in the following 237 sections. 239 4.1. All nodes in BIER domain support BIER Routing Header 241 +---+ 242 +-----------+ B +----------+ 243 | +---+ | 244 | 0:01000000 | 245 | | 246 | | 247 | | 248 +-+-+ +-+-+ (Packet 2) +---+ (Packet 3)+---+ 249 | A |0:10000000 0:00100000| C +------------+ E +-----------+ F | 250 +-+-+ +-+-+ +---+ +---+ 251 | | 0:00001000 0:00000100 252 | | 253 | | 254 | | 255 | 0:00010000 | 256 | +---+ | 257 +-----------+ D +----------+ 258 (Packet 1) +---+ 260 Packet 1 261 +------------------------------------+ 262 IPv6 | IPv6 Address of A | 263 Header +------------------------------------+ 264 with | IPv6 Multicast Destination Address | 265 BIER +------------------------------------+ 266 Routing| BIER RH(BitString = 00101100) | 267 Header +------------------------------------+ 268 | Original multicast packet | 269 +------------------------------------+ 271 Packet 2 272 +------------------------------------+ 273 IPv6 | IPv6 Address of A | 274 Header +------------------------------------+ 275 with | IPv6 Multicast Destination Address | 276 BIER +------------------------------------+ 277 Routing| BIER RH(BitString = 00001100) | 278 Header +------------------------------------+ 279 | Original multicast packet | 280 +------------------------------------+ 282 Packet 3 283 +------------------------------------+ 285 IPv6 | IPv6 Address of A | 286 Header +------------------------------------+ 287 with | IPv6 Multicast Destination Address | 288 BIER +------------------------------------+ 289 Routing| BIER RH(BitString = 00000100) | 290 Header +------------------------------------+ 291 | Original multicast packet | 292 +------------------------------------+ 294 Figure 2: All nodes in BIER domain support BIER Routing Header 296 The topology is shown in Figure 2, node A-F support BIER Routing 297 Header. The packet need to be transmitted from A to F. The changes 298 of the Routing Header have been given in Figure 2. 300 1). Node A is BFIR, when it receives a multicast packet, it will 301 encapsulate a IPv6 Header with BIER Routing Header to the packet. 302 The source address is the IPv6 address of itself, and the destination 303 address is the destination address of original multicast packet. 305 2). Node A checks whether there is BIFT corresponding to the BIFT-id 306 locally. If not, discarding the packet; otherwise, forwarding the 307 packet according to the BIFT related to the BIFT-id. 309 During the forwarding procedures, the source & destination address in 310 IPv6 header are not changed, only the BitString in BIER Routing 311 Header is updated. 313 4.2. Some nodes in BIER domain do not support BIER Routing Header 315 +---+ 316 +-----------+ B +-----------+ 317 | +---+ | 318 | 0:01000000 | 319 | | 320 | | 321 | | 322 +-+-+ +-+-+ +---+ (Packet 3) +---+ 323 | A |0:10000000 | C +------------+ E +------------+ F | 324 +-+-+ +-+-+ +---+ +---+ 325 | | 0:00001000 0:00000100 326 | | 327 | | 328 | | 329 | 0:00010000 | 330 | +---+ | 331 +-----------+ D +-----------+ 332 (Packet 1) +---+ (Packet 2) 333 Packet 1 334 +------------------------------------+ 335 IPv6 | IPv6 Address of A | 336 Header +------------------------------------+ 337 with | IPv6 Multicast Destination Address | 338 BIER +------------------------------------+ 339 Routing| BIER RH(BitString = 00001100) | 340 Header +------------------------------------+ 341 | Original multicast packet | 342 +------------------------------------+ 344 Packet 2 345 +------------------------------------+ 346 Outer | Source IP Address = D | 347 IPv6 +------------------------------------+ 348 Header | Destination IP Address = E | 349 +------------------------------------+ 350 Inner | IPv6 Address of A | 351 IPv6 +------------------------------------+ 352 Header | IPv6 Multicast Destination Address | 353 with +------------------------------------+ 354 BIER | BIER RH(BitString = 00001100) | 355 Routing+------------------------------------+ 356 Header | Original multicast packet | 357 +------------------------------------+ 359 Packet 3 360 +-------------------------------------+ 361 IPv6 | IPv6 Address of A | 362 Header +-------------------------------------+ 363 with | IPv6 Multicast Destination Address | 364 BIER +-------------------------------------+ 365 Routing| BIER RH(BitString = 00000100) | 366 Header +-------------------------------------+ 367 | Original multicast packet | 368 +-------------------------------------+ 370 Figure 3: Some nodes in BIER domain do not support BIER Routing Header 372 The topology is shown in Figure 3, all nodes expect node C support 373 BIER Routing Header. The packet need to be transmitted from A to F. 374 The change of the Header has been given in the Figure 3. 376 1). After receiving a multicast packet, node A encapsulates a IPv6 377 Header with BIER Routing Header to it, and forwards the packet to 378 node D according to the BIFT. 380 2). Node D calculates the IPv6 address of next hop node(Node E) that 381 supports BIER Routing Header, and encapsulates an outer IPv6 Header 382 to the packet. The source IPv6 address is the IPv6 address of 383 itself, and the destination IPv6 address is the IPv6 address of node 384 E. Then, sending the packet to node C. 386 3). Node C performs normal IPv6 forwarding according to the outer 387 IPv6 header and sends the packet to node E. 389 4). Node E decapsulates the outer IPv6 header and forwards the 390 packet according to the BIFT to node F. 392 In the forwarding procedures, the source address and destination 393 address in the Inner IPv6 Header are not changed, only the BitString 394 in BIER Routing Header is updated. 396 5. Security Considerations 398 TBD 400 6. IANA Considerations 402 This document defines a new type of IPv6 Routing Header - BIER 403 Routing Header. The code point is from the "Internet Protocol 404 Version 6 (IPv6) Parameters - Routing Types". It is recommended to 405 set the code point of BIER Routing Header to 7. 407 7. References 409 7.1. Normative References 411 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 412 Requirement Levels", BCP 14, RFC 2119, 413 DOI 10.17487/RFC2119, March 1997, 414 . 416 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 417 (IPv6) Specification", STD 86, RFC 8200, 418 DOI 10.17487/RFC8200, July 2017, 419 . 421 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 422 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 423 Explicit Replication (BIER)", RFC 8279, 424 DOI 10.17487/RFC8279, November 2017, 425 . 427 [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 428 Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation 429 for Bit Index Explicit Replication (BIER) in MPLS and Non- 430 MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 431 2018, . 433 7.2. Informative References 435 [I-D.ietf-bier-bierin6] 436 Zhang, Z., Zhang, Z., Wijnands, I., Mishra, M., Bidgoli, 437 H., and G. Mishra, "Supporting BIER in IPv6 Networks 438 (BIERin6)", draft-ietf-bier-bierin6-01 (work in progress), 439 December 2021. 441 [I-D.xie-bier-ipv6-encapsulation] 442 Xie, J., Geng, L., McBride, M., Asati, R., Dhanaraj, S., 443 Zhu, Y., Qin, Z., Shin, M., Mishra, G., and X. Geng, 444 "Encapsulation for BIER in Non-MPLS IPv6 Networks", draft- 445 xie-bier-ipv6-encapsulation-10 (work in progress), 446 February 2021. 448 Authors' Addresses 450 Wei Wang 451 China Telecom 452 Beiqijia Town, Changping District 453 Beijing, Beijing 102209 454 China 456 Email: weiwang94@foxmail.com 458 Aijun Wang 459 China Telecom 460 Beiqijia Town, Changping District 461 Beijing, Beijing 102209 462 China 464 Email: wangaj3@chinatelecom.cn