| < draft-xie-bier-ipv6-mvpn-01.txt | draft-xie-bier-ipv6-mvpn-02.txt > | |||
|---|---|---|---|---|
| Network Working Group J. Xie | Network Working Group J. Xie | |||
| Internet-Draft Huawei Technologies | Internet-Draft Huawei Technologies | |||
| Intended status: Standards Track M. McBride | Intended status: Standards Track M. McBride | |||
| Expires: January 2, 2020 Futurewei | Expires: July 17, 2020 Futurewei | |||
| S. Dhanaraj | S. Dhanaraj | |||
| Huawei Technologies | Huawei Technologies | |||
| L. Geng | L. Geng | |||
| China Mobile | China Mobile | |||
| July 1, 2019 | January 14, 2020 | |||
| Use of BIER IPv6 Encapsulation (BIERv6) for Multicast VPN in IPv6 | Use of BIER IPv6 Encapsulation (BIERv6) for Multicast VPN in IPv6 | |||
| networks | networks | |||
| draft-xie-bier-ipv6-mvpn-01 | draft-xie-bier-ipv6-mvpn-02 | |||
| Abstract | Abstract | |||
| This draft defines the procedures and messages for using Bit Index | This draft defines the procedures and messages for using Bit Index | |||
| Explicit Replication (BIER) for Multicast VPN Services in IPv6 | Explicit Replication (BIER) for Multicast VPN Services in IPv6 | |||
| networks using the BIER IPv6 encapsulation. It provides a migration | networks using the BIER IPv6 encapsulation. It provides a migration | |||
| path for Multicast VPN service using BIER MPLS encapsulation in MPLS | path for Multicast VPN service using BIER MPLS encapsulation in MPLS | |||
| networks to multicast VPN service using BIER IPv6 encapsulation | networks to multicast VPN service using BIER IPv6 encapsulation | |||
| (BIERv6) in IPv6 networks. | (BIERv6) in IPv6 networks. | |||
| skipping to change at page 1, line 48 ¶ | skipping to change at page 1, line 48 ¶ | |||
| 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 January 2, 2020. | This Internet-Draft will expire on July 17, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| 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 . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Use of PTA and Prefix-SID Attribute in x-PMSI A-D Routes . . 4 | 3. Use of PTA and Prefix-SID Attribute in x-PMSI A-D Routes . . 4 | |||
| 4. MVPN over BIERv6 Core . . . . . . . . . . . . . . . . . . . . 4 | 4. MVPN over BIERv6 Core . . . . . . . . . . . . . . . . . . . . 4 | |||
| 5. GTM over BIERv6 Core . . . . . . . . . . . . . . . . . . . . 7 | 5. GTM over BIERv6 Core . . . . . . . . . . . . . . . . . . . . 6 | |||
| 6. Data Plane . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 6. Data Plane . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 6.1. Encapsulation of Multicast Traffic . . . . . . . . . . . 8 | 6.1. Encapsulation of Multicast Traffic . . . . . . . . . . . 7 | |||
| 6.2. MTU . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 6.2. MTU . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6.3. TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 6.3. TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 10 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 10 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 11 | 10.2. Informative References . . . . . . . . . . . . . . . . . 11 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 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. BIERv6 refers to the deployment of | multicast-specific BIER header. BIERv6 refers to the deployment of | |||
| BIER in IPv6 networks using the BIER IPv6 encapsulation format | BIER in IPv6 networks using the BIER IPv6 encapsulation format | |||
| defined in [I-D.xie-bier-ipv6-encapsulation]. | defined in [I-D.xie-bier-ipv6-encapsulation]. | |||
| [I-D.ietf-spring-srv6-network-programming] introduces the Network | ||||
| programming concepts in SRv6 networks and explains how the 128-bit | ||||
| IPv6 address can be used as SRv6 SID in the format LOC:FUNCT, where | ||||
| LOC part of the SID is routable, while FUNCT part of the SID is an | ||||
| opaque identification of a local function bound to the SID. It has | ||||
| also defined some well known standard functions like End.DT4 - | ||||
| Endpoint with decaps and IPv4 table lookup for L3VPN (equivalent to | ||||
| per-VRF VPN label). | ||||
| [I-D.dawra-bess-srv6-services] defines the TLVs to associate a | ||||
| function like End.DT4 with the L3VPN Unicast routes advertised via | ||||
| BGP. It also details how the functions of End.DT4, End.DT6, End.DT46 | ||||
| (End.DTx) can be used to identify a L3VPN/EVPN instead of using a VPN | ||||
| Label in MPLS-VPN [RFC4364] of the received data packet and thereby | ||||
| realize the L3VPN Services in the SRv6 Networks. However, it covers | ||||
| unicast services exclusively. | ||||
| This document describes a method to realize MVPN services using BIER | This document describes a method to realize MVPN services using BIER | |||
| as a P-tunnel in the IPv6 Networks (BIERv6 Networks). It defines a | as a P-tunnel in the IPv6 Networks (BIERv6 Networks). It defines a | |||
| method to use an SRv6 Service SID, called Src.DTx in this document, | method to use an IPv6 address, called Src.DTx in this document, as | |||
| as source address of an IPv6 header, to identify the MVPN instance at | source address of an IPv6 header, to identify the MVPN instance at | |||
| the Egress PE. The LOC part and FUNCT part of this SRv6 Service SID | the Egress PE. The Src.DTx address used as source address of a | |||
| represent the context and the upstream-assigned VPN Label | BIERv6 packet represent both the context and the upstream-assigned | |||
| respectively in MVPN scenario's as defined in [RFC8556]. | VPN Label in MVPN scenario defined in [RFC8556]. | |||
| The Src.DTx address can be a normal IPv6 address of the BFR, for | ||||
| example, a loopback address of the BFR. The Src.DTx address can also | ||||
| be an IPv6 address allocated from an IPv6 address block, for example, | ||||
| an IPv6 address allocated from an SRv6 locator if BIERv6 MVPN is | ||||
| deployed in an SRv6 network. | ||||
| In particular, MVPN deployment in IPv6 networks relies on L3VPN | In particular, MVPN deployment in IPv6 networks relies on L3VPN | |||
| deployment on IPv6 networks firstly, thus the c-multicast routing | deployment on IPv6 networks firstly, thus the c-multicast routing | |||
| procedure like UMH Selection can be done. The L3VPN deployment in | procedure like UMH Selection can be done. As an example, the L3VPN | |||
| IPv6 networks can be referred to [I-D.dawra-bess-srv6-services]. | deployment in SRv6 networks can be referred to | |||
| [I-D.ietf-bess-srv6-services]. | ||||
| GTM defined in [RFC7716] is also covered in this document, as GTM | GTM defined in [RFC7716] is also covered in this document, as GTM | |||
| shares the same BGP-MVPN signaling, while providing an approach of | shares the same BGP-MVPN signaling, while providing an approach of | |||
| Non-VPN multicast over a service provider core with various P-tunnel | Non-VPN multicast over a service provider core with various P-tunnel | |||
| type. For the same reason of UMH selection, and the requirement of | type. For the same reason of UMH selection as a base of GTM, the | |||
| basic operation like ping (e.g, to the multicast source address), the | Global IPv4/IPv6 over SRv6 networks can be referred to | |||
| Global IPv4/IPv6 over SRv6 Core as described in | [I-D.ietf-bess-srv6-services]. | |||
| [I-D.dawra-bess-srv6-services] is also required. | ||||
| 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. Additionally the following terms are used through out | References. Additionally the following terms are used through out | |||
| the document. | the document. | |||
| o BIERv6 - BIER in IPv6 networks using the BIERv6 encapsulation | o BIERv6 - BIER in IPv6 networks using the BIERv6 encapsulation | |||
| format defined in [I-D.xie-bier-ipv6-encapsulation]. | format defined in [I-D.xie-bier-ipv6-encapsulation]. | |||
| skipping to change at page 4, line 12 ¶ | skipping to change at page 3, line 49 ¶ | |||
| o SRv6 SID - SRv6 Segment Identifier as defined in | o SRv6 SID - SRv6 Segment Identifier as defined in | |||
| [I-D.ietf-spring-srv6-network-programming]. | [I-D.ietf-spring-srv6-network-programming]. | |||
| o End.DTx - Refers to the functions End.DT6, End.DT4, End.DT46 | o End.DTx - Refers to the functions End.DT6, End.DT4, End.DT46 | |||
| defined in [I-D.ietf-spring-srv6-network-programming]. | defined in [I-D.ietf-spring-srv6-network-programming]. | |||
| o Src.DTx - Refers to the functions Src.DT4, Src.DT6, Src.DT46 | o Src.DTx - Refers to the functions Src.DT4, Src.DT6, Src.DT46 | |||
| defind in this document. | defind in this document. | |||
| o SRv6 L3 Service - L3VPN/Global-L3 service in SRv6 networks defined | o SRv6 L3 Service - L3VPN/Global-L3 service in SRv6 networks defined | |||
| in [I-D.dawra-bess-srv6-services], or MVPN/GTM service in BIERv6 | in [I-D.ietf-bess-srv6-services], or MVPN/GTM service in BIERv6 | |||
| networks defined in this document. | networks defined in this document. | |||
| 3. Use of PTA and Prefix-SID Attribute in x-PMSI A-D Routes | 3. Use of PTA and Prefix-SID Attribute in x-PMSI A-D Routes | |||
| The BGP-MVPN I-PMSI A-D (Type 1) or S-PMSI A-D (Type 3) route (called | The BGP-MVPN I-PMSI A-D (Type 1) or S-PMSI A-D (Type 3) route (called | |||
| x-PMSI A-D route in this document), advertised by Ingress PE carries | x-PMSI A-D route in this document), advertised by Ingress PE carries | |||
| the BIER (Type 11) PTA as specified in [RFC8556]. The BIER PTA | the BIER (Type 11) PTA as specified in [RFC8556]. The BIER PTA | |||
| carried in the x-PMSI A-D route is used for explicitly tracking the | carried in the x-PMSI A-D route is used for explicitly tracking the | |||
| receiver-site PEs which are interested in a specific multicast flow. | receiver-site PEs which are interested in a specific multicast flow. | |||
| It includes three BIER-specific fields, Sub-domain-id, BFR-id, and | It includes three BIER-specific fields, Sub-domain-id, BFR-id, and | |||
| BFR-prefix. For BIER P-tunnel using the BIERv6 encapsulation in IPv6 | BFR-prefix. For BIER P-tunnel using the BIERv6 encapsulation in IPv6 | |||
| networks, the BFR-prefix field in the PTA MUST be set to the BFIR | networks, the BFR-prefix field in the PTA MUST be set to the BFIR | |||
| IPv6 prefix and the MPLS Label field in the PTA MUST set to 0. For | IPv6 prefix and the MPLS Label field in the PTA MUST set to 0. For | |||
| MVPN over BIERv6, the Src.DTx IPv6 address of the BFIR is used to | MVPN over BIERv6, the Src.DTx IPv6 address of the BFIR is used to | |||
| identify the VRF instead of an MPLS Label. The Src.DTx IPv6 Address | identify the VRF instead of an MPLS Label. The Src.DTx IPv6 Address | |||
| (Src.DT6 or Src.DT4 or Src.DT46) MUST be carried within an SRv6 L3 | (Src.DT6 or Src.DT4 or Src.DT46) MUST be carried within an SRv6 L3 | |||
| Service TLV [I-D.dawra-bess-srv6-services] of BGP Prefix-SID | Service TLV [I-D.ietf-bess-srv6-services] of BGP Prefix-SID attribute | |||
| attribute in the x-PMSI A-D route. | in the x-PMSI A-D route. | |||
| The Ingress PE encapsulates the c-multicast IP packet with BIERv6 | The Ingress PE encapsulates the c-multicast IP packet with BIERv6 | |||
| header and the source address in the outer IPv6 header will be set to | header and the source address in the outer IPv6 header will be set to | |||
| the Src.DTx IPv6 address advertised in the BGP-MVPN x-PMSI A-D | the Src.DTx IPv6 address advertised in the BGP-MVPN x-PMSI A-D | |||
| routes. See section 3 of [I-D.xie-bier-ipv6-encapsulation] for the | routes. See section 3 of [I-D.xie-bier-ipv6-encapsulation] for the | |||
| detailed packet format. | detailed packet format. | |||
| Egress PE (BFER) receiving the x-PMSI A-D routes with BIER PTA and | Egress PE (BFER) receiving the x-PMSI A-D routes with BIER PTA and | |||
| SRv6 L3 Service TLV learns the Src.DTx IPv6 address and uses it to | SRv6 L3 Service TLV learns the Src.DTx IPv6 address and uses it to | |||
| identify the VRF of the c-multicast packet. | identify the VRF of the c-multicast packet. | |||
| skipping to change at page 8, line 37 ¶ | skipping to change at page 8, line 31 ¶ | |||
| In case of inter-AS scenario, BIERv6 packets may travel through | In case of inter-AS scenario, BIERv6 packets may travel through | |||
| unicast to a Boarder Router (BR), and then replicate in a single | unicast to a Boarder Router (BR), and then replicate in a single | |||
| intra-AS BIERv6 domain. How such non-segmented BIERv6 scenario can | intra-AS BIERv6 domain. How such non-segmented BIERv6 scenario can | |||
| be supported is outside the scope of this document. | be supported is outside the scope of this document. | |||
| How segmented MVPN, for example, between BIERv6 and BIERv6, or | How segmented MVPN, for example, between BIERv6 and BIERv6, or | |||
| between BIERv6 and Ingress Replication(IR) in Non-MPLS IPv6 networks, | between BIERv6 and Ingress Replication(IR) in Non-MPLS IPv6 networks, | |||
| is outside the scope of this document. | is outside the scope of this document. | |||
| The Src.DTx SHOULD support as destination address of an ICMPv6 | The Src.DTx SHOULD support as destination address of an ICMPv6 | |||
| packet. The following is an example pseudo-code of the Src.DTx | packet. If a loopback address of the BFR is used as Src.DTx address, | |||
| function as destination address: | this is supported. If an address from an SRv6 locator is used as | |||
| Src.DTx address, the following pseudo-code describes how a packet | ||||
| with Src.DTx as destination address is handled: | ||||
| 1. IF Last_NH = ICMPv6 ;;Ref1 | 1. IF Last_NH = ICMPv6 ;;Ref1 | |||
| 2. Send to CPU. | 2. Send to CPU. | |||
| 3. ELSE | 3. ELSE | |||
| 4. Drop the packet. | 4. Drop the packet. | |||
| Ref1: ICMPv6 packet using Src.DT4, Src.DT6 or Src.DT46 as destination | Ref1: ICMPv6 packet using Src.DT4, Src.DT6 or Src.DT46 as destination | |||
| address. | address. | |||
| 6.2. MTU | 6.2. MTU | |||
| skipping to change at page 10, line 10 ¶ | skipping to change at page 10, line 4 ¶ | |||
| Src.DT4 Source address indicating decapsulation and IPv4 table lookup | Src.DT4 Source address indicating decapsulation and IPv4 table lookup | |||
| e.g. IPv4-MVPN (equivalent to per-VRF VPN label in RFC8556) | e.g. IPv4-MVPN (equivalent to per-VRF VPN label in RFC8556) | |||
| Src.DT46 Source address indicating decapsulation and IP table lookup | Src.DT46 Source address indicating decapsulation and IP table lookup | |||
| e.g. IP-MVPN (equivalent to per-VRF VPN label) | e.g. IP-MVPN (equivalent to per-VRF VPN label) | |||
| 9. Acknowledgements | 9. Acknowledgements | |||
| TBD. | TBD. | |||
| 10. References | 10. References | |||
| 10.1. Normative References | 10.1. Normative References | |||
| [I-D.dawra-bess-srv6-services] | [I-D.ietf-bess-srv6-services] | |||
| Dawra, G., Filsfils, C., Dukes, D., Brissette, P., | Dawra, G., Filsfils, C., Raszuk, R., Decraene, B., Zhuang, | |||
| Sethuram, S., Camarillo, P., Leddy, J., | S., and J. Rabadan, "SRv6 BGP based Overlay services", | |||
| daniel.voyer@bell.ca, d., daniel.bernier@bell.ca, d., | draft-ietf-bess-srv6-services-01 (work in progress), | |||
| Steinberg, D., Raszuk, R., Decraene, B., Matsushima, S., | November 2019. | |||
| and S. Zhuang, "SRv6 BGP based Overlay services", draft- | ||||
| dawra-bess-srv6-services-00 (work in progress), March | ||||
| 2019. | ||||
| [I-D.ietf-spring-srv6-network-programming] | [I-D.ietf-spring-srv6-network-programming] | |||
| Filsfils, C., Camarillo, P., Leddy, J., | Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., | |||
| daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 | Matsushima, S., and Z. Li, "SRv6 Network Programming", | |||
| Network Programming", draft-ietf-spring-srv6-network- | draft-ietf-spring-srv6-network-programming-07 (work in | |||
| programming-00 (work in progress), April 2019. | progress), December 2019. | |||
| [I-D.xie-bier-ipv6-encapsulation] | [I-D.xie-bier-ipv6-encapsulation] | |||
| Xie, J., Geng, L., McBride, M., Dhanaraj, S., Yan, G., and | Xie, J., Geng, L., McBride, M., Asati, R., and S. | |||
| Y. Xia, "Encapsulation for BIER in Non-MPLS IPv6 | Dhanaraj, "Encapsulation for BIER in Non-MPLS IPv6 | |||
| Networks", draft-xie-bier-ipv6-encapsulation-01 (work in | Networks", draft-xie-bier-ipv6-encapsulation-04 (work in | |||
| progress), June 2019. | progress), December 2019. | |||
| [RFC6515] Aggarwal, R. and E. Rosen, "IPv4 and IPv6 Infrastructure | [RFC6515] Aggarwal, R. and E. Rosen, "IPv4 and IPv6 Infrastructure | |||
| Addresses in BGP Updates for Multicast VPN", RFC 6515, | Addresses in BGP Updates for Multicast VPN", RFC 6515, | |||
| DOI 10.17487/RFC6515, February 2012, | DOI 10.17487/RFC6515, February 2012, | |||
| <https://www.rfc-editor.org/info/rfc6515>. | <https://www.rfc-editor.org/info/rfc6515>. | |||
| [RFC6625] Rosen, E., Ed., Rekhter, Y., Ed., Hendrickx, W., and R. | [RFC6625] Rosen, E., Ed., Rekhter, Y., Ed., Hendrickx, W., and R. | |||
| Qiu, "Wildcards in Multicast VPN Auto-Discovery Routes", | Qiu, "Wildcards in Multicast VPN Auto-Discovery Routes", | |||
| RFC 6625, DOI 10.17487/RFC6625, May 2012, | RFC 6625, DOI 10.17487/RFC6625, May 2012, | |||
| <https://www.rfc-editor.org/info/rfc6625>. | <https://www.rfc-editor.org/info/rfc6625>. | |||
| End of changes. 19 change blocks. | ||||
| 60 lines changed or deleted | 47 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/ | ||||