RFC 7431 INFORMATIONAL MULTICAST · ROUTING · RESILIENCE

MoFRR: Multicast-Only Fast Reroute

Keeping multicast traffic flowing through a failure by sending it down two paths at once.

On rfc-editor.org ↗
PUBLISHED
August 2015
AUTHORS
A. Karan, C. Filsfils, IJ. Wijnands, B. Decraene
STREAM
IETF
MINIMUM SWITCHOVER
50 milliseconds (with interface failure detection)
PROTOCOL CHANGES
None required
SUITABLE TOPOLOGIES
Dual-plane networks, data centers with meshed layers
SUPPORTED PROTOCOLS
PIM (all modes), mLDP (P2MP and MP2MP)
IGP-BASED SWITCHOVER
Sub-second to sub-200 msec
IPTV INTER-PACKET GAP
About 3 msec for SD video
DOI
10.17487/RFC7431

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                          A. Karan
Request for Comments: 7431                                   C. Filsfils
Category: Informational                                IJ. Wijnands, Ed.
ISSN: 2070-1721                                      Cisco Systems, Inc.
                                                             B. Decraene
                                                                  Orange
                                                             August 2015


                      Multicast-Only Fast Reroute

Abstract

   As IPTV deployments grow in number and size, service providers are
   looking for solutions that minimize the service disruption due to
   faults in the IP network carrying the packets for these services.
   This document describes a mechanism for minimizing packet loss in a
   network when node or link failures occur.  Multicast-only Fast
   Reroute (MoFRR) works by making simple enhancements to multicast
   routing protocols such as Protocol Independent Multicast (PIM) and
   Multipoint LDP (mLDP).

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   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).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see 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/rfc7431.

Copyright Notice

   Copyright (c) 2015 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. Conventions Used in This Document ..........................3
      1.2. Terminology ................................................3
   2. Basic Overview ..................................................4
   3. Determination of the Secondary UMH ..............................5
      3.1. ECMP-Mode MoFRR ............................................5
      3.2. Non-ECMP-Mode MoFRR ........................................5
   4. Upstream Multicast Hop Selection ................................6
      4.1. PIM ........................................................6
      4.2. mLDP .......................................................6
   5. Detecting Failures ..............................................6
   6. MoFRR Applicability to Dual-Plane Topology ......................7
   7. Other Topologies ...............................................10
   8. Capacity Planning for MoFRR ....................................11
   9. PE Nodes .......................................................11
   10. Other Applications ............................................11
   11. Security Considerations .......................................12
   12. References ....................................................12
      12.1. Normative References .....................................12
      12.2. Informative References ...................................12
   Acknowledgments ...................................................13
   Contributors ......................................................13
   Authors' Addresses ................................................14

1.  Introduction

   Different solutions have been developed and deployed to improve
   service guarantees, both for multicast video traffic and Video on
   Demand traffic.  Most of these solutions are geared towards finding
   an alternate path around one or more failed network elements (link,
   node, or path failures).

   This document describes a mechanism for minimizing packet loss in a
   network when node or link failures occur.  Multicast-only Fast
   Reroute (MoFRR) works by making simple changes to the way selected
   routers use multicast protocols such as PIM and mLDP.  No changes to
   the protocols themselves are required.  With MoFRR, in many cases,
   multicast routing protocols don't necessarily have to depend on or
   have to wait on unicast routing protocols to detect network failures;
   see Section 5.

   On a Merge Point, MoFRR logic determines a primary Upstream Multicast
   Hop (UMH) and a secondary UMH and joins the tree via both
   simultaneously.  Data packets are received over the primary and
   secondary paths.  Only the packets from the primary UMH are accepted
   and forwarded down the tree; the packets from the secondary UMH are
   discarded.  The UMH determination is different for PIM and mLDP and
   explained in Section 4.  When a failure is detected on the path to
   the primary UMH, the repair occurs by changing the secondary UMH into
   the primary and the primary into the secondary.  Since the repair is
   local, it is fast -- greatly improving convergence times in the event
   of node or link failures on the path to the primary UMH.

1.1.  Conventions Used in This Document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

