BIER Working Group W. Wang Internet-Draft A. Wang Intended status: Standards Track China Telecom Expires: April 28, 2022 October 25, 2021 Routing Header Based BIER Information Encapsulation draft-wang-bier-rh-bier-00 Abstract This draft proposes one new encapsulation schema of Bit Index Explicit Replication (BIER) information to transfer the multicast packets within the IPv6 network. By defining a new IPv6 Routing Header type, it keeps the original source address and destination address unchanged in forwarding process. The encapsulation schema can make full use of the existing IPv6 quality assurance methods to provide high-quality multicast service. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on April 28, 2022. Copyright Notice Copyright (c) 2021 IETF Trust and the persons identified as the document authors. All rights reserved. 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 Wang & Wang Expires April 28, 2022 [Page 1] Internet-Draft RH-BIER October 2021 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions used in this document . . . . . . . . . . . . . . 3 3. BIER Routing Header . . . . . . . . . . . . . . . . . . . . . 3 4. The transmission process of packets with BIER Routing Header 5 4.1. All devices in BIER domain support BIER Routing Header . 5 4.2. Some devices in BIER domain do not support BIER Routing Header . . . . . . . . . . . . . . . . . . . . . . . . . 7 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 7. Normative References . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction Bit Index Explicit Replication (BIER) is a new multicast technology based on IPv6 defined in [RFC8279]. In BIER domain, the set of destination nodes of multicast message is mapped into a BitString and encapsulated into the BIER header. The position of each bit in the BitString represents an BFER. Compared with the traditional multicast technology, the nodes in BIER domain do not need to maintain a multicast tree and save the multicast flow state for each multicast flow. At present, there are two methods for encapsulating BIER information based on IPv6 in IETF: bierin6([I-D.ietf-bier-bierin6]) and bierv6([I-D.xie-bier-ipv6-encapsulation]). BIERin6 carries BIER information by defining a new IPv6 next header type. In the process of transmission, the source address and destination address in the header will change. BIERv6 carries bier related information by creating an option type of destination options header (i.e. bier option). During transmission, the source address in the header remains unchanged and the destination address will change. There are some differences between the above two BIER encapsulation and forwarding schemes, which is unfavorable to the development of BIER and its derivatives. In addition, when there is an error in the transmission process of the message, the source address and destination address help the operators locate and trace the fault. The change of source address and destination address during transmission will increase the difficulty of fault location and traceability. Wang & Wang Expires April 28, 2022 [Page 2] Internet-Draft RH-BIER October 2021 This draft proposes a BIER information transmission scheme without changing the source and destination addresses. By defining an IPv6 Routing Header type, it carries the relevant information of BIER and ensures that the source address and destination address do not change during message transmission. The characteristics of this scheme are conducive to rapid fault location and traceability, and can make full use of the existing IPv6 quality assurance technologies to provide high-quality multicast service. 2. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119] . 3. BIER Routing Header In RFC8020, the format of IPv6 Routing Header is defined, as shown in Figure 1. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | Routing Type | Segments Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . type-specific data . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: The format of IPv6 Routing Header Where: o Next Header(8 bits): indicating the message header type immediately after the routing header. o HDR Ext Len(8 bits): indicating the length of the routing header. o Routing Type(8 bits): TBD. Identifying the newly defined Routing Header to encode BIER information. o Segments Left(8 bits): indicating the number of explicitly listed intermediate nodes to be accessed before reaching the final destination. It is not used here for the time being, and all are set to 0. Wang & Wang Expires April 28, 2022 [Page 3] Internet-Draft RH-BIER October 2021 o Type-specific data(variable): Its format is determined by the routing type. The length should ensure that the complete routing header is an integer multiple of 8 octets. We define a new Routing Header type: BIER Routing Header to carry BIER related information. The message format of the newly defined Routing Header type is shown in Figure 2. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | Routing Type | Segment Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BIFT-id | Ver | TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BSL | Entropy | DSCP |OAM| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BFIR-id |Rsv| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . BitString . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: The format of BIER Routing Header Where: o BIFT-id(20 bits): each < SD, Si, BSL > is assigned a BIFT-id. o Ver(4 bits): identifying the version of the BIER header. When an unsupported BIER header version is received, the BFR needs to discard the packet and record the error. o TTL(8 bits): indicating the lifetime of the message. It is used to prevent ring. The processing process is the same as that in non MPLS networks. o BSL(4 bits): indicating the length of BitString. o Entropy(20 bits): this field specifies an "entropy" for ECMP. o DSCP(6 bits): this field is used to support different service codes. o OAM(2 bits): by default, this value will be set to 0 by BFIR, and other BFRs will not be modified. Whether to use this field is optional. Wang & Wang Expires April 28, 2022 [Page 4] Internet-Draft RH-BIER October 2021 o BFIR-id(16 bits): indicating BFR ID of BFIR. o Rsv(2 bits): unused, set to 0. o Reserved (14 bits): reserved field, set to 0. o BitString(variable): the length must be reflected in the BSL field. The string saved in this field is used to identify the destination BFER of the packet. 4. The transmission process of packets with BIER Routing Header Based on the newly defined BIER Routing Header, the devices support BIER Routing Header resolution will perform the following steps: 1) Checking whether there is BIFT corresponding to the BIFT-id locally. 2) Checking whether the direct-connected device support BIER Routing Header. If yes, proceed to step 3; otherwise, proceed to step 2.1. 2.1) Calculating the IPv6 address of next hop that support BIER Routing Header. 2.2) Encapsulating an outer IPv6 Header to the packet. The calculated IPv6 address is used as the destination address of the outer IPv6 Header, and its own IPv6 address is used as the source address of the outer IPv6 Header. BitString will not be changed. 2.3) Sending the encapsulated packet to the next-connected device, the device will perform normal IPv6 forwarding according to the outer IPv6 Header. 3) Performing the normal BIER forwarding process as described in [RFC8279]. The detail procedures for forwarding the multicast packets based on the newly defined Routing Header are described in the following sections. 4.1. All devices in BIER domain support BIER Routing Header +---+ +-----------+ B +----------+ | +---+ | | 0:01000000 | | | | | Wang & Wang Expires April 28, 2022 [Page 5] Internet-Draft RH-BIER October 2021 | | +-+-+ +-+-+ (Packet 2) +---+ (Packet 3)+---+ | A |0:10000000 0:00100000| C +------------+ E +-----------+ F | +-+-+ +-+-+ +---+ +---+ | | 0:00001000 0:00000100 | | | | | | | 0:00010000 | | +---+ | +-----------+ D +----------+ (Packet 1) +---+ Packet 1 +----------------------------+ IPv6 | Source IP Address = A | Header +----------------------------+ | Destination IP Address = F | BIER +----------------------------+ Routing| BitString = 00101100 | Header +----------------------------+ Packet 2 +----------------------------+ IPv6 | Source IP Address = A | Header +----------------------------+ | Destination IP Address = F | BIER +----------------------------+ Routing| BitString = 00001100 | Header +----------------------------+ Packet 3 +----------------------------+ Inner | Source IP Address = A | IPv6 +----------------------------+ Header | Destination IP Address = F | +----------------------------+ BIER | BitString = 00000100 | Routing+----------------------------+ Header Figure 3: All devices in BIER domain support BIER Routing Header The topology is shown in Figure 3, device A-F support BIER Routing Header resolution. The packet need to be transmitted from A to F. Wang & Wang Expires April 28, 2022 [Page 6] Internet-Draft RH-BIER October 2021 The change of the Header has been given in the Figure. Each device will perform the following steps after receiving the packet: 1. Checking whether there is BIFT corresponding to the BIFT-id locally. If yes, proceed to step 2; otherwise, discard the packet. 2. Checking whether the direct-connected device support BIER Routing Header. If yes, forwarding the packet according to the BIFT related to the BIFT-id; otherwise, see sectionSection 4.2 for detail procedures. In this forwarding process, the source address and destination address in the Inner IPv6 Header are not changed, only the BitString in BIER Routing Header is changed. 4.2. Some devices in BIER domain do not support BIER Routing Header +---+ +-----------+ B +-----------+ | +---+ | | 0:01000000 | | | | | | | +-+-+ +-+-+ (Packet 2) +---+ (Packet 3) +---+ | A |0:10000000 | C +------------+ E +------------+ F | +-+-+ +-+-+ +---+ +---+ | | 0:00001000 0:00000100 | | | | | | | 0:00010000 | | +---+ | +-----------+ D +-----------+ (Packet 1) +---+ Packet 1 +----------------------------+ Outer | Source IP Address = A | IPv6 +----------------------------+ Header | Destination IP Address = E | +----------------------------+ Inner | Source IP Address = A | IPv6 +----------------------------+ Header | Destination IP Address = F | +----------------------------+ BIER | BitString = 00001100 | Wang & Wang Expires April 28, 2022 [Page 7] Internet-Draft RH-BIER October 2021 Routing+----------------------------+ Header Packet 2 +----------------------------+ Outer | Source IP Address = C | IPv6 +----------------------------+ Header | Destination IP Address = E | +----------------------------+ Inner | Source IP Address = A | IPv6 +----------------------------+ Header | Destination IP Address = F | +----------------------------+ BIER | BitString = 00001100 | Routing+----------------------------+ Header Packet 3 +----------------------------+ IPv6 | Source IP Address = A | Header +----------------------------+ | Destination IP Address = F | BIER +----------------------------+ Routing| BitString = 00000100 | Header +----------------------------+ Figure 4: Some devices in BIER domain do not support BIER Routing Header The topology is shown in Figure 4, all devices expect device C support BIER Routing Header resolution. The packet need to be transmitted from A to F. The change of the Header has been given in the Figure 4. When it is found that device C does not support BIER Routing Header resolution, device A will perform the following steps after receiving the packet: 1. Calculating the IPv6 address of next hop device that supports BIER Routing Header. 2. Encapsulating an outer IPv6 Header to the packet. The calculated IPv6 address is used as the destination address of the outer IPv6 Header, and its own IPv6 address is used as the source address of the outer IPv6 Header. BitString will not be changed. 3. Sending the packet to device C. After receiving the packet, device C will perform IPv6 forwarding according the information in outer IPv6 Header, and send the packet to device E. Device E will send it to device F according the information in BIER Routing Header. In the forwarding process, the Wang & Wang Expires April 28, 2022 [Page 8] Internet-Draft RH-BIER October 2021 source address and destination address in the Inner IPv6 Header are not changed. 5. Security Considerations TBD 6. IANA Considerations This document defines a new IPv6 Routing Header - BIER Routing Header. The code point is from the "Internet Protocol Version 6 (IPv6) Parameters - Routing Types". It is recommended to set the code point of BIER Routing Header to 7. 7. Normative References [I-D.ietf-bier-bierin6] Zhang, Z., Zhang, Z., Wijnands, I., Mishra, M., Bidgoli, H., and G. Mishra, "Supporting BIER in IPv6 Networks (BIERin6)", draft-ietf-bier-bierin6-00 (work in progress), June 2021. [I-D.xie-bier-ipv6-encapsulation] Xie, J., Geng, L., McBride, M., Asati, R., Dhanaraj, S., Zhu, Y., Qin, Z., Shin, M., Mishra, G., and X. Geng, "Encapsulation for BIER in Non-MPLS IPv6 Networks", draft- xie-bier-ipv6-encapsulation-10 (work in progress), February 2021. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., Przygienda, T., and S. Aldrin, "Multicast Using Bit Index Explicit Replication (BIER)", RFC 8279, DOI 10.17487/RFC8279, November 2017, . Authors' Addresses Wang & Wang Expires April 28, 2022 [Page 9] Internet-Draft RH-BIER October 2021 Wei Wang China Telecom Beiqijia Town, Changping District Beijing, Beijing 102209 China Email: weiwang94@foxmail.com Aijun Wang China Telecom Beiqijia Town, Changping District Beijing, Beijing 102209 China Email: wangaj3@chinatelecom.cn Wang & Wang Expires April 28, 2022 [Page 10]