idnits 2.17.1 draft-wang-bier-rh-bier-02.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 (October 25, 2021) is 913 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 (-09) exists of draft-ietf-bier-bierin6-00 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: April 28, 2022 October 25, 2021 7 Routing Header Based BIER Information Encapsulation 8 draft-wang-bier-rh-bier-02 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 IPv6 Routing Header 15 type 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 April 28, 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 devices in BIER domain support BIER Routing Header . 5 60 4.2. Some devices in BIER domain do not support BIER Routing 61 Header . . . . . . . . . . . . . . . . . . . . . . . . . 7 62 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 63 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 64 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 65 7.1. Normative References . . . . . . . . . . . . . . . . . . 9 66 7.2. Informative References . . . . . . . . . . . . . . . . . 9 67 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 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 technology, 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: BIERn6([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 option 89 type of destination options header (i.e. bier option). The source 90 address in the header remains unchanged but the destination address 91 will be 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 125 | Next Header | Hdr Ext Len | Routing Type | Segment Left | 126 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 127 | BIFT-id | Ver | TTL | 128 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 129 | BSL | Entropy | DSCP |OAM| 130 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 131 | BFIR-id |Rsv| Reserved | 132 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 133 | | 134 . . 135 . BitString . 136 . . 137 | | 138 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 140 Figure 1: The format of BIER Routing Header 142 Where: 144 o Next Header(8 bits): indicating the message header type 145 immediately after the routing header. 147 o HDR Ext Len(8 bits): indicating the length of the routing header. 149 o Routing Type(8 bits): TBD. Identifying the newly defined Routing 150 Header to encode BIER information. 152 o Segments Left(8 bits): indicating the number of explicitly listed 153 intermediate nodes to be accessed before reaching the final 154 destination. It is not used here for the time being, and all are 155 set to 0. 157 o BIFT-id(20 bits): each < SD, Si, BSL > is assigned a BIFT-id. 159 o Ver(4 bits): identifying the version of the BIER header. When an 160 unsupported BIER header version is received, the BFR needs to 161 discard the packet and record the error. 163 o TTL(8 bits): indicating the lifetime of the message. It is used 164 to prevent ring. The processing process is the same as that in 165 non MPLS networks. 167 o BSL(4 bits): indicating the length of BitString. 169 o Entropy(20 bits): this field specifies an "entropy" for ECMP. 171 o DSCP(6 bits): this field is used to support different service 172 codes. 174 o OAM(2 bits): by default, this value will be set to 0 by BFIR, and 175 other BFRs will not be modified. Whether to use this field is 176 optional. 178 o BFIR-id(16 bits): indicating BFR ID of BFIR. 180 o Rsv(2 bits): unused, set to 0. 182 o Reserved (14 bits): reserved field, set to 0. 184 o BitString(variable): the length must be reflected in the BSL 185 field. The string saved in this field is used to identify the 186 destination BFER of the packet. 188 4. Multicast Packet Forwarding Procedures 190 Based on the newly defined BIER Routing Header, the devices support 191 BIER Routing Header will perform the following steps to forward the 192 multicast packets: 194 1) When BFIR receives the IPv6 multicast packets from the mulicast 195 source, it will add BIER Routing Header to indicate the BFERs that 196 want to receives such multicast packet. The encapsulated multicast 197 packet will be forwarded according to the BIFT that identified by the 198 BIFT-id. 200 2) Each BFR (includes BFIR) will check whether the direct-connected 201 device support BIER Routing Header. If yes, proceed to step 3); 202 otherwise, proceed to step 2.1). 204 2.1) Calculating the IPv6 address of next hop that support BIER 205 Routing Header. 207 2.2) Encapsulating an outer IPv6 Header to the multicast packet. The 208 calculated IPv6 address is used as the destination address of the 209 outer IPv6 Header, and its own IPv6 address is used as the source 210 address of the outer IPv6 Header. BitString will not be changed. 212 2.3) Sending the encapsulated packet to the direct-connected device, 213 the device will perform normal IPv6 forwarding according to the outer 214 IPv6 Header. 216 3) On the router that supports the BIER Routing Header, perform the 217 normal BIER forwarding process as described in [RFC8279]. 219 The detail procedures for forwarding the multicast packets based on 220 the newly defined Routing Header are described in the following 221 sections. 223 4.1. All devices in BIER domain support BIER Routing Header 225 +---+ 226 +-----------+ B +----------+ 227 | +---+ | 228 | 0:01000000 | 229 | | 230 | | 231 | | 232 +-+-+ +-+-+ (Packet 2) +---+ (Packet 3)+---+ 233 | A |0:10000000 0:00100000| C +------------+ E +-----------+ F | 234 +-+-+ +-+-+ +---+ +---+ 235 | | 0:00001000 0:00000100 236 | | 237 | | 238 | | 239 | 0:00010000 | 240 | +---+ | 241 +-----------+ D +----------+ 242 (Packet 1) +---+ 244 Packet 1 245 +------------------------------------+ 246 IPv6 | IPv6 Address of Multicast Source | 247 Header +------------------------------------+ 248 | IPv6 Multicast Destination Address | 249 BIER +------------------------------------+ 250 Routing| BitString = 00101100 | 251 Header +------------------------------------+ 253 Packet 2 254 +------------------------------------+ 255 IPv6 | IPv6 Address of Multicast Source | 256 Header +------------------------------------+ 257 | IPv6 Multicast Destination Address | 258 BIER +------------------------------------+ 259 Routing| BitString = 00001100 | 260 Header +------------------------------------+ 262 Packet 3 263 +------------------------------------+ 264 IPv6 | IPv6 Address of Multicast Source | 265 Header +------------------------------------+ 266 | IPv6 Multicast Destination Address | 267 BIER +------------------------------------+ 268 Routing| BitString = 00000100 | 269 Header +------------------------------------+ 271 Figure 2: All devices in BIER domain support BIER Routing Header 273 The topology is shown in Figure 2, device A-F support BIER Routing 274 Header. The packet need to be transmitted from A to F. The changes 275 of the Routing Header have been given in Figure 2. Each device will 276 perform the following steps after receiving the packet: 278 1). Checking whether there is BIFT corresponding to the BIFT-id 279 locally. If yes, proceed to step 2); otherwise, discard the packet. 281 2). Checking whether the direct-connected device support BIER 282 Routing Header. If yes, forwarding the packet according to the BIFT 283 related to the BIFT-id; otherwise, see sectionSection 4.2 for detail 284 procedures. 286 During the forwarding procedures, the source address and destination 287 address of the IPv6 multicast packet are not changed, only the 288 BitString in BIER Routing Header is updated. 290 4.2. Some devices in BIER domain do not support BIER Routing Header 292 +---+ 293 +-----------+ B +-----------+ 294 | +---+ | 295 | 0:01000000 | 296 | | 297 | | 298 | | 299 +-+-+ +-+-+ +---+ (Packet 3) +---+ 300 | A |0:10000000 | C +------------+ E +------------+ F | 301 +-+-+ +-+-+ +---+ +---+ 302 | | 0:00001000 0:00000100 303 | | 304 | | 305 | | 306 | 0:00010000 | 307 | +---+ | 308 +-----------+ D +-----------+ 309 (Packet 1) +---+(Packet 2) 311 Packet 1 312 +------------------------------------+ 313 IPv6 | IPv6 Address of Multicast Source | 314 Header +------------------------------------+ 315 | IPv6 Multicast Destination Address | 316 BIER +------------------------------------+ 317 Routing| BitString = 00101100 | 318 Header +------------------------------------+ 320 Packet 2 321 +------------------------------------+ 322 Outer | Source IP Address = D | 323 IPv6 +------------------------------------+ 324 Header | Destination IP Address = E | 325 +------------------------------------+ 326 Inner | IPv6 Address of Multicast Source | 327 IPv6 +------------------------------------+ 329 Header | IPv6 Multicast Destination Address | 330 +------------------------------------+ 331 BIER | BitString = 00001100 | 332 Routing+------------------------------------+ 333 Header 334 Packet 3 335 +-------------------------------------+ 336 IPv6 | IPv6 Address of Multicast Source | 337 Header +-------------------------------------+ 338 | IPv6 Multicast Destination Address | 339 BIER +-------------------------------------+ 340 Routing| BitString = 00000100 | 341 Header +-------------------------------------+ 343 Figure 3: Some devices in BIER domain do not support BIER Routing Header 345 The topology is shown in Figure 3, all devices expect device C 346 support BIER Routing Header. The packet need to be transmitted from 347 A to F. The change of the Header has been given in the Figure 3. 348 When it is found that device C does not support BIER Routing Header, 349 device D will perform the following steps after receiving the packet: 351 1. Calculating the IPv6 address of next hop device(Node E) that 352 supports BIER Routing Header. 354 2. Encapsulating an outer IPv6 Header to the packet. The calculated 355 IPv6 address(E) is used as the destination address of the outer IPv6 356 Header, and its own IPv6 address(D) is used as the source address of 357 the outer IPv6 Header. BitString will not be changed. 359 3. Sending the packet to directed-connected device C. 361 After receiving the packet, device C will perform IPv6 forwarding 362 according the information in outer IPv6 Header, and send the packet 363 to device E. Device E will send it to device F according the 364 information in BIER Routing Header. In the forwarding process, the 365 source address and destination address in the Inner IPv6 Header are 366 not changed. 368 5. Security Considerations 370 TBD 372 6. IANA Considerations 374 This document defines a new IPv6 Routing Header - BIER Routing 375 Header. The code point is from the "Internet Protocol Version 6 376 (IPv6) Parameters - Routing Types". It is recommended to set the 377 code point of BIER Routing Header to 7. 379 7. References 381 7.1. Normative References 383 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 384 Requirement Levels", BCP 14, RFC 2119, 385 DOI 10.17487/RFC2119, March 1997, 386 . 388 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 389 (IPv6) Specification", STD 86, RFC 8200, 390 DOI 10.17487/RFC8200, July 2017, 391 . 393 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 394 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 395 Explicit Replication (BIER)", RFC 8279, 396 DOI 10.17487/RFC8279, November 2017, 397 . 399 7.2. Informative References 401 [I-D.ietf-bier-bierin6] 402 Zhang, Z., Zhang, Z., Wijnands, I., Mishra, M., Bidgoli, 403 H., and G. Mishra, "Supporting BIER in IPv6 Networks 404 (BIERin6)", draft-ietf-bier-bierin6-00 (work in progress), 405 June 2021. 407 [I-D.xie-bier-ipv6-encapsulation] 408 Xie, J., Geng, L., McBride, M., Asati, R., Dhanaraj, S., 409 Zhu, Y., Qin, Z., Shin, M., Mishra, G., and X. Geng, 410 "Encapsulation for BIER in Non-MPLS IPv6 Networks", draft- 411 xie-bier-ipv6-encapsulation-10 (work in progress), 412 February 2021. 414 Authors' Addresses 416 Wei Wang 417 China Telecom 418 Beiqijia Town, Changping District 419 Beijing, Beijing 102209 420 China 422 Email: weiwang94@foxmail.com 423 Aijun Wang 424 China Telecom 425 Beiqijia Town, Changping District 426 Beijing, Beijing 102209 427 China 429 Email: wangaj3@chinatelecom.cn