1.2.  Terminology

   MoFRR: Multicast-only Fast Reroute.

   ECMP: Equal-Cost Multipath.

   mLDP: Multipoint Label Distribution Protocol.

   PIM: Protocol Independent Multicast.

   UMH: Upstream Multicast Hop.  A candidate next-hop that can be used
      to reach the root of the tree.

   tree: Either a PIM (S,G)/(*,G) tree or an mLDP Point-to-Multipoint
      (P2MP) or Multipoint-to-Multipoint (MP2MP) LSP.

   OIF: Outgoing interface.  An interface used to forward multicast
      packets down the tree towards the receivers.  Either a PIM
      (S,G)/(*,G) tree or an mLDP P2MP or MP2MP LSP.

   LFA: Loop-Free Alternate as defined in [RFC5286].  In unicast Fast
      Reroute, this is an alternate next-hop that can be used to reach a
      unicast destination without using the protected link or node.

   Merge Point: A router that joins a multicast stream via two divergent
      upstream paths.

   RPF: Reverse Path Forwarding.

   RP: Rendezvous Point.

   LSP: Label Switched Path.

   LSR: Label Switching Router.

   BFD: Bidirectional Forwarding Detection.

   IGP: Interior Gateway Protocol.

   MVPN: Multicast Virtual Private Network.

   POP: Point Of Presence, an access point into the network.

2.  Basic Overview

   The basic idea of MoFRR is for a Merge Point router to join a
   multicast tree via two divergent upstream paths in order to get
   maximum redundancy.  The determination of this alternate upstream is
   defined in Section 3.

   In order to maximize robustness against any failure, the two paths
   should be as diverse as possible.  Ideally, they should not merge
   upstream.  Sometimes the topology guarantees maximal redundancy;
   other times additional configuration or techniques are needed to
   enforce it.  See Section 6 for more discussion on the applicability
   of MoFRR depending on the network topology.

   A Merge Point router should only accept and forward on one of the
   upstream paths at a time in order to avoid duplicate packet
   forwarding.  The selection of the primary and secondary UMH is done
   by the MoFRR logic and normally based on unicast routing to find
   loop-free candidates.  This is described in Section 4.

   Note, the impact of an additional amount of data on the network is
   mitigated when tree membership is densely populated.  When a part of
   the network has redundant data flowing, join latency for new joining
   members is reduced because it's likely a tree Merge Point is not far
   away.

3.  Determination of the Secondary UMH

   The secondary UMH is a Loop-Free Alternate (LFA) as per [RFC5286].

3.1.  ECMP-Mode MoFRR

   If the IGP installs two ECMP paths to the source, then as per
   [RFC5286] the LFA is a primary next-hop.  If the multicast tree is
   enabled for ECMP-mode MoFRR, the router installs the paths as primary
   and secondary UMHs.  Before the failure, only packets received from
   the primary UMH path are processed, while packets received from the
   secondary UMH are dropped.

   The selected primary UMH SHOULD be the same as if the MoFRR extension
   were not enabled.

   If more than two ECMP paths exist, one is selected as primary and
   another as secondary UMH.  The selection of the primary and secondary
   is a local decision.  Information from the IGP link-state topology
   could be leveraged to optimize this selection such that the primary
   and secondary paths are maximal divergent and don't lead to the same
   upstream node.  Note that MoFRR does not restrict the number of UMH
   paths that are joined.  Implementations may use as many paths as are
   configured.

3.2.  Non-ECMP-Mode MoFRR

   A router X configured for non-ECMP-mode MoFRR for a multicast tree
   joins a primary path to its primary UMH and a secondary path to its
   LFA UMH.  In order to prevent control-plane loops, a router MUST stop
   joining the secondary UMH if this UMH is the only member in the OIF
   list.

   To illustrate the reason for this rule, let's consider the example in
   Figure 3.  If two Provider Edge routers, PE1 and PE2, have received
   an IGMP request for a multicast tree, they will both join the primary
   path on their plane and a secondary path to the neighbor PE.  If
   their receivers leave at the same time, it's possible for the
   multicast tree on PE1 and PE2 to never get deleted, as the PEs
   refresh each other via the secondary path joins (remember that a
   secondary path join is not distinguishable from a primary join).

