Network Working Group | J. Xie |
Internet-Draft | Huawei |
Intended status: Standards Track | October 27, 2017 |
Expires: April 30, 2018 |
Multicast VPN Using MPLS P2MP and BIER
draft-xie-bier-mvpn-mpls-p2mp-00
The Multicast Virtual Private Network (MVPN) specifications defines P-tunnels for carrying multicast traffic across the backbone. A variety of P-tunnel types are supported. Bit Index Explicit Replication (BIER) is a new architecture that provides optimal multicast forwarding through a "multicast domain", without requiring intermediate routers to maintain any per-flow state. The purpose of the current document is to specify one way of carrying multicast traffic over an SP MPLS backbone network using compatible method and encapsulation of BIER. It uses a pre-build P2MP as the BIER topology, and uses mLDP/RSVP-TE protocol extension to build BIER-related underlay routing and forwarding information in-band when building the P2MP topology.
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].
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 30, 2018.
Copyright (c) 2017 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 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
[RFC6513] and [RFC6514] specify the protocols and procedures that a Service Provider (SP) can use to provide Multicast Virtual Private Network (MVPN) service to its customers. Multicast tunnels are created through an SP's backbone network; these are known as "P-tunnels". The P-tunnels are used for carrying multicast traffic across the backbone. The MVPN specifications allow the use of several different kinds of P-tunnel technology. In an MPLS network, such P-tunnel can be mLDP P2MP or RSVP-TE P2MP.
Bit Index Explicit Replication (BIER) [I-D.ietf-bier-architecture] is an architecture that provides optimal multicast forwarding through a "multicast domain", without requiring intermediate routers to maintain any per-flow state.
BIER architecture requires routers participating in BIER to exchange BIER related information within a given domain. BIER architecture permits IGP/BGP or any other routing protocols to perform distribution of such information. Such routing protocols are defined as Underlay protocols.
In an MPLS network, [I-D.ietf-bier-mpls-encapsulation] define a BIER Header within it an initial 4 octets MPLS-Label, to encapsulate Multicast packet and transport through the MPLS network.
The purpose of the current document is to specify one way of carrying multicast traffic over an SP MPLS backbone network, using compatible method and encapsulation described in the above BIER documents. It uses a pre-build P2MP as the BIER topology, and uses mLDP/RSVP-TE protocol extension to build BIER-related underlay routing and forwarding information in-band when building the P2MP topology.
Readers of this document are assumed to be familiar with the terminology and concepts of the documents listed as Normative References. For convenience, some of the more frequently used terms and new terms list below.
According to [I-D.ietf-bier-architecture], the P2MP LSP based BIER is a REAL BIER, which using a P2MP LSP as the underlay topology. The P2MP LSP is not only a LSP, but also a topology as the BIER underlay. The P2MP LSP based BIER is P-tunnel, which is used for bearing multicast flows. Every flow can think as binding to an independent tunnel, which is constructed by the BitString in the BIER header of every packet of the flow. Multicast flows are transported in SPMSI-only mode, on P2MP LSP based BIER tunnels, and never directly on P2MP LSP tunnel.
As defined in [RFC6514], the PMSI Tunnel attribute (PTA) carried by an x-PMSI A-D route identifies the P-tunnel that is used to instantiate a particular PMSI. If a PMSI is to be instantiated by P2MP LSP based BIER, the PTA is constructed by a BFIR, which is also a Ingress LSR. This document defines the following Tunnel Types:
+ TBD - RSVP-TE P2MP LSP based BIER
+ TBD - mLDP P2MP LSP based BIER
Allocation is expected from IANA for two new tunnel type codepoints from the "P-Multicast Service Interface Tunnel (PMSI Tunnel) Tunnel Types" registry. These codepoints will be used to indicate that the PMSIs is instantiated by MLDP or RSVP-TE extension with support of BIER.
When the Tunnel Type is set to RSVP-TE P2MP LSP based BIER, the Tunnel Identifier include two parts, as follows:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BSL | Tunnel Number | Must Be Zero | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | P2MP ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MUST be zero | Tunnel Range Base | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Extended Tunnel ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: PTA of RSVP-TE P2MP LSP based BIER
BSL: A 4 bits field. The values allowed in this field are specified in section 2 of [I-D.ietf-bier-mpls-encapsulation].
Tunnel Number: A 1 octet field encoding the Number of the Tunnel range. It MUST be greater than 0.
<Extended Tunnel ID, Reserved, Tunnel Range Base, P2MP ID>: A ID as carried in the RSVP-TE P2MP LSP SESSION Object defined in [RFC4875].
The "Tunnel Range" is the set of P2MP LSPs beginning with the Tunnel Range base and ending with ((Tunnel Range base)+(Tunnel Number)- 1). A unique Tunnel Range is allocated for the BSL and a Sub-domain-ID implicited by the P2MP.
The size of the Tunnel Range is determined by the number of Set Identifiers (SI) (section 1 of [I-D.ietf-bier-architecture]) that are used in the topology of the P2MP-LSP. Each SI maps to a single Tunnel in the Tunnel Range. The first Tunnel is for SI=0, the second Tunnel is for SI=1, etc.
When the Tunnel Type is set to mLDP P2MP LSP based BIER, the Tunnel Identifier include two parts, as follows:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BSL | Tunnel Number | Must Be Zero | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P2MP Type(0x06)| Address Family | Address Length| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Root Node Address ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opaque Length(0x0007) | OV Type(0x01) |OV Len(High 8b)| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | (Low 8b)(0x04)| Tunnel Range Base(High 24b) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | (Low 8b) | +-+-+-+-+-+-+-+-+
Figure 2: PTA of MLDP P2MP LSP based BIER
Tunnel Number: A 1 octet field encoding the Number of the Tunnel range. It MUST be greater than 0.
<Type=0x06, AF, AL, RootNodeAddr, Opqeue Length=0x0007, OV Type=0x01, OV Len=0x04, Tunnel Range Base>: A P2MP Forwarding Equivalence Class (FEC) Element, with a Generic LSP Identifier TLV as the opaque value element, defined in [RFC6388].
The "Tunnel Range" is the set of P2MP LSPs beginning with the Tunnel Range base and ending with ((Tunnel Range base)+(Tunnel Number)- 1). A unique Tunnel Range is allocated for the BSL and a Sub-domain-ID implicited by the P2MP.
The size of the Tunnel Range is determined by the number of Set Identifiers (SI) (section 1 of [I-D.ietf-bier-architecture]) that are used in the topology of the P2MP-LSP. Each SI maps to a single Tunnel in the Tunnel Range. The first Tunnel is for SI=0, the second Tunnel is for SI=1, etc.
When the Tunnel Type is any of the above two, The "MPLS label" field OPTIONAL contain an upstream-assigned non-zero MPLS label. It is assigned by the router (a BFIR) that constructs the PTA. Absence of an MPLS Label is indicated by setting the MPLS Label field to zero.
When the Tunnel Type is any of the above two, two of the flags, LIR and LIR-pF, in the PTA "Flags" field are meaningful. Details about the use of these flags can be found in [RFC6513], [I-D.ietf-bess-mvpn-expl-track] and [I-D.ietf-bier-mvpn]].
Before an egress PE can receive a (C-S,C-G) flow from a given ingress PE via RSVP-TE/MLDP P2MP LSP based BIER, the egress PE must have received one of the following x-PMSI A-D routes from the ingress PE:
In which, the PTA tunnel Type is "RSVP-TE P2MP LSP based BIER" or "MLDP P2MP LSP based BIER".
The rules for determining which x-PMSI A-D route is the match for reception are given in [RFC6625]. If such a route is found, we refer to it as the "matching x-PMSI A-D route." If no matching x-PMSI A-D route for (C-S,C-G) is found, the egress PE cannot receive the (C-S,C-G) flow from the ingress PE via RSVP-TE/MLDP P2MP LSP based BIER until such time as a matching route is received.
When an egress PE determines that it needs to receive a (C-S,C-G) flow from a particular ingress PE via RSVP-TE/MLDP P2MP LSP based BIER, it originates a Leaf A-D route. Construction of the Leaf A-D route generally follows the procedures specified in [RFC6514], or optionally, the procedures specified in [I-D.ietf-bess-mvpn-expl-track]. However, when RSVP-TE/MLDP P2MP LSP based BIER is being used, the Leaf A-D route MUST carry a PTA that is constructed as follows:
When an ingress PE receives such a Leaf A-D route, it learns the BFR-Prefix of the egress PE from the PTA. The ingress PE does not make any use the value of the PTA's MPLS label field.
Failure to properly construct the PTA cannot always be detected by the protocol, and will cause improper delivery of the data packets.
The MVPN application plays the role of the "multicast flow overlay" as described in [I-D.ietf-bier-architecture].
This section specifies some OPTIONAL rules for forwarding a BIER-encapsulated data packet within a P2MP topology underlay.
These rules will produce the same results as the procedures in [I-D.ietf-bier-architecture], on condition that the underlay topology is a P2MP.
As [I-D.ietf-bier-architecture] describes:
This document specifies one OPTIONAL Forwarding Procedure of BIER encapsulation packet, on the condition that the BIER underlay topology is P2MP LSP, as describes in the above sections. Comparing to the Forwarding Procedure, which is described in [I-D.ietf-bier-architecture], and which is on a underlay of unicast IGP topology, there is some simplification:
The optional BIER forwarding procedure is, on the basis of P2MP forwarding procedure according to the BIER-MPLS label, and use the BitString to prune the undesired P2MP downstream.
The enhancement to the P2MP forwarding is to add a Forwarding BitMask to existing NHLFE defined in [RFC3031], for checking with the BitString in a packet, to determin whether the packet is to be forwarded or pruned. If the checking result by AND'ing a packet's BitString with the F-BM of the NHLFE (i.e., Packet->BitString &= F-BM) is non-zero, then forward the packet to the next-hop indicated by the NHLFE entry, and the Label is switched to the proper one in the NHLFE. If the result is zero, then do not forward the packet to the next-hop indicated by the NHLFE entry.
When RSVP-TE/MLDP P2MP LSP based BIER are used, then it is not nessary to use IGP or BGP to build the BIER routing table and forwarding table. Instead, the BIER layer information is carried by MLDP or RSVP-TE, and when MLDP or RSVP-TE build P2MP LSP, it build the BIER forwarding state in-band.
The procedure for building RSVP-TE/MLDP P2MP LSP based BIER forwarding state using mLDP or RSVP-TE is outside the scope of this document.
As described above, loop and redundancy, ECMP and Entropy, are all not supported in current P2MP LSP underlay. There will be extra P2MP LSP convergence, after IGP convergence, in the case of link or node failure.
On the other hand, Multicast has special Service Level Aggrement(SLA), especially when multicast service is compressed or uncompressed video. Accordingly, there are some multicast-specific methods of protection, such as Live-Live. [RFC7431] defines a method of detecting failure locally by comparing the packets received from live-live paths. [I-D.ietf-bess-mvpn-fast-failover] defines a Live-Live method for protecting Multicast in MVPN.
This document specifies one OPTIONAL extension to enhance Live-Live protection, re-using the Entropy field of BIER header as a Sequence number of multicast packet, on the condition that the field is not used for ECMP, such as in the P2MP LSP topology described above.
This is an optional function of BIER Layer. If this function is enabled, every BFR of the domain is required to support, which means:
P2MP LSP based BIER use concepts of both RSVP-TE/MLDP and BIER. Some provisioning considerations list below:
Sub-domain:
In P2MP LSP based BIER, every P2MP LSP is a specific BIER underlay topology, and an implicit Sub-domain. RSVP-TE/MLDP build the BIER information of the implicit sub-domain when build P2MP LSP. MVPN get the implicit sub-domain when specified with which RSVP-TE/MLDP P2MP LSP.
In the following conditions, there may be requirements to configure an explicit sub-domain ID for P2MP LSP based BIER:
[I-D.ietf-bier-ospf-bier-extensions], [I-D.ietf-bier-isis-extensions], [I-D.ietf-bier-idr-extensions] and [I-D.ietf-bier-mvpn].
When explicitly configing a sub-domain ID for P2MP LSP based BIER, the ID should be great than 255. For the [0-255] has been defined to use by IGP, BGP and MVPN, as specified in
BFR-prefix:
In P2MP LSP based BIER, every BFR is also a LSR. So the BFR-prefix in the sub-domain is by default identified by LSR-id. Additionally, When BFR/LSR is also a MVPN PE, BFR-prefix is also the same as Originating Router’s IP Address of x-PMSI A-D route or Leaf A-D route.
BFR-id:
When using protocols like RSVP-TE, which initializes P2MP LSP from a specific Ingress Node, BFR-id which is unique in P2MP LSP scope, can be auto-provisioned by Ingress Node, or conventionally configure on every Egress Nodes.
BSL and BIER-MPLS Label Block Size:
In P2MP LSP based BIER, Every P2MP LSP or implicit sub-domain requires a single BSL, and a specific BIER-MPLS Label block size for this BSL.
VPN-Label:
In P2MP LSP based BIER, a P2MP LSP based BIER 'P-tunnel' can be shared by multiple VPNs or a single VPN. When a P2MP LSP based BIER being shared by multiple VPNs, an Upstream-assigned VPN-Label is required. It can be auto-provisioned or manual configured by the BFIR or Ingress LSR.
Allocation is expected from IANA for two new tunnel type codepoints for "RSVP-TE P2MP LSP based BIER" and “MLDP P2MP LSP based BIER” from the "P-Multicast Service Interface Tunnel (PMSI Tunnel) Tunnel Types" registry.
This document does not introduce any new security considerations other than already discussed in [I-D.ietf-bier-architecture].
TBD
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |