RFC 7740 PROPOSED STANDARD MULTICAST · MVPN · BGP

MP2MP Ingress Repl.: Simulating Partial Mesh of Multipoint-to-Multipoint (MP2MP) Provider Tunnels with Ingress Replication

Carrying bidirectional customer multicast over a provider network using ingress replication instead of MP2MP tunnels.

On rfc-editor.org ↗
PUBLISHED
January 2016
AUTHORS
Z. Zhang, Y. Rekhter, A. Dolganow
STREAM
IETF
TUNNEL TYPE IN PTA
Ingress Replication
MANDATORY ROUTE
(C-*,C-*-BIDIR) S-PMSI A-D
DOI
10.17487/RFC7740

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                          Z. Zhang
Request for Comments: 7740                                    Y. Rekhter
Category: Standards Track                               Juniper Networks
ISSN: 2070-1721                                              A. Dolganow
                                                          Alcatel-Lucent
                                                            January 2016


      Simulating Partial Mesh of Multipoint-to-Multipoint (MP2MP)
               Provider Tunnels with Ingress Replication

Abstract

   RFC 6513 ("Multicast in MPLS/BGP IP VPNs") describes a method to
   support bidirectional customer multicast flows using a partial mesh
   of Multipoint-to-Multipoint (MP2MP) tunnels.  This document specifies
   how a partial mesh of MP2MP tunnels can be simulated using Ingress
   Replication.  This solution enables a service provider to use Ingress
   Replication to offer transparent bidirectional multicast service to
   its VPN customers.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7740.

Copyright Notice

   Copyright (c) 2016 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
   (http://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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
     1.2.  Requirements Language . . . . . . . . . . . . . . . . . .   4
   2.  Operation . . . . . . . . . . . . . . . . . . . . . . . . . .   4
     2.1.  Control State . . . . . . . . . . . . . . . . . . . . . .   4
     2.2.  Forwarding State  . . . . . . . . . . . . . . . . . . . .   6
   3.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   4.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     4.1.  Normative References  . . . . . . . . . . . . . . . . . .   7
     4.2.  Informative References  . . . . . . . . . . . . . . . . .   8
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   Section 11.2 of RFC 6513 ("Partitioned Sets of PEs") describes two
   methods of carrying Bidirectional PIM (BIDIR-PIM) [RFC5015] C-flow
   traffic over a provider core without using the core as the Rendezvous
   Point Link (RPL) or requiring Designated Forwarder election.

   With these two methods, all Provider Edges (PEs) of a particular VPN
   are separated into partitions, with each partition being all the PEs
   that elect the same PE as the Upstream PE with respect to the C-RPA
   (the Rendezvous Point Address in the customer's address space).  A PE
   must discard bidirectional C-flow traffic from PEs that are not in
   the same partition as the PE itself.

   In particular, Section 11.2.3 of RFC 6513 ("Partial Mesh of MP2MP
   P-Tunnels") guarantees the above discard behavior without using an
   extra PE Distinguisher Label by having all PEs in the same partition
   join a single MP2MP tunnel dedicated to that partition and use it to
   transmit traffic.  All traffic arriving on the tunnel will be from
   PEs in the same partition, so it will be always accepted.

   RFC 6514 specifies BGP encodings and procedures used to implement
   Multicast VPN (MVPN) as specified in RFC 6513, while the details
   related to MP2MP tunnels are specified in [RFC7582].

   RFC 7582 assumes that an MP2MP P-tunnel is realized either via BIDIR-
   PIM [RFC5015] or via MP2MP mLDP (Multipoint extensions for LDP)
   [RFC6388].  Each would require signaling and state not just on PEs,
   but on the P routers as well.  This document describes how the MP2MP
   tunnel can be simulated with a mesh of P2MP tunnels, each of which is
   instantiated by Ingress Replication (IR) [RFC6513] [RFC6514].  The
   procedures in this document are different from the procedures that
   are used to set up the mesh of Ingress Replication tunnels as
   described in RFC 6514; the procedures in this document do not require
   each PE on the MP2MP tunnel to send a Selective P-Multicast Service
   Interface (S-PMSI) auto-discovery route (A-D route) for the P2MP
   tunnel that the PE is the root for, nor do they require each PE to
   send a Leaf A-D route to the root of each P2MP tunnel in the mesh.

   Because it uses Ingress Replication, this scheme has both the
   advantages and the disadvantages of Ingress Replication in general.

1.1.  Terminology

   This document uses terminology from [RFC5015], [RFC6513], [RFC6514],
   and [RFC7582].

1.2.  Requirements Language

   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].

2.  Operation

   In the following sections, the originator of an S-PMSI A-D route or
   Leaf A-D route is determined from the "originating router's IP
   address" field of the corresponding route.

2.1.  Control State

   If a PE, say PEx, is connected to a site of a given VPN and PEx's
   next-hop interface to some C-RPA is a VPN Routing and Forwarding
   (VRF) interface, then PEx MUST advertise a (C-*,C-*-BIDIR) S-PMSI A-D
   route, regardless of whether it has any local BIDIR-PIM join states
   corresponding to the C-RPA learned from its Customer Edges (CEs).  It
   MAY also advertise one or more (C-*,C-G-BIDIR) S-PMSI A-D routes, if
   selective distribution trees are needed for those C-G-BIDIR groups
   and the corresponding C-RPA is in the site that the PEx connects to.
   For example, the (C-*,C-G-BIDIR) S-PMSI A-D routes could be triggered
   when the (C-*,C-G-BIDIR) traffic rate goes above a threshold (this
   may require measuring the traffic in both directions, due to the
   nature of BIDIR-PIM), and fan-out could also be taken into account.

   The S-PMSI A-D routes include a PMSI Tunnel Attribute (PTA) with
   tunnel type set to Ingress Replication, with the Leaf Information
   Required flag set, with a downstream allocated MPLS label that other
   PEs in the same partition MUST use when sending relevant C-BIDIR
   flows to this PE, and with the Tunnel Identifier field in the PTA set
   to a routable address of the originator.  This specification does not
   prevent sharing of labels between P-tunnels, such as a label being
   shared by a (C-*,C-*-BIDIR) and a (C-*,C-G-BIDIR) S-PMSI A-D route
   originated by a given PE (note that other specifications put
   constraints on how that can be done, e.g., [MVPN-EXTRANET]).

   If some other PE, PEy, receives and imports into one of its VRFs any
   (C-*,C-*-BIDIR) S-PMSI A-D route whose PTA specifies an IR P-tunnel
   and the VRF has any local BIDIR-PIM join state that PEy has received
   from its CEs and if PEy chooses PEx as its Upstream PE with respect
   to the C-RPA for those states, PEy MUST advertise a Leaf A-D route in
   response.  Or, if PEy has received and imported into one of its VRFs
   a (C-*,C-*-BIDIR) S-PMSI A-D route from PEx before, then upon
   receiving in the VRF any local BIDIR-PIM join state from its CEs with
   PEx being the Upstream PE for those states' C-RPA, PEy MUST advertise
   a Leaf A-D route.

   The encoding of the Leaf A-D route is as specified in RFC 6514,
   except that the Route Targets are set to the same value as in the
   corresponding S-PMSI A-D route so that the Leaf A-D route will be
   imported by all VRFs that import the corresponding S-PMSI A-D route.
   This is irrespective of whether or not the originator of the S-PMSI
   A-D route is the Upstream PE from a receiving PE's perspective.  The
   label in the PTA of the Leaf A-D route originated by PEy MUST be
   allocated specifically for PEx, so that when traffic arrives with
   that label, the traffic can associate with the partition (represented
   by the PEx).  This specification does not prevent sharing of labels
   between P-tunnels, such as a label being shared by a (C-*,C-*-BIDIR)
   and a (C-*,C-G-BIDIR) Leaf A-D route originated by a given PE (note
   that other specifications put constraints on how that can be done,
   e.g., [MVPN-EXTRANET]).

   Note that RFC 6514 requires that a PE or an ASBR (Autonomous System
   Border Router) take no action with regard to a Leaf A-D route unless
   that Leaf A-D route carries an IP-address-specific Route Target
   identifying the PE/ASBR.  This document removes that requirement when
   the route key of a Leaf A-D route identifies a (C-*,C-*-BIDIR) or a
   (C-*,C-G-BIDIR) S-PMSI.

   To speed up convergence (so that PEy starts receiving traffic from
   its new Upstream PE immediately instead of waiting until the new Leaf
   A-D route corresponding to the new Upstream PE is received by sending
   PEs), PEy MAY advertise a Leaf A-D route even if it does not choose
   PEx as its Upstream PE with respect to the C-RPA.  With that, it will
   receive traffic from all PEs, but some will arrive with the label
   corresponding to its choice of Upstream PE while some will arrive
   with a different label; the traffic in the latter case will be
   discarded.

   Similar to the (C-*,C-*-BIDIR) case, if PEy receives and imports into
   one of its VRFs any (C-*,C-G-BIDIR) S-PMSI A-D route whose PTA
   specifies an IR P-tunnel, PEy chooses PEx as its Upstream PE with
   respect to the C-RPA, and it has corresponding local (C-*,C-G-BIDIR)
   join state that it has received from its CEs in the VRF, PEy MUST
   advertise a Leaf A-D route in response.  Or, if PEy has received and
   imported into one of its VRFs a (C-*,C-G-BIDIR) S-PMSI A-D route
   before, then upon receiving its local (C-*,C-G-BIDIR) join state from
   its CEs in the VRF, it MUST advertise a Leaf A-D route.

   The encoding of the Leaf A-D route is similar to the (C-*,C-*-BIDIR)
   case.  Similarly, PEy MAY advertise a Leaf A-D route even if it does
   not choose PEx as its Upstream PE with respect to the C-RPA.

   PEy MUST withdraw the corresponding Leaf A-D route if any of the
   following conditions are true:

   o  the (C-*,C-*-BIDIR) or (C-*,C-G-BIDIR) S-PMSI A-D route is
      withdrawn.

   o  PEy no longer chooses the originator PEx as its Upstream PE with
      respect to C-RPA and PEy only advertises Leaf A-D routes in
      response to its Upstream PE's S-PMSI A-D route.

   o  if relevant local join state is pruned.

2.2.  Forwarding State

   The specification regarding forwarding state in this section matches
   the "When an S-PMSI is a 'Match for Transmission'" and "When an
   S-PMSI is a 'Match for Reception'" rules for the "Flat Partitioning"
   method in [RFC7582], except that the rules about (C-*,C-*) are not
   applicable, because this document requires that (C-*,C-*-BIDIR)
   S-PMSI A-D routes are always originated for a VPN that supports
   C-BIDIR flows.

   For the (C-*,C-G-BIDIR) S-PMSI A-D route that a PEy receives and
   imports into one of its VRFs from its Upstream PE with respect to the
   C-RPA, if PEy itself advertises the S-PMSI A-D route in the VRF, PEy
   maintains a (C-*,C-G-BIDIR) forwarding state in the VRF, with the
   Ingress Replication provider tunnel leaves being the originators of
   the S-PMSI A-D route and all relevant Leaf A-D routes.  The relevant
   Leaf A-D routes are the routes whose Route Key field contains the
   same information as the MCAST-VPN Network Layer Reachability
   Information (NLRI) of the (C-*,C-G-BIDIR) S-PMSI A-D route advertised
   by the Upstream PE.

   For the (C-*,C-*-BIDIR) S-PMSI A-D route that a PEy receives and
   imports into one of its VRFs from its Upstream PE with respect to a
   C-RPA, if PEy itself advertises the S-PMSI A-D route in the VRF, it
   maintains appropriate forwarding states in the VRF for the ranges of
   bidirectional groups for which the C-RPA is responsible.  The
   provider tunnel leaves are the originators of the S-PMSI A-D route
   and all relevant Leaf A-D routes.  The relevant Leaf A-D routes are
   the routes whose Route Key field contains the same information as the
   MCAST-VPN NLRI of the (C-*,C-*-BIDIR) S-PMSI A-D route advertised by
   the Upstream PE.  This is for the so-called "Sender Only Branches"
   where a router only has data to send upstream towards C-RPA but no
   explicit join state for a particular bidirectional group.  Note that
   the traffic must be sent to all PEs (not just the Upstream PE) in the
   partition, because they may have specific (C-*,C-G-BIDIR) join states
   that this PEy is not aware of, while there are no corresponding
   (C-*,C-G-BIDIR) S-PMSI A-D and Leaf A-D routes.

   For a (C-*,C-G-BIDIR) join state that a PEy has received from its CEs
   in a VRF, if there is no corresponding (C-*,C-G-BIDIR) S-PMSI A-D
   route from its Upstream PE in the VRF, PEy maintains a corresponding
   forwarding state in the VRF, with the provider tunnel leaves being
   the originators of the (C-*,C-*-BIDIR) S-PMSI A-D route and all
   relevant Leaf A-D routes (same as the "Sender Only Branches" case
   above).  The relevant Leaf A-D routes are the routes whose Route Key
   field contains the same information as the MCAST-VPN NLRI of the
   (C-*,C-*-BIDIR) S-PMSI A-D route originated by the Upstream PE.  If
   there is also no (C-*,C-*-BIDIR) S-PMSI A-D route from its Upstream
   PE, then the provider tunnel has an empty set of leaves, and PEy does
   not forward relevant traffic across the provider network.

3.  Security Considerations

   This document raises no new security issues.  Security considerations
   for the base protocol are covered in [RFC6513] and [RFC6514].

4.  References

4.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC6513]  Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/
              BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February
              2012, <http://www.rfc-editor.org/info/rfc6513>.

   [RFC6514]  Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
              Encodings and Procedures for Multicast in MPLS/BGP IP
              VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012,
              <http://www.rfc-editor.org/info/rfc6514>.

   [RFC7582]  Rosen, E., Wijnands, IJ., Cai, Y., and A. Boers,
              "Multicast Virtual Private Network (MVPN): Using
              Bidirectional P-Tunnels", RFC 7582, DOI 10.17487/RFC7582,
              July 2015, <http://www.rfc-editor.org/info/rfc7582>.

4.2.  Informative References

   [MVPN-EXTRANET]
              Rekhter, Y., Ed., Rosen, E., Ed., Aggarwal, R., Cai, Y.,
              and T. Morin, "Extranet Multicast in BGP/IP MPLS VPNs",
              Work in Progress, draft-ietf-bess-mvpn-extranet-06,
              January 2016.

   [RFC5015]  Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano,
              "Bidirectional Protocol Independent Multicast (BIDIR-
              PIM)", RFC 5015, DOI 10.17487/RFC5015, October 2007,
              <http://www.rfc-editor.org/info/rfc5015>.

   [RFC6388]  Wijnands, IJ., Ed., Minei, I., Ed., Kompella, K., and B.
              Thomas, "Label Distribution Protocol Extensions for Point-
              to-Multipoint and Multipoint-to-Multipoint Label Switched
              Paths", RFC 6388, DOI 10.17487/RFC6388, November 2011,
              <http://www.rfc-editor.org/info/rfc6388>.