4.  Upstream Multicast Hop Selection

   An Upstream Multicast Hop (UMH) is a candidate next-hop that can be
   used to reach the root of the tree.  This is normally based on
   unicast routing to find loop-free candidate(s).  With MoFRR
   procedures, we select a primary and a backup UMH.  The procedures for
   determining the UMH are different for PIM and mLDP.

4.1.  PIM

   The UMH selection in PIM is also known as the Reverse Path Forwarding
   (RPF) procedure.  Based on a unicast route lookup on either the
   source address or Rendezvous Point (RP) [RFC4601], an upstream
   interface is selected for sending the PIM Joins/Prunes AND accepting
   the multicast packets.  The interface the packets are received on is
   used to pass or fail the RPF check.  If packets are received on an
   interface that was not selected as the primary by the RPF procedure,
   the packets are discarded.

4.2.  mLDP

   The UMH selection in mLDP also depends on unicast routing, but the
   difference from PIM is that the acceptance of multicast packets is
   based on MPLS labels and is independent of the interface on which the
   packet is received.  Using the procedures as defined in [RFC6388], an
   upstream Label Switching Router (LSR) is elected.  The upstream LSR
   that was elected for a Label Switched Path (LSP) gets a unique local
   MPLS label allocated.  Multicast packets are only forwarded if the
   MPLS label matches the MPLS label that was allocated for that LSP's
   (primary) upstream LSR.

5.  Detecting Failures

   Once the two paths are established, the next step is detecting a
   failure on the primary path to know when to switch to the backup
   path.  This is a local issue, but this section explores some
   possibilities.

   The first (and simplest) option is to detect the failure of the local
   interface as it's done for unicast Fast Reroute.  Detection can be
   performed using the loss of signal or the loss of probing packets
   (e.g., BFD).  This option can be used in combination with the other
   options as documented below.  Just like for unicast fast reroute,
   50 msec switchover is possible.

   A second option consists of comparing the packets received on the
   primary and secondary streams but only forwarding one of them -- the
   first one received, no matter which interface it is received on.
   Zero packet loss is possible for RTP-based streams.

   A third option assumes a minimum known packet rate for a given data
   stream.  If a packet is not received on the primary RPF within this
   time frame, the router assumes primary path failure and switches to
   the secondary RPF interface. 50 msec switchover may be possible for
   high-rate streams (e.g., IPTV where SD video has a continuous inter-
   packet gap of about 3 msec), but in general the delay is dependent on
   the rate of the multicast stream.

   A fourth option leverages the significant improvements of the IGP
   convergence speed.  When the primary path to the source is withdrawn
   by the IGP, the MoFRR-enabled router switches over to the backup
   path, and the UMH is changed to the secondary UMH.  Since the
   secondary path is already in place, and assuming it is disjoint from
   the primary path, convergence times would not include the time
   required to build a new tree and hence are smaller.  Sub-second to
   sub-200 msec switchover should be possible.

