| < draft-xie-bier-ipv6-encapsulation-07.txt | draft-xie-bier-ipv6-encapsulation-08.txt > | |||
|---|---|---|---|---|
| Network Working Group J. Xie | Network Working Group J. Xie | |||
| Internet-Draft Huawei Technologies | Internet-Draft Huawei Technologies | |||
| Updates: 8296 (if approved) L. Geng | Updates: 8296 (if approved) L. Geng | |||
| Intended status: Standards Track China Mobile | Intended status: Standards Track China Mobile | |||
| Expires: December 31, 2020 M. McBride | Expires: January 14, 2021 M. McBride | |||
| Futurewei | Futurewei | |||
| R. Asati | R. Asati | |||
| Cisco | Cisco | |||
| S. Dhanaraj | S. Dhanaraj | |||
| Huawei | Huawei | |||
| Y. Zhu | Y. Zhu | |||
| China Telecom | China Telecom | |||
| Z. Qin | Z. Qin | |||
| China Unicom | China Unicom | |||
| M. Shin | M. Shin | |||
| LG Uplus | LG Uplus | |||
| G. Mishra | ||||
| Verizon Inc. | ||||
| X. Geng | X. Geng | |||
| Huawei | Huawei | |||
| June 29, 2020 | July 13, 2020 | |||
| Encapsulation for BIER in Non-MPLS IPv6 Networks | Encapsulation for BIER in Non-MPLS IPv6 Networks | |||
| draft-xie-bier-ipv6-encapsulation-07 | draft-xie-bier-ipv6-encapsulation-08 | |||
| Abstract | Abstract | |||
| This document proposes a BIER IPv6 (BIERv6) encapsulation for Non- | This document proposes a BIER IPv6 (BIERv6) encapsulation for Non- | |||
| MPLS IPv6 Networks using the IPv6 Destination Option extension | MPLS IPv6 Networks using the IPv6 Destination Option extension | |||
| header. This document updates RFC 8296. | header. This document updates RFC 8296. | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| skipping to change at page 2, line 10 ¶ | skipping to change at page 2, line 10 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on December 31, 2020. | This Internet-Draft will expire on January 14, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 33 ¶ | skipping to change at page 2, line 33 ¶ | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. BIER IPv6 Encapsulation . . . . . . . . . . . . . . . . . . . 4 | 3. BIER IPv6 Encapsulation . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.1. BIER Option in IPv6 Destination Options Header . . . . . 4 | 3.1. BIER Option in IPv6 Destination Options Header . . . . . 4 | |||
| 3.2. Multicast and Unicast Destination Address . . . . . . . . 6 | 3.2. Destination Address in BIERv6 Encapsulation . . . . . . . 6 | |||
| 3.3. BIERv6 Packet Format . . . . . . . . . . . . . . . . . . 8 | 3.3. BIERv6 Packet Format . . . . . . . . . . . . . . . . . . 8 | |||
| 4. BIERv6 Packet Processing . . . . . . . . . . . . . . . . . . 9 | 4. BIERv6 Packet Processing . . . . . . . . . . . . . . . . . . 9 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
| 5.1. Intra Domain Deployment . . . . . . . . . . . . . . . . . 12 | 5.1. Intra Domain Deployment . . . . . . . . . . . . . . . . . 12 | |||
| 5.2. ICMP Error Processing . . . . . . . . . . . . . . . . . . 13 | 5.2. ICMP Error Processing . . . . . . . . . . . . . . . . . . 13 | |||
| 5.3. Security caused by BIER option . . . . . . . . . . . . . 13 | 5.3. Security caused by BIER option . . . . . . . . . . . . . 13 | |||
| 5.4. Applicability of IPsec . . . . . . . . . . . . . . . . . 14 | 5.4. Applicability of IPsec . . . . . . . . . . . . . . . . . 14 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 6.1. BIER Option Type . . . . . . . . . . . . . . . . . . . . 15 | 6.1. BIER Option Type . . . . . . . . . . . . . . . . . . . . 15 | |||
| 6.2. End.BIER Function . . . . . . . . . . . . . . . . . . . . 15 | 6.2. End.BIER Function . . . . . . . . . . . . . . . . . . . . 15 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 16 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 16 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 16 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 17 | 9.2. Informative References . . . . . . . . . . . . . . . . . 17 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | Appendix A. Relationship to BIER Core Standards . . . . . . . . 18 | |||
| Appendix B. Extensions to BIER Control-plane Standards . . . . . 19 | ||||
| Appendix C. Considerations of Using Unicast Address . . . . . . 19 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 | ||||
| 1. Introduction | 1. Introduction | |||
| Bit Index Explicit Replication (BIER) [RFC8279] is an architecture | Bit Index Explicit Replication (BIER) [RFC8279] is an architecture | |||
| that provides optimal multicast forwarding without requiring | that provides optimal multicast forwarding without requiring | |||
| intermediate routers to maintain any per-flow state by using a | intermediate routers to maintain any per-flow state by using a | |||
| multicast-specific BIER header. | multicast-specific BIER header. | |||
| [RFC8296] defines a common BIER Header format for MPLS and Non-MPLS | [RFC8296] defines a common BIER Header format for MPLS and Non-MPLS | |||
| networks. It has defined two types of encapsulation methods using | networks. It has defined two types of encapsulation methods using | |||
| skipping to change at page 3, line 28 ¶ | skipping to change at page 3, line 28 ¶ | |||
| Ethertype=0xAB37 for Non-MPLS BIER Header packets to be directly | Ethertype=0xAB37 for Non-MPLS BIER Header packets to be directly | |||
| carried over the Ethernet links. | carried over the Ethernet links. | |||
| This document proposes a BIER IPv6 encapsulation for Non-MPLS IPv6 | This document proposes a BIER IPv6 encapsulation for Non-MPLS IPv6 | |||
| Networks, defining a method to carry the standard Non-MPLS BIER | Networks, defining a method to carry the standard Non-MPLS BIER | |||
| header (as defined in [RFC8296]) in the native IPv6 header. A new | header (as defined in [RFC8296]) in the native IPv6 header. A new | |||
| IPv6 Option type - BIER Option is defined to encode the standard Non- | IPv6 Option type - BIER Option is defined to encode the standard Non- | |||
| MPLS BIER header and this newly defined BIER Option is carried under | MPLS BIER header and this newly defined BIER Option is carried under | |||
| the Destination Options header of the native IPv6 Header [RFC8200]. | the Destination Options header of the native IPv6 Header [RFC8200]. | |||
| This document details one of the proposed solutions for transporting | The relationship of this document to BIER core standards is listed in | |||
| BIER packets in an IPv6 network. To better understand the overall | Appendix A. | |||
| BIER IPv6 problem space, use cases and proposed solutions, refer to | ||||
| [I-D.ietf-bier-ipv6-requirements]. | The relevant extensions to BIER Control-plane Standards are listed in | |||
| Appendix B. | ||||
| 2. Terminology | 2. Terminology | |||
| Readers of this document are assumed to be familiar with the | Readers of this document are assumed to be familiar with the | |||
| terminology and concepts of the documents listed as Normative | terminology and concepts of the documents listed as Normative | |||
| References. | References. | |||
| The following new terms are used throughout this document: | The following new terms are used throughout this document: | |||
| o BIERv6 - Bit indexed explicit replication using IPv6 data plane. | o BIERv6 - Bit indexed explicit replication using IPv6 data plane. | |||
| skipping to change at page 4, line 17 ¶ | skipping to change at page 4, line 20 ¶ | |||
| also used for the same meaning as BIERv6 option in this document. | also used for the same meaning as BIERv6 option in this document. | |||
| o BIERv6 Header - An IPv6 Header with BIER Option. | o BIERv6 Header - An IPv6 Header with BIER Option. | |||
| o BIERv6 Packet - An IPv6 packet with BIERv6 Header. An IP/IPv6/ | o BIERv6 Packet - An IPv6 packet with BIERv6 Header. An IP/IPv6/ | |||
| Ethernet multicast packet is encapsulated with an outside BIERv6 | Ethernet multicast packet is encapsulated with an outside BIERv6 | |||
| header and transformed to a BIERv6 packet on the ingress PE | header and transformed to a BIERv6 packet on the ingress PE | |||
| (BFIR). BIERv6 packet is transported by the transit routers | (BFIR). BIERv6 packet is transported by the transit routers | |||
| (BFRs) through a BIERv6 domain towards egress PEs(BFERs). BIERv6 | (BFRs) through a BIERv6 domain towards egress PEs(BFERs). BIERv6 | |||
| packet is decapsulated by the BFERs, with the original IP/IPv6/ | packet is decapsulated by the BFERs, with the original IP/IPv6/ | |||
| Enthernet multicast packet being obtained and forwarded towards | Ethernet multicast packet being obtained and forwarded towards the | |||
| the multicast receivers . | multicast receivers . | |||
| 3. BIER IPv6 Encapsulation | 3. BIER IPv6 Encapsulation | |||
| 3.1. BIER Option in IPv6 Destination Options Header | 3.1. BIER Option in IPv6 Destination Options Header | |||
| Destination Options Header and the Options that can be carried under | Destination Options Header and the Options that can be carried under | |||
| this extension header is defined in [RFC8200]. This document defines | this extension header is defined in [RFC8200]. This document defines | |||
| a new Option type - BIER Option, to encode the Non-MPLS BIER header. | a new Option type - BIER Option, to encode the Non-MPLS BIER header. | |||
| As specified in Section 4.2 [RFC8200], the BIER Option follows type- | As specified in Section 4.2 [RFC8200], the BIER Option follows type- | |||
| length-value (TLV) encoding format and the standard Non-MPLS BIER | length-value (TLV) encoding format and the standard Non-MPLS BIER | |||
| skipping to change at page 6, line 10 ¶ | skipping to change at page 6, line 13 ¶ | |||
| Traffic Class field of IPv6 header instead. | Traffic Class field of IPv6 header instead. | |||
| Proto: SHOULD be set to 0 upon transmission and be ignored upon | Proto: SHOULD be set to 0 upon transmission and be ignored upon | |||
| reception. In BIERv6 encapsulation, the functionality of this | reception. In BIERv6 encapsulation, the functionality of this | |||
| 6-bit Proto field is replaced by the Next Header field in | 6-bit Proto field is replaced by the Next Header field in | |||
| Destination Options header or the last IPv6 extension header to | Destination Options header or the last IPv6 extension header to | |||
| indicate the type of the payload. This updates section 2.1.2 of | indicate the type of the payload. This updates section 2.1.2 of | |||
| [RFC8296] about Proto definition. Next Header value in BIERv6 | [RFC8296] about Proto definition. Next Header value in BIERv6 | |||
| encapsulation for common usage includes: | encapsulation for common usage includes: | |||
| Value 4 for IPv4 packet as BIERv6 payload. | Value 4 for IPv4 packet as BIERv6 payload. | |||
| Value 41 for IPv6 packet as BIERv6 payload. | Value 41 for IPv6 packet as BIERv6 payload. | |||
| Value 143 for Ethernet packet as BIERv6 payload. | Value 143 for Ethernet packet as BIERv6 payload. | |||
| Multicast VPN (MVPN) service is considered as part of the BIER | Multicast VPN (MVPN) service is considered as part of the BIER | |||
| layering mode defined in [RFC8279], and should be supported by | layering mode defined in [RFC8279], and should be supported by | |||
| BIERv6 encapsulation. [I-D.xie-bier-ipv6-mvpn] illustrates how | BIERv6 encapsulation. [I-D.xie-bier-ipv6-mvpn] illustrates how | |||
| MVPN is supported in BIERv6 encapsulation without using this | MVPN is supported in BIERv6 encapsulation without using this | |||
| Proto field. | Proto field. | |||
| BIER-PING [I-D.ietf-bier-ping] is considered a useful function | BIER-PING [I-D.ietf-bier-ping] is considered a useful function | |||
| of the BIER architecture, and should be supported by BIERv6 | of the BIER architecture, and should be supported by BIERv6 | |||
| encapsulation. How BIER-PING is supported in BIERv6 | encapsulation. How BIER-PING is supported in BIERv6 | |||
| encapsulation without using this Proto field is outside the | encapsulation without using this Proto field is outside the | |||
| scope of this document. | scope of this document. | |||
| BFIR-id: See Section 2.1.2 of RFC 8296. | BFIR-id: See Section 2.1.2 of RFC 8296. | |||
| BitString: See Section 2.1.2 of RFC 8296. | BitString: See Section 2.1.2 of RFC 8296. | |||
| 3.2. Multicast and Unicast Destination Address | 3.2. Destination Address in BIERv6 Encapsulation | |||
| BIER is generally a hop-by-hop and one-to-many architecture, and thus | ||||
| the IPv6 Destination Address (DA) being a Multicast Address is a way | ||||
| one may think of as an approach for both the two paradigms in BIERv6 | ||||
| encapsulation. | ||||
| However using a unicast address has the following benefits: | ||||
| 1. Replicating a BIERv6 packet over a non-BIER capable router. | ||||
| 2. Fast rerouting a BIERv6 packet using a unicast by-pass tunnel. | ||||
| 3. Forwarding a BIERv6 packet to one of the many BFR neighbors | ||||
| connected on a LAN without imposing new requirements of snooping | ||||
| on switches. | ||||
| 4. Replicating a BIERv6 packet through an anonymous system(AS) to | ||||
| BFERs in other ASes, as illustrated in | ||||
| [I-D.geng-bier-ipv6-inter-domain]. | ||||
| Some of the above scenarios are assumed part of BIER architecture as | When a BIERv6 packet is replicated to a next hop BFR, an unicast | |||
| described in [RFC8279], and some of them are the scalability aspects | address of the next hop BFR is used as the destination address of the | |||
| for inter-AS stateless multicast this document intends to support. | BIERv6 packet. Considerations of using unicast (or multicast) | |||
| This document intends to fulfil all these requirements (categorized | address is listed in Appendix C. | |||
| as multi-hop replication), and proposes to use unicast address for | ||||
| both one-hop replication and multi-hop replication. | ||||
| The unicast address used in BIERv6 packet targeting a BFR SHOULD be | The unicast address used in BIERv6 packet targeting a BFR SHOULD be | |||
| advertised as part of the BIER IPv6 Encapsulation. When a BFR | advertised as part of the BIER IPv6 Encapsulation. When a BFR | |||
| advertises the BIER information with BIERv6 encapsulation capability, | advertises the BIER information with BIERv6 encapsulation capability, | |||
| an IPv6 unicast address of this BFR MUST be selected specifically for | an IPv6 unicast address of this BFR MUST be selected specifically for | |||
| BIERv6 packet forwarding. Locally this "BIER Specific" IPv6 address | BIERv6 packet forwarding. Locally this "BIER Specific" IPv6 address | |||
| is initialized in FIB with a flag of "BIER specific handling", | is initialized in FIB with a flag of "BIER specific handling", | |||
| represented as End.BIER function. | represented as End.BIER function. | |||
| If a BFR belongs to more than one sub-domain, it may (though it need | If a BFR belongs to more than one sub-domain, it may (though it need | |||
| skipping to change at page 7, line 33 ¶ | skipping to change at page 7, line 14 ¶ | |||
| verifying the DA of a BIERv6 packet is the End.BIER address bound by | verifying the DA of a BIERv6 packet is the End.BIER address bound by | |||
| the sub-domain of the packet. | the sub-domain of the packet. | |||
| For security deployment of BIERv6, the End.BIER address(es) is | For security deployment of BIERv6, the End.BIER address(es) is | |||
| required to be allocated from an IPv6 address block, and the IPv6 | required to be allocated from an IPv6 address block, and the IPv6 | |||
| address block is used for domain boundary security policy. See | address block is used for domain boundary security policy. See | |||
| section 5.1 of this document for such security policy. Such kind of | section 5.1 of this document for such security policy. Such kind of | |||
| security policy using IPv6 address block follows the paradigm settled | security policy using IPv6 address block follows the paradigm settled | |||
| by the [RFC8754] section 5. | by the [RFC8754] section 5. | |||
| The following is an example of configuring a sub-domain using BIER | ||||
| IPv6 encapsualation: | ||||
| # Config an IPv6 block for End.BIER IPv6 address allocation | ||||
| ipv6-block blk1 2001:DB8:A1:: 96 static 32 | ||||
| # Config BIER Sub-domain using End.BIER allocated from blk1 | ||||
| bier sub-domain 6 ipv6-underlay | ||||
| bfr-prefix interface loopback0 | ||||
| end-bier ipv6-block blk1 opcode ::1 | ||||
| encapsulation ipv6 bsl 256 max-si 0 | ||||
| Deployment of BIERv6 in SRv6 network is allowed. In this case, the | Deployment of BIERv6 in SRv6 network is allowed. In this case, the | |||
| BIERv6 domain is the same as SRv6 domain, and the End.BIER address is | BIERv6 domain is the same as SRv6 domain, and the End.BIER address is | |||
| allocated from the locator of SRv6. The following is an example of | allocated from the locator of SRv6. | |||
| configuring a sub-domain using BIERv6 when SRv6 is already deployed | ||||
| with a locator 'loc1' configured: | ||||
| # Config BIER Sub-domain using End.BIER allocated from loc1 | To better understand the configuration mode of End.BIER address in | |||
| bier sub-domain 6 ipv6-underlay | BIERv6, [I-D.geng-bier-bierv6-yang] could be referenced. | |||
| bfr-prefix interface loopback0 | ||||
| end-bier locator loc1 opcode ::1 | ||||
| encapsulation ipv6 bsl 256 max-si 0 | ||||
| For the convenience of such co-existence of BIERv6 and SRv6, the | For the convenience of such co-existence of BIERv6 and SRv6, the | |||
| indication of End.BIER or "BIER specific handling" in FIB shares the | indication of End.BIER or "BIER specific handling" in FIB shares the | |||
| same space as SRv6 Endpoints Behaviors defined in | same space as SRv6 Endpoints Behaviors defined in | |||
| [I-D.ietf-spring-srv6-network-programming]. | [I-D.ietf-spring-srv6-network-programming]. | |||
| The following is an example pseudo-code of the End.BIER function: | The following is an example pseudo-code of the End.BIER function: | |||
| 1. IF NH = 60 and HopLimit > 0 ;;Ref1 | 1. IF NH = 60 and HopLimit > 0 ;;Ref1 | |||
| 2. IF (OptType1 = BIER) and (OptLength1 = HdrExtLen*8 + 4) ;;Ref2 | 2. IF (OptType1 = BIER) and (OptLength1 = HdrExtLen*8 + 4) ;;Ref2 | |||
| skipping to change at page 9, line 5 ¶ | skipping to change at page 8, line 15 ¶ | |||
| 3.3. BIERv6 Packet Format | 3.3. BIERv6 Packet Format | |||
| As a multicast packet enters the BIER domain in a Non-MPLS IPv6 | As a multicast packet enters the BIER domain in a Non-MPLS IPv6 | |||
| network, the multicast packet will be encapsulated with BIERv6 Header | network, the multicast packet will be encapsulated with BIERv6 Header | |||
| by the Ingress BFR (BFIR). | by the Ingress BFR (BFIR). | |||
| Typically a BIERv6 header would contain the Destination Options | Typically a BIERv6 header would contain the Destination Options | |||
| Header as the only Extensions Header besides IPv6 Header, as depicted | Header as the only Extensions Header besides IPv6 Header, as depicted | |||
| in the below figure. | in the below figure. | |||
| +---------------+--------------+------------ | +---------------+------------------+----------------------+ | |||
| | IPv6 header | Dest Options | X type of | | IPv6 header | IPv6 DO Header | X type of | | |||
| | | Header with | multicast | | | with BIER Option | C-multicast packet | | |||
| | | BIER Option | packet | | | | | | |||
| | | | | | Next Hdr = 60 | Nxt Hdr = X | (IPv4/IPv6/Ethernet) | | |||
| | Next Hdr = 60 | Nxt Hdr = X | | +---------------+------------------+----------------------+ | |||
| +---------------+--------------+------------ | | | | | |||
| |<----------BIERv6 header--------->|<---BIERv6 payload--->| | ||||
| Format of the multicast packet with BIERv6 encapsulation carrying | Format of the multicast packet with BIERv6 encapsulation carrying | |||
| other extension headers along with Destination Options extension | other extension headers along with Destination Options extension | |||
| header is required to follow general recommendations of [RFC8200] and | header is required to follow general recommendations of [RFC8200] and | |||
| examples in other RFCs. [RFC6275] introduces how the order should be | examples in other RFCs. [RFC6275] introduces how the order should be | |||
| when other extension headers carries along with Home address option | when other extension headers carries along with Home address option | |||
| in a destination options header. Similar to this example, this | in a destination options header. Similar to this example, this | |||
| document requires the Destination Options Header carrying the BIER | document requires the Destination Options Header carrying the BIER | |||
| option MUST be placed as follows: | option MUST be placed as follows: | |||
| skipping to change at page 10, line 43 ¶ | skipping to change at page 10, line 4 ¶ | |||
| The Destination Address field in the IPv6 Header MUST change to the | The Destination Address field in the IPv6 Header MUST change to the | |||
| nexthop BFR's End.BIER Unicast address in BIERv6. | nexthop BFR's End.BIER Unicast address in BIERv6. | |||
| The Hop Limit field of IPv6 header MUST decrease by 1 when sending | The Hop Limit field of IPv6 header MUST decrease by 1 when sending | |||
| packets to a BFR neighbor, while the TTL in the BIER header MUST be | packets to a BFR neighbor, while the TTL in the BIER header MUST be | |||
| unchanged on a Non-BIER router, or decrease by 1 on a BFR. | unchanged on a Non-BIER router, or decrease by 1 on a BFR. | |||
| The BitString in the BIER header in the Destination Options Header | The BitString in the BIER header in the Destination Options Header | |||
| may change when sending packets to a neighbor. Such change of | may change when sending packets to a neighbor. Such change of | |||
| BitString MUST be aligned with the procedure defined in RFC8279. | BitString MUST be aligned with the procedure defined in RFC8279. | |||
| Because of the requirement to change the content of the option when | Because of the requirement to change the content of the option when | |||
| forwarding BIERv6 packet, the BIER option type should have chg flag 1 | forwarding BIERv6 packet, the BIER option type should have chg flag 1 | |||
| per section 4.2 of RFC8200. | per section 4.2 of RFC8200. | |||
| The procedures applies normally if a bit corresponding to the self | The procedures applies normally if a bit corresponding to the self | |||
| bfr-id is set in the BitString field of the BIERv6 Option Data of the | bfr-id is set in the BitString field of the BIERv6 Option Data of the | |||
| BIERv6 packet. The node is considered to be an Egress BFR (BFER) in | BIERv6 packet. The node is considered to be an Egress BFR (BFER) in | |||
| this case. The BFER removes the BIERv6 header, including the IPv6 | this case. The BFER removes the BIERv6 header, including the IPv6 | |||
| header and the Destination Options header, and copies the packet to | header and the Destination Options header, and copies the packet to | |||
| the multicast flow overlay. The egress VRF of a packet may be | the multicast flow overlay. The egress VRF of a packet may be | |||
| determined by a further lookup on the IPv6 source address instead of | determined by a further lookup on the IPv6 source address instead of | |||
| the upstream-assigned MPLS Label as described in [RFC8556]. | the upstream-assigned MPLS Label as described in [RFC8556]. | |||
| The Fragment Header, AH Header or ESP Header, if exists after the | The Fragment Header, AH Header or ESP Header, if exists after the | |||
| BIER options header, can be processed on BFER only as part of the | BIER options header, can be processed on BFER only as part of the | |||
| multicast flow overlay process. | multicast flow overlay process. | |||
| The following diagram shows the whole progression of the multicast | ||||
| packet as it enters the BIERv6 domain on PE1, and leaves the BIERv6 | ||||
| domain on PE2 and PE3. | ||||
| +-------------+ +-------------+ | ||||
| |{S=PE1,D=P2} | |{S=PE1,D=PE2}| | ||||
| +-------------+ +-------------+ | ||||
| |[BitStr=0110]| |[BitStr=0010]| | ||||
| +==========+ +=============+ +=============+ +==========+ | ||||
| |(C-MC Pkt)| >> | (C-MC Pkt) | >> | (C-MC Pkt) | >> |(C-MC Pkt)| | ||||
| +==========+ +=============+ +=============+ +==========+ | ||||
| CE1-----------PE1------[P1]------P2----------------PE2------------CE2 | ||||
| (BFIR) /(BFR) (BFER, BFR-id=2) | ||||
| / | ||||
| / +-------------+ | ||||
| | |{S=PE1,D=PE3}| | ||||
| | +-------------+ | ||||
| | |[BitStr=0100]| | ||||
| \ +=============+ +==========+ | ||||
| \ >> | (C-MC Pkt) | >> |(C-MC Pkt)| | ||||
| \ +=============+ +==========+ | ||||
| +------[P3]-------PE3------------CE3 | ||||
| (BFER, BFR-id=3) | ||||
| {S=PE1,D=PE2}: Source address and Destination address in IPv6 header. | ||||
| [BitStr=0110]: BitString value in IPv6 DO Header. | ||||
| (C-MC Pkt): Customer MultiCast packet. | ||||
| o PE1 is Provider Edge router, acting as BFIR. | ||||
| o P2 is Provider Core router, acting as BFR. | ||||
| o P1 and P3 are IPv6 routers, acting as Non-BFR. | ||||
| o PE2 and PE3 are Provider Edge routers, acting as BFER. | ||||
| o CE1 and CE2 are Customer Edge routers. | ||||
| 5. Security Considerations | 5. Security Considerations | |||
| BIER IPv6 encapsulation provides a new encapsulation based on IPv6 | BIER IPv6 encapsulation provides a new encapsulation based on IPv6 | |||
| and BIER to transport multicast data packet in a BIER domain. The | and BIER to transport multicast data packet in a BIER domain. The | |||
| BIER domain can be a single IGP area, an anonymous system (AS) with | BIER domain can be a single IGP area, an anonymous system (AS) with | |||
| multiple IGP areas, or multiple anonymous systems (ASes) operated by | multiple IGP areas, or multiple anonymous systems (ASes) operated by | |||
| a network operator. A single BIER Sub-domain may be deployed through | a network operator. A single BIER Sub-domain may be deployed through | |||
| the whole BIER Domain, as illustrated in | the whole BIER Domain, as illustrated in | |||
| [I-D.geng-bier-ipv6-inter-domain]. | [I-D.geng-bier-ipv6-inter-domain]. | |||
| skipping to change at page 15, line 43 ¶ | skipping to change at page 15, line 43 ¶ | |||
| +-------+--------+--------------------------+------------+ | +-------+--------+--------------------------+------------+ | |||
| | Value | Hex | Endpoint function | Reference | | | Value | Hex | Endpoint function | Reference | | |||
| +-------+--------+--------------------------+------------+ | +-------+--------+--------------------------+------------+ | |||
| | TBD | TBD | End.BIER | This draft | | | TBD | TBD | End.BIER | This draft | | |||
| +-------+--------+--------------------------+------------+ | +-------+--------+--------------------------+------------+ | |||
| 7. Acknowledgements | 7. Acknowledgements | |||
| The authors would like to thank Stig Venaas for his valuable | The authors would like to thank Stig Venaas for his valuable | |||
| comments. Thanks IJsbrand Wijnands, Greg Shepherd, Tony Przygienda, | comments. Thanks IJsbrand Wijnands, Greg Shepherd, Tony Przygienda, | |||
| Toerless Eckert, Jeffrey Zhang for the helpful comments to improve | Toerless Eckert, Jeffrey Zhang, Pascal Thubert for the helpful | |||
| this document. | comments to improve this document. | |||
| Thanks Aijun Wang for comments about BIER OAM function in BIER IPv6 | Thanks Aijun Wang for comments about BIER OAM function in BIER IPv6 | |||
| encapsulation. | encapsulation. | |||
| Thanks Mach Chen for review and suggestions about BIER-PING function | Thanks Mach Chen for review and suggestions about BIER-PING function | |||
| in BIER IPv6 encapsulation. | in BIER IPv6 encapsulation. | |||
| 8. Contributors | 8. Contributors | |||
| Gang Yan | Gang Yan | |||
| skipping to change at page 17, line 31 ¶ | skipping to change at page 17, line 31 ¶ | |||
| Explicit Replication (BIER)", RFC 8279, | Explicit Replication (BIER)", RFC 8279, | |||
| DOI 10.17487/RFC8279, November 2017, | DOI 10.17487/RFC8279, November 2017, | |||
| <https://www.rfc-editor.org/info/rfc8279>. | <https://www.rfc-editor.org/info/rfc8279>. | |||
| [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | |||
| Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation | Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation | |||
| for Bit Index Explicit Replication (BIER) in MPLS and Non- | for Bit Index Explicit Replication (BIER) in MPLS and Non- | |||
| MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January | MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January | |||
| 2018, <https://www.rfc-editor.org/info/rfc8296>. | 2018, <https://www.rfc-editor.org/info/rfc8296>. | |||
| [RFC8401] Ginsberg, L., Ed., Przygienda, T., Aldrin, S., and Z. | ||||
| Zhang, "Bit Index Explicit Replication (BIER) Support via | ||||
| IS-IS", RFC 8401, DOI 10.17487/RFC8401, June 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8401>. | ||||
| [RFC8556] Rosen, E., Ed., Sivakumar, M., Przygienda, T., Aldrin, S., | [RFC8556] Rosen, E., Ed., Sivakumar, M., Przygienda, T., Aldrin, S., | |||
| and A. Dolganow, "Multicast VPN Using Bit Index Explicit | and A. Dolganow, "Multicast VPN Using Bit Index Explicit | |||
| Replication (BIER)", RFC 8556, DOI 10.17487/RFC8556, April | Replication (BIER)", RFC 8556, DOI 10.17487/RFC8556, April | |||
| 2019, <https://www.rfc-editor.org/info/rfc8556>. | 2019, <https://www.rfc-editor.org/info/rfc8556>. | |||
| [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | |||
| Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | |||
| (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | |||
| <https://www.rfc-editor.org/info/rfc8754>. | <https://www.rfc-editor.org/info/rfc8754>. | |||
| 9.2. Informative References | 9.2. Informative References | |||
| [I-D.geng-bier-bierv6-yang] | ||||
| Geng, X., Qin, Z., and F. Zheng, "YANG Data Model for | ||||
| Bierv6", draft-geng-bier-bierv6-yang-00 (work in | ||||
| progress), June 2020. | ||||
| [I-D.geng-bier-ipv6-inter-domain] | [I-D.geng-bier-ipv6-inter-domain] | |||
| Geng, L., Xie, J., McBride, M., and G. Yan, "Inter-Domain | Geng, L., Xie, J., McBride, M., and G. Yan, "Inter-Domain | |||
| Multicast Deployment using BIERv6", draft-geng-bier-ipv6- | Multicast Deployment using BIERv6", draft-geng-bier-ipv6- | |||
| inter-domain-01 (work in progress), January 2020. | inter-domain-01 (work in progress), January 2020. | |||
| [I-D.ietf-bier-ipv6-requirements] | [I-D.ietf-bier-ipv6-requirements] | |||
| McBride, M., Xie, J., Dhanaraj, S., Asati, R., and Y. Zhu, | McBride, M., Xie, J., Dhanaraj, S., Asati, R., Zhu, Y., | |||
| "BIER IPv6 Requirements", draft-ietf-bier- | and G. Mishra, "BIER IPv6 Requirements", draft-ietf-bier- | |||
| ipv6-requirements-04 (work in progress), January 2020. | ipv6-requirements-05 (work in progress), July 2020. | |||
| [I-D.ietf-bier-ping] | [I-D.ietf-bier-ping] | |||
| Nainar, N., Pignataro, C., Akiya, N., Zheng, L., Chen, M., | Nainar, N., Pignataro, C., Akiya, N., Zheng, L., Chen, M., | |||
| and G. Mirsky, "BIER Ping and Trace", draft-ietf-bier- | and G. Mirsky, "BIER Ping and Trace", draft-ietf-bier- | |||
| ping-07 (work in progress), May 2020. | ping-07 (work in progress), May 2020. | |||
| [I-D.ietf-spring-srv6-network-programming] | [I-D.ietf-spring-srv6-network-programming] | |||
| Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., | Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., | |||
| Matsushima, S., and Z. Li, "SRv6 Network Programming", | Matsushima, S., and Z. Li, "SRv6 Network Programming", | |||
| draft-ietf-spring-srv6-network-programming-15 (work in | draft-ietf-spring-srv6-network-programming-16 (work in | |||
| progress), March 2020. | progress), June 2020. | |||
| [I-D.xie-bier-ipv6-isis-extension] | ||||
| Xie, J., Wang, A., Yan, G., and S. Dhanaraj, "BIER IPv6 | ||||
| Encapsulation (BIERv6) Support via IS-IS", draft-xie-bier- | ||||
| ipv6-isis-extension-01 (work in progress), January 2020. | ||||
| [I-D.xie-bier-ipv6-mvpn] | [I-D.xie-bier-ipv6-mvpn] | |||
| Xie, J., McBride, M., Dhanaraj, S., and L. Geng, "Use of | Xie, J., McBride, M., Dhanaraj, S., and L. Geng, "Use of | |||
| BIER IPv6 Encapsulation (BIERv6) for Multicast VPN in IPv6 | BIER IPv6 Encapsulation (BIERv6) for Multicast VPN in IPv6 | |||
| networks", draft-xie-bier-ipv6-mvpn-02 (work in progress), | networks", draft-xie-bier-ipv6-mvpn-02 (work in progress), | |||
| January 2020. | January 2020. | |||
| Appendix A. Relationship to BIER Core Standards | ||||
| The BIER architecture [RFC8279] is inherited in this BIERv6 proposal, | ||||
| and the layering mode of BIER architecture is fully supported with | ||||
| some necessary extension to the data plane as well as the control | ||||
| plane standards. | ||||
| The focus of this document is BIERv6 data plane, including the BIERv6 | ||||
| encapsulation and packet forwarding procedures. The common BIER | ||||
| header encoding [RFC8296] is maximum reused in this BIERv6 proposal. | ||||
| To better understand the overall BIER IPv6 problem space and | ||||
| requirements, refer to [I-D.ietf-bier-ipv6-requirements]. | ||||
| Appendix B. Extensions to BIER Control-plane Standards | ||||
| The relevant control-plane documents that have done or still to be | ||||
| done are listed below. | ||||
| o Based on [RFC8401], IS-IS extension is defined in | ||||
| [I-D.xie-bier-ipv6-isis-extension] for intra-AS BIERv6 information | ||||
| advertisement and BIRT/BIFT building. | ||||
| o OSPFv3 extension for intra-AS BIERv6 information advertisement and | ||||
| BIRT/BIFT building is to be defined. | ||||
| o Based on this BIERv6 encapsulation, | ||||
| [I-D.geng-bier-ipv6-inter-domain] illustrates how inter-AS BIRT/ | ||||
| BIFT are built and how inter-AS multicast deployment is supported. | ||||
| o BGP extension for inter-AS BIERv6 information advertisement and | ||||
| BIRT/BIFT building is to be defined. | ||||
| o Based on [RFC8556], BGP-MVPN using BIERv6 encapsulation is defined | ||||
| in [I-D.xie-bier-ipv6-mvpn] for multicast service deployment. | ||||
| Appendix C. Considerations of Using Unicast Address | ||||
| BIER is generally a hop-by-hop and one-to-many architecture, and thus | ||||
| the IPv6 Destination Address (DA) being a Multicast Address is a way | ||||
| one may think of as an approach for both the two paradigms in BIERv6 | ||||
| encapsulation. | ||||
| However using a unicast address has the following benefits: | ||||
| 1. Replicating a BIERv6 packet over a non-BIER capable router. | ||||
| 2. Fast rerouting a BIERv6 packet using a unicast by-pass tunnel. | ||||
| 3. Forwarding a BIERv6 packet to one of the many BFR neighbors | ||||
| connected on a LAN without imposing new requirements of snooping | ||||
| on switches. | ||||
| 4. Replicating a BIERv6 packet through an anonymous system(AS) to | ||||
| BFERs in other ASes, as illustrated in | ||||
| [I-D.geng-bier-ipv6-inter-domain]. | ||||
| Some of the above scenarios are assumed part of BIER architecture as | ||||
| described in [RFC8279], and some of them are the scalability aspects | ||||
| for inter-AS stateless multicast this document intends to support. | ||||
| This document intends to fulfil all these requirements (categorized | ||||
| as multi-hop replication), and proposes to use unicast address for | ||||
| both one-hop replication and multi-hop replication. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Jingrong Xie | Jingrong Xie | |||
| Huawei Technologies | Huawei Technologies | |||
| Email: xiejingrong@huawei.com | Email: xiejingrong@huawei.com | |||
| Liang Geng | Liang Geng | |||
| China Mobile | China Mobile | |||
| Beijing 10053 | Beijing 10053 | |||
| skipping to change at page 19, line 4 ¶ | skipping to change at page 20, line 34 ¶ | |||
| Rajiv Asati | Rajiv Asati | |||
| Cisco | Cisco | |||
| Email: rajiva@cisco.com | Email: rajiva@cisco.com | |||
| Senthil Dhanaraj | Senthil Dhanaraj | |||
| Huawei | Huawei | |||
| Email: senthil.dhanaraj@huawei.com | Email: senthil.dhanaraj@huawei.com | |||
| Yongqing Zhu | Yongqing Zhu | |||
| China Telecom | China Telecom | |||
| Email: zhuyq8@chinatelecom.cn | Email: zhuyq8@chinatelecom.cn | |||
| Zhuangzhuang Qin | Zhuangzhuang Qin | |||
| China Unicom | China Unicom | |||
| Email: qinzhuangzhuang@chinaunicom.cn | Email: qinzhuangzhuang@chinaunicom.cn | |||
| MooChang Shin | MooChang Shin | |||
| LG Uplus | LG Uplus | |||
| Email: himzzang@lguplus.co.kr | Email: himzzang@lguplus.co.kr | |||
| Gyan Mishra | ||||
| Verizon Inc. | ||||
| Email: gyan.s.mishra@verizon.com | ||||
| Xuesong Geng | Xuesong Geng | |||
| Huawei | Huawei | |||
| Email: gengxuesong@huawei.com | Email: gengxuesong@huawei.com | |||
| End of changes. 29 change blocks. | ||||
| 76 lines changed or deleted | 168 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||