Acknowledgements

   We would like to thank Eric Rosen for his comments and suggestions
   for some text used in the document.

Authors' Addresses

   Zhaohui Zhang
   Juniper Networks
   10 Technology Park Dr.
   Westford, MA  01886
   United States

   Email: zzhang@juniper.net


   Yakov Rekhter
   Juniper Networks


   Andrew Dolganow
   Alcatel-Lucent
   600 March Rd.
   Ottawa, ON  K2K 2E6
   Canada

   Email: andrew.dolganow@alcatel-lucent.com

AI ELI5

On this page
PROBLEMCarrying bidirectional customer multicast through a provider core with a partial mesh of MP2MP tunnels needs signaling and state on the provider's P routers as well as on the PEs.
MECHANISMThe MP2MP tunnels are simulated by a mesh of P2MP tunnels built with Ingress Replication, driven by S-PMSI A-D routes and Leaf A-D routes that each PE advertises under defined rules.
THE CATCHA service provider can use Ingress Replication to offer transparent bidirectional multicast to VPN customers, with both the advantages and the disadvantages of Ingress Replication.

§1The Problem and the Approach

Section 11.2 of RFC 6513 describes two methods of carrying Bidirectional PIM (BIDIR-PIM) customer traffic over a provider core without using the core as the Rendezvous Point Link or requiring Designated Forwarder election. All PEs of a VPN are split into partitions: each partition is the set of PEs that choose the same PE as Upstream PE with respect to the C-RPA, the Rendezvous Point Address in the customer's address space. A PE must discard bidirectional traffic from PEs outside its own partition.