6.  MoFRR Applicability to Dual-Plane Topology

   MoFRR applicability is topology dependent.  The applicability is the
   same as LFA FRR, which is discussed in [RFC6571].

   The following section will discuss MoFRR applicability to dual-plane
   network topologies.

   MoFRR works best in dual-planes topologies as illustrated in the
   figures below.  MoFRR may be enabled on any router in the network.
   In the figures below, MoFRR is shown enabled on the Provider Edge
   (PE) routers to illustrate one way in which the technology may be
   deployed.

                            S
                      P    / \ P
                          /   \
                   ^    G1     R1  ^
                   P    /       \  P
                       /         \
                      G2----------R2   ^
                      | \         | \  P
                  ^   |  \        |  \
                  P   |   G3----------R3
                      |    |      |    |
                      |    |      |    | ^
                      G4---|------R4   | P
                    ^   \  |        \  |
                    P    \ |         \ |
                          G5----------R5
                      ^   |           | ^
                      P   |           | P
                          |           |
                         Gi           Ri
                          \ \__    ^  /|
                           \   \   S1/ | ^
                          ^ \  ^\   /  |P2
                          P1 \ S2\_/__ |
                              \   /   \|
                               PE1     PE2

       P = Primary path
       S = Secondary path

           Figure 1: Two-Plane Network Design

   The topology has two planes, a primary plane and a secondary plane
   that are fully disjoint from each other all the way into the POPs.
   This two-plane design is common in service provider networks as it
   eliminates single point of failures in their core network.  The links
   marked P indicate the normal (primary) path of how the PIM Joins flow
   from the POPs towards the source of the network.  Multicast streams,
   especially for the densely watched channels, typically flow along
   both the planes in the network anyway.

   The only change MoFRR adds to this is on the links marked S where the
   PE routers join a secondary path to their secondary ECMP UMH.  As a
   result of this, each PE router receives two copies of the same
   stream, one from the primary plane and the other from the secondary
   plane.  As a result of normal UMH behavior, the multicast stream
   received over the primary path is accepted and forwarded to the
   downstream receivers.  The copy of the stream received from the
   secondary UMH is discarded.

   When a router detects a routing failure on the path to its primary
   UMH, it will switch to the secondary UMH and accept packets for that
   stream.  If the failure is repaired, the router may switch back.  The
   primary and secondary UMHs have only local context and not end-to-end
   context.

   As one can see, MoFRR achieves the faster convergence by pre-building
   the secondary multicast tree and receiving the traffic on that
   secondary path.  The example discussed above is a simple case where
   there are two ECMP paths from each PE device towards the source, one
   along the primary plane and one along the secondary.  In cases where
   the topology is asymmetric or is a ring, this ECMP nature does not
   hold, and additional rules have to be taken into account to choose
   when and where to join the secondary path.

   MoFRR is appealing in such topologies for the following reasons:

   1.  Ease of deployment and simplicity: the functionality is only
       required on the PE devices, although it may be configured on all
       routers in the topology.  Furthermore, each PE device can be
       enabled separately; there is no need for network-wide
       coordination in order to deploy MoFRR.  Interoperability testing
       is not required as there are no PIM or mLDP protocol changes.

   2.  End-to-end failure detection and recovery: any failure along the
       path from the source to the PE can be detected and repaired with
       the secondary disjoint stream.  (See the second, third, and
       fourth options in Section 5.)

   3.  Capacity efficiency: as illustrated in the previous example, the
       multicast trees corresponding to IPTV channels cover the backbone
       and distribution topology in a very dense manner.  As a
       consequence, the secondary path grafts onto the normal multicast
       trees (i.e., trees signaled by PIM or mLDP without the MoFRR
       extension) at the aggregation level and hence does not demand any
       extra capacity either on the distribution links or in the
       backbone.  The secondary path simply uses the capacity that is
       normally used, without any duplication.  This is different from
       conventional FRR mechanisms that often duplicate the capacity
       requirements when the backup path crosses links/nodes that
       already carry the primary/normal tree, and thus twice as much
       capacity is required.

   4.  Loop-free: the secondary path join is sent on an ECMP disjoint
       path.  By definition, the neighbor receiving this request is
       closer to the source and hence will not cause a loop.

   The topology we just analyzed is very frequent and can be modeled as
   per Figure 2.  The PE has two ECMP disjoint paths to the source.
   Each ECMP path uses a disjoint plane of the network.

                            Source
                            /    \
                        Plane1  Plane2
                           |      |
                           A1    A2
                             \  /
                              PE

       Figure 2: PE is Dual-Homed to Dual-Plane Backbone

   Another frequent topology is described in Figure 3.  PEs are grouped
   by pairs.  In each pair, each PE is connected to a different plane.
   Each PE has one single shortest-path to a source (via its connected
   plane).  There is no ECMP like in Figure 2.  However, there is
   clearly a way to provide MoFRR benefits as each PE can offer a
   disjoint secondary path to the PE in the other plane (via the
   disjoint path).

   The MoFRR secondary neighbor selection process needs to be extended
   in this case as one cannot simply rely on using an ECMP path as
   secondary neighbor.  This extension is referred to as non-ECMP-mode
   MoFRR and is described in Section 3.2.

                            Source
                            /    \
                        Plane1  Plane2
                           |      |
                           A1    A2
                           |      |
                          PE1----PE2

      Figure 3: PEs Are Connected in Pairs to Dual-Plane Backbone

7.  Other Topologies

   As mentioned in Section 6, MoFRR works best in dual-plane topologies.
   If MoFRR is applied to non-dual-plane networks, it's possible that
   the secondary path is affected by the same failure that affected the
   primary path.  In that case, there is no guarantee that the backup
   path will provide an uninterrupted traffic flow of packets without
   loss or duplication.

8.  Capacity Planning for MoFRR

   The previous section has described two very frequent designs (Figures
   2 and 3) which provide maximum MoFRR benefits.

   Designers with topologies different than Figures 2 and 3 can still
   benefit from MoFRR, thanks to the use of capacity planning tools.

   Such tools are able to simulate the ability of each PE to build two
   disjoint branches of the same tree.  This simulation could be for
   hundreds of PEs and hundreds of sources.

   This allows an assessment of the MoFRR protection coverage of a given
   network, for a set of sources.

   If the protection coverage is deemed insufficient, the designer can
   use such a tool to optimize the topology (add links, change IGP
   metrics).

9.  PE Nodes

   Many Service Providers devise their topology such that PEs have
   disjoint paths to the multicast sources.  MoFRR leverages the
   existence of these disjoint paths without any PIM or mLDP protocol
   modification.  Interoperability testing is thus not required.  In
   such topologies, MoFRR only needs to be deployed on the PE devices.
   Each PE device can be enabled one by one.

10.  Other Applications

   While all the examples in this document show the MoFRR applicability
   on PE devices, it is clear that MoFRR could be enabled on aggregation
   or core routers.

   MoFRR can be popular in data center network configurations.  With the
   advent of lower-cost Ethernet and increasing port density in routers,
   there is more meshed connectivity than ever before.  When using a
   three-level access, distribution, and core layers in a data center,
   there is a lot of inexpensive bandwidth connecting the layers.  This
   will lend itself to more opportunities for ECMP paths at multiple
   layers.  This allows for multiple layers of redundancy protecting
   link and node failure at each layer with minimal redundancy cost.

   Redundancy costs are reduced because only one packet is forwarded at
   every link along the primary and secondary data paths so there is no
   duplication of data on any link thereby providing make-before-break
   protection at a very small cost.

   A MoFRR router only accepts packets from the primary path and
   discards packets from the secondary path.  For that reason,
   management applications (like ping and mtrace) will not work when
   verifying the secondary path.

   The MoFRR principle may be applied to MVPNs.

11.  Security Considerations

   There are no security considerations for this design other than what
   is already in the main PIM specification [RFC4601] and mLDP
   specification [RFC6388].

12.  References

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

   [RFC5286]  Atlas, A., Ed., and A. Zinin, Ed., "Basic Specification
              for IP Fast Reroute: Loop-Free Alternates", RFC 5286,
              DOI 10.17487/RFC5286, September 2008,
              <http://www.rfc-editor.org/info/rfc5286>.

12.2.  Informative References

   [RFC4601]  Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
              "Protocol Independent Multicast - Sparse Mode (PIM-SM):
              Protocol Specification (Revised)", RFC 4601,
              DOI 10.17487/RFC4601, August 2006,
              <http://www.rfc-editor.org/info/rfc4601>.

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

   [RFC6571]  Filsfils, C., Ed., Francois, P., Ed., Shand, M., Decraene,
              B., Uttaro, J., Leymann, N., and M. Horneffer, "Loop-Free
              Alternate (LFA) Applicability in Service Provider (SP)
              Networks", RFC 6571, DOI 10.17487/RFC6571, June 2012,
              <http://www.rfc-editor.org/info/rfc6571>.

Acknowledgments

   Thanks to Dave Oran and Alvaro Retana for their review and comments
   on this document.

   The authors would like to especially acknowledge Dino Farinacci, John
   Zwiebel, and Greg Shepherd for the genesis of the MoFRR concept.

Contributors

   Below is a list of the contributors in alphabetical order:

   Dino Farinacci
   Email: farinacci@gmail.com

   Wim Henderickx
   Alcatel-Lucent
   Copernicuslaan 50
   Antwerp  2018
   Belgium
   Email: wim.henderickx@alcatel-lucent.com

   Uwe Joorde
   Deutsche Telekom
   Dahlweg 100
   D-48153 Muenster
   Germany
   Email: Uwe.Joorde@telekom.de

   Nicolai Leymann
   Deutsche Telekom
   Winterfeldtstrasse 21
   Berlin  10781
   Germany
   Email: N.Leymann@telekom.de

   Jeff Tantsura
   Ericsson
   300 Holger Way
   San Jose, CA  95134
   United States
   Email: jeff.tantsura@ericsson.com

Authors' Addresses

   Apoorva Karan
   Cisco Systems, Inc.
   3750 Cisco Way
   San Jose, CA  95134
   United States

   Email: apoorva@cisco.com


   Clarence Filsfils
   Cisco Systems, Inc.
   De kleetlaan 6a
   Diegem  BRABANT 1831
   Belgium

   Email: cfilsfil@cisco.com


   IJsbrand Wijnands (editor)
   Cisco Systems, Inc.
   De Kleetlaan 6a
   Diegem  1831
   Belgium

   Email: ice@cisco.com


   Bruno Decraene
   Orange
   38-40 rue du General Leclerc
   Issy Moulineaux  Cedex 9, 92794
   France

   Email: bruno.decraene@orange.com

ISO Plain Language

On this page
PROBLEMWhen a link or router fails, multicast traffic stops until the routing protocols notice and rebuild the tree, and that can take long enough to be visible to the viewer.
MECHANISMMulticast-only Fast Reroute makes the router that joins a multicast stream join it twice, over two separate paths. It forwards only the copy from the primary path, so no traffic is duplicated, and when the primary fails it simply starts using the copy it was already receiving.
HOW IT WORKSThe RFC is informational and describes a technique rather than a standard. It needs no changes to the multicast protocols themselves, so it can be enabled on one router at a time.

§1Two Paths, One Stream

Different solutions have been developed and deployed to improve service guarantees, both for multicast video traffic and video on demand. Most of them are geared towards finding an alternate path around one or more failed network elements, whether link, node or path failures.

This document describes a mechanism for minimising packet loss when node or link failures occur. Multicast-only Fast Reroute works by making simple changes to the way selected routers use multicast protocols such as PIM and mLDP. No changes to the protocols themselves are required, and in many cases the multicast routing protocols do not have to depend on, or wait on, the unicast routing protocols to detect network failures.

On a merge point, the MoFRR logic determines a primary upstream multicast hop and a secondary one, and joins the tree via both simultaneously. Data packets are received over the primary and the secondary path, but only the packets from the primary hop are accepted and forwarded down the tree; the packets from the secondary hop are discarded. The way the hops are determined differs for PIM and for mLDP. When a failure is detected on the path to the primary hop, the repair happens by changing the secondary hop into the primary and the primary into the secondary. Because the repair is local, it is fast, which greatly improves convergence times when a node or link fails on the path to the primary hop.

The trick is that the second copy is already there before anything breaks. So when the first path dies, the router does not have to find a new one; it just starts using the copy it has been throwing away.

MOFRR AT A MERGE POINT (RFC 7431)
Primary hopMerge pointSecondary hop
  1. Multicast streamPackets arriving on the primary path are accepted and forwarded down the tree.
  2. Multicast streamA second copy arrives on the backup path and is discarded.
  3. Switch overWhen the primary path fails, the backup becomes the primary. Only the merge point has to act.

§3Choosing the Backup Path

The basic idea is for a merge point router to join a multicast tree via two divergent upstream paths, to get as much redundancy as possible. To maximise robustness against any failure, the two paths should be as diverse as possible, and ideally they should not merge again upstream. Sometimes the topology guarantees this; other times extra configuration or techniques are needed.