RFC 7582 assumes an MP2MP P-tunnel is built with BIDIR-PIM (RFC 5015) or MP2MP mLDP (RFC 6388). Each needs signaling and state on P routers too. This document instead simulates the MP2MP tunnel with a mesh of P2MP tunnels, each instantiated by Ingress Replication. Because of that, the scheme inherits the advantages and the disadvantages of Ingress Replication in general.

The old way builds a special shared route through the whole network. The new way has each sender just make copies for the other members of its group, so the network in the middle needs no special setup.

§1.1How It Differs from RFC 6514 Ingress Replication

The procedures here differ from those that set up the mesh of Ingress Replication tunnels in RFC 6514. Each PE on the MP2MP tunnel does not need to send a Selective P-Multicast Service Interface (S-PMSI) auto-discovery route (A-D route) for the P2MP tunnel it roots, and it does not need to send a Leaf A-D route to the root of every P2MP tunnel in the mesh.

Terminology comes from RFC 5015, RFC 6513, RFC 6514 and RFC 7582.

This works a little differently from the usual copy-and-send method, and it skips some of the announcements that method needs.

§2.1Advertising S-PMSI A-D Routes

A PE (PEx) connected to a VPN site, whose next-hop interface toward some C-RPA is a VRF interface, MUST advertise a (C-*,C-*-BIDIR) S-PMSI A-D route, even if it has no local BIDIR-PIM join state for that C-RPA. It MAY also advertise (C-*,C-G-BIDIR) S-PMSI A-D routes when selective trees are needed for particular groups. The RFC suggests these could be triggered when the traffic rate goes above a threshold, which may require measuring both directions, and fan-out could also be considered.