A merge point should only accept and forward on one of the upstream paths at a time, to avoid forwarding the same packet twice. The choice of primary and secondary hop is made by the MoFRR logic and is normally based on unicast routing, which is how loop-free candidates are found. The secondary hop is a loop-free alternate, in the sense that RFC 5286 gives: an alternate next-hop that can be used to reach the destination without using the protected link or node.

In ECMP-mode, the interior gateway protocol installs two equal-cost paths to the source, and the loop-free alternate is then a primary next-hop. If the multicast tree is enabled for ECMP-mode MoFRR, the router installs those paths as the primary and the secondary hop. Before any failure, only packets received from the primary path are processed and packets from the secondary are dropped. The selected primary hop should be the same as it would be if the extension were not enabled, so that turning MoFRR on does not change normal routing. If more than two equal-cost paths exist, one is chosen as primary and another as secondary, and the choice is a local decision, although information from the link-state topology could be used to make the two paths as divergent as possible so that they do not lead to the same upstream node. MoFRR does not restrict how many paths are joined.

In non-ECMP-mode, a router joins a primary path to its primary hop and a secondary path to its loop-free alternate hop. To prevent control-plane loops, a router must stop joining the secondary hop if that hop is the only member in the outgoing interface list. The reason is a feedback loop between two neighbouring routers: if both have received a request for a multicast tree, they each join the primary path on their own plane and a secondary path to the neighbour, and if their receivers then leave at the same time, the two trees can keep each other alive, because a secondary path join is not distinguishable from a primary join.

The backup path has to be a real alternative, and it has to be chosen so that turning the feature on does not change which path normal traffic uses.

§4How Each Protocol Picks Its Hop

An upstream multicast hop is a candidate next-hop that can be used to reach the root of the tree. It is normally based on unicast routing, which is how loop-free candidates are found. With MoFRR the procedures select a primary and a backup hop, and the procedures differ between the two multicast protocols.

For PIM, the selection of the upstream hop is the reverse path forwarding procedure. Based on a unicast route lookup on either the source address or the rendezvous point, an upstream interface is selected both for sending the joins and prunes and for accepting the multicast packets. The interface on which the packets are received is what is used to pass or fail the reverse path forwarding check, and packets received on an interface that was not selected as the primary are discarded.

For mLDP the selection also depends on unicast routing, but the difference is that acceptance of multicast packets is based on MPLS labels rather than on the interface on which the packet arrived. Following the procedures in the mLDP specification, an upstream label switching router is elected, and that elected router is given a unique local MPLS label for the path. Multicast packets are forwarded only if their MPLS label matches the label allocated for that path's primary upstream router.

Both protocols work out which way is upstream by looking at unicast routes, but they differ in how a packet proves it arrived from the right place: PIM checks the port it came in on, mLDP checks a label on the packet.

§5Noticing That the Primary Path Has Failed

Once the two paths are established, the next step is detecting a failure on the primary path, so that the router knows when to switch to the backup. The RFC describes four possibilities.

The first and simplest is to detect the failure of the local interface, as is done for unicast fast reroute. Detection can use the loss of signal or the loss of probing packets, for example with bidirectional forwarding detection. This option can be combined with the others, and just as for unicast fast reroute a 50 millisecond switchover is possible.

The second option compares the packets received on the primary and secondary streams but forwards only one of them, the first to arrive, whichever interface it came in on. This can give zero packet loss for streams based on the real-time transport protocol.

The third option assumes a minimum known packet rate for a given data stream. If a packet does not arrive on the primary within that time frame, the router assumes the primary path has failed and switches to the secondary. A 50 millisecond switchover may be possible for high-rate streams, for example internet television where standard definition video has a continuous inter-packet gap of about 3 milliseconds, but in general the delay depends on the rate of the multicast stream.

The fourth option leans on the improvements in interior gateway protocol convergence speed. When the primary path to the source is withdrawn by the interior gateway protocol, the router switches to the backup path and the upstream hop becomes the secondary one. Because the secondary path is already in place, and assuming it is disjoint from the primary path, the convergence time does not include the time needed to build a new tree, and is therefore smaller. A sub-second to sub-200 millisecond switchover should be possible.

There are four ways to notice the break, from watching the physical link to waiting for the routing protocol to give up on the path. The quickest depends on how fast the failure shows up locally.

FOUR WAYS TO NOTICE THE FAILURE
OptionHow the failure is noticedSwitchover
Local interface failureLoss of signal, or loss of BFD probes50 msec
First packet winsCompare the packets on both paths and forward the first to arriveZero packet loss for RTP streams
Expected packet rateNo packet on the primary within the expected interval50 msec for high-rate streams; IPTV has about a 3 msec inter-packet gap
IGP withdrawalThe unicast routing protocol withdraws the primary pathSub-second to sub-200 msec

§6Where This Works Best

MoFRR is topology dependent, and its applicability is the same as that of loop-free alternate fast reroute. It works best in dual-plane topologies, where a primary plane and a secondary plane are fully disjoint from each other all the way into the points of presence. This two-plane design is common in service provider networks, because it removes single points of failure in the core. Multicast streams, especially for densely watched channels, typically flow along both planes anyway, and the only change MoFRR adds is on the links where the provider edge routers join a secondary path to their secondary equal-cost hop. Each provider edge router then receives two copies of the same stream, and the copy from the secondary hop is discarded. When a router detects a routing failure on the path to its primary hop it switches to the secondary, and it may switch back if the failure is repaired. The primary and secondary hops have only local context, not end-to-end context.

The RFC gives four reasons why MoFRR is appealing in such topologies. It is easy to deploy and simple, because the functionality is only required on the provider edge devices, each of which can be enabled separately with no network-wide coordination, and interoperability testing is not needed because there are no protocol changes. It gives end-to-end failure detection and recovery, because any failure along the path from the source to the provider edge can be detected and repaired with the secondary disjoint stream. It is capacity efficient, because the secondary path grafts onto the normal multicast trees at the aggregation level and so demands no extra capacity on the distribution links or in the backbone; this differs from conventional fast reroute mechanisms, which often duplicate capacity when the backup path crosses links that already carry the primary tree. And it is loop-free, because the secondary path join is sent on an equal-cost disjoint path, so the neighbour receiving it is closer to the source and cannot cause a loop.

Two further topologies are described. A provider edge router can be dual-homed to a dual-plane backbone with two disjoint equal-cost paths to the source, which is the ECMP case. Or provider edge routers can be connected in pairs, each connected to a different plane, with only one shortest path to the source; here the secondary path is offered to the peer in the other plane, which is the non-ECMP case and needs the extended neighbour selection. Where the network is not dual-plane, the secondary path may be affected by the same failure as the primary, and there is then no guarantee of uninterrupted traffic without loss or duplication. Capacity planning tools can simulate whether each provider edge router can build two disjoint branches of the same tree, for hundreds of routers and hundreds of sources, and the designer can then add links or change metrics to improve the coverage.

This works best in networks built with two separate planes, so that a cut in one leaves the other untouched. It is cheap there, because the spare path uses capacity that is already there.

WHY IT IS ATTRACTIVE IN A DUAL-PLANE NETWORK
  • Easy to deployOnly the edge devices need it, each can be enabled on its own, and no protocol changes mean no interoperability testing.
  • End-to-end recoveryAny failure on the way from the source to the edge can be repaired with the second, disjoint stream.
  • Capacity efficientThe spare path grafts onto the trees that are already there, so no extra capacity is needed.
  • Loop-freeThe backup join goes to a neighbour that is closer to the source, so it cannot create a loop.

§11Security

The RFC states that there are no security considerations for this design other than those already in the main PIM specification and the mLDP specification. That is consistent with the design itself, since MoFRR changes no protocol messages and adds no new signalling.

One operational consequence is worth noting, though it is not a security matter. Because a MoFRR router only accepts packets from the primary path and discards packets from the secondary path, management applications such as ping and mtrace will not work when verifying the secondary path. The principle may also be applied to multicast virtual private networks.

There is nothing new to secure, because nothing new is sent. The only practical oddity is that the tools you would use to test the spare path will not work, since the router throws those packets away.

§7References