These routes carry a PMSI Tunnel Attribute (PTA) with the tunnel type set to Ingress Replication, the Leaf Information Required flag set, a downstream-allocated MPLS label that other PEs in the same partition MUST use when sending relevant flows to this PE, and a Tunnel Identifier set to a routable address of the originator. Labels may be shared between P-tunnels.

Each member of the group announces: "I am here, and here is the special ticket number to put on packages for me."

§2.1Responding with Leaf A-D Routes

When another PE (PEy) imports a (C-*,C-*-BIDIR) S-PMSI A-D route whose PTA specifies an Ingress Replication tunnel, has local BIDIR-PIM join state from its CEs, and chooses PEx as its Upstream PE for the C-RPA, PEy MUST advertise a Leaf A-D route. The same holds if it already imported the route and the join state arrives later. For (C-*,C-G-BIDIR) routes the rule is parallel.

The Leaf A-D route is encoded as in RFC 6514, except that its Route Targets equal those of the matching S-PMSI A-D route, so all VRFs importing that route import the Leaf A-D route too. The label in its PTA MUST be allocated specifically for PEx, so arriving traffic with that label can be tied to the partition PEx represents. This document also removes the RFC 6514 requirement that a PE take no action on a Leaf A-D route lacking an IP-address-specific Route Target, for these two route kinds.

To speed convergence, PEy MAY advertise a Leaf A-D route even if it does not choose PEx as Upstream PE. It then receives traffic from all PEs, and traffic with a label for a different choice is discarded.

PEy MUST withdraw the Leaf A-D route if the S-PMSI A-D route is withdrawn, if PEy no longer chooses PEx as Upstream PE (and only advertises in response to its Upstream PE), or if the relevant local join state is pruned.

When a member wants to join in, it replies with its own ticket number. The ticket tells the sender which group it belongs to, so packages from other groups get thrown away.

ROUTE EXCHANGE BETWEEN TWO PES (SIMPLIFIED FROM RFC 7740)
PEx (Upstream PE)PEy
  1. S-PMSI A-D routePTA: Ingress Replication, Leaf Information Required, MPLS label.
  2. Leaf A-D routeLabel allocated specifically for PEx.

§2.2Forwarding State

The forwarding rules match the "Match for Transmission" and "Match for Reception" rules of the "Flat Partitioning" method in RFC 7582, except that the (C-*,C-*) rules do not apply, since (C-*,C-*-BIDIR) S-PMSI A-D routes are always originated for a VPN supporting C-BIDIR flows.

If PEy itself advertises the S-PMSI A-D route and imports one from its Upstream PE, it keeps forwarding state whose Ingress Replication leaves are the originators of that route and of all relevant Leaf A-D routes, meaning those whose Route Key matches the Upstream PE's NLRI.

For "Sender Only Branches", where a router only sends upstream toward the C-RPA with no explicit join state, traffic must go to all PEs in the partition, not just the Upstream PE, because they may hold (C-*,C-G-BIDIR) joins that PEy does not know about. If there is also no (C-*,C-*-BIDIR) route from the Upstream PE, the tunnel has an empty set of leaves and PEy does not forward the traffic across the provider network.

A sender copies its package to every member it knows about. If it knows nobody, it sends nothing at all.

§3Security Considerations

The document raises no new security issues. Security considerations for the base protocol are covered in RFC 6513 and RFC 6514.

Nothing new to worry about here beyond what the earlier rules already cover.

§7References