Internet DRAFT - draft-thubert-rtgwg-arc-vs-mrt

draft-thubert-rtgwg-arc-vs-mrt







RTGWG                                                    P. Thubert, Ed.
Internet-Draft                                                     Cisco
Intended status: Informational                                 G. Enyedi
Expires: July 26, 2015                                          Ericsson
                                                      S. Ramasubramanian
                                                                      UA
                                                        January 22, 2015


                              ARC vs. MRT
                   draft-thubert-rtgwg-arc-vs-mrt-01

Abstract

   This draft compares the capabilities offered by the Available Routing
   Construct (ARC) and the Maximally Redundant Trees (MRT) techniques in
   order to support applicability statements.

Requirements Language

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

Status of This Memo

   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 http://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 July 26, 2015.

Copyright Notice

   Copyright (c) 2015 IETF Trust and the persons identified as the
   document authors.  All rights reserved.





Thubert, et al.           Expires July 26, 2015                 [Page 1]

Internet-Draft                  ARCvsMRT                    January 2015


   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.  Important Notice  . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   5
   4.  Reference Topology  . . . . . . . . . . . . . . . . . . . . .   5
   5.  Normal Operation  . . . . . . . . . . . . . . . . . . . . . .   6
   6.  One breakage  . . . . . . . . . . . . . . . . . . . . . . . .   7
   7.  Second breakage . . . . . . . . . . . . . . . . . . . . . . .   9
   8.  Summary of differences  . . . . . . . . . . . . . . . . . . .  10
     8.1.  Differences between ARCs and MRT  . . . . . . . . . . . .  11
     8.2.  Similarities between ARC and MRT  . . . . . . . . . . . .  14
   9.  ARC specific properties . . . . . . . . . . . . . . . . . . .  14
     9.1.  Multiple related breakages  . . . . . . . . . . . . . . .  14
     9.2.  Multiple Destination and Load Balancing . . . . . . . . .  15
     9.3.  Hierarchical Routing  . . . . . . . . . . . . . . . . . .  16
     9.4.  Recovery from Node Failures . . . . . . . . . . . . . . .  17
     9.5.  Applied to bicasting (livelive) . . . . . . . . . . . . .  17
   10. Manageability . . . . . . . . . . . . . . . . . . . . . . . .  17
   11. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  17
   12. Security Considerations . . . . . . . . . . . . . . . . . . .  17
   13. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  18
   14. References  . . . . . . . . . . . . . . . . . . . . . . . . .  18
     14.1.  Normative References . . . . . . . . . . . . . . . . . .  18
     14.2.  Informative References . . . . . . . . . . . . . . . . .  18
     14.3.  References . . . . . . . . . . . . . . . . . . . . . . .  19
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  19

1.  Important Notice

   This document compares MRT and ARCs based on
   [I-D.enyedi-rtgwg-mrt-frr-algorithm],
   [I-D.ietf-rtgwg-mrt-frr-architecture] , [I-D.thubert-rtgwg-arc] and
   [I-D.thubert-rtgwg-arc-bicast] as they were on 10/12/2012.  Both
   solutions may have changed or may change in the future, which would
   make this document somewhat outdated.





Thubert, et al.           Expires July 26, 2015                 [Page 2]

Internet-Draft                  ARCvsMRT                    January 2015


2.  Introduction

   Traditional routing and forwarding uses the concept of path as the
   basic routing paradigm to get a packet from a source to a
   destination.  A path is represented as an ordered sequence of nodes.
   This paradigm is greedy in that it requires that the next node
   represent a progress towards the destination.  Greediness is
   maximized by Shortest Path First (SPF) techniques which optimize for
   a cost that relates to the amount of forwarding effort and latency,
   at the expense of network capacity and reliability.  In particular, a
   path is broken as soon as a single link or a single node fails, and
   getting around a breakage can require path recomputation, network
   reconvergence, and incur delays and/or microloops till service is
   restored.

   Maximally Redundant Trees [I-D.ietf-rtgwg-mrt-frr-architecture]
   [I-D.enyedi-rtgwg-mrt-frr-algorithm] (MRT), on the other hand, favors
   reliability over shorter path.  MRT provides two spanning trees
   rooted at a destination, referred to as red and blue trees.  The
   trees have the property that the red and blue paths from any node to
   the destination (root of the tree) are maximally-disjoint.  The red
   and blue paths may not be the shortest path.  Thus, a node may employ
   shortest path tree for forwarding under normal circumstances.  Thus,
   every node may have up to three FIB entries for a destination, one
   for red tree, one for blue tree, and a third for the shortest path
   tree.  Under normal circumstances, the idea is to forward the packets
   along the shortest path until the packet encounters a failure.  If
   the failed link is red (blue), then the packet is forwarded along the
   blue (red) path.  Once a packet is rerouted along the red or blue
   tree, it continues to be forwarded along the chosen tree until it
   reaches the destination.  If the packet encounters another failure,
   then it is dropped.  Thus, MRT is guaranteed to recovery from only
   only failure.

   The maximally redundant trees are constructed using a technique
   called path augmentation.  The approach works as follows: (1) For a
   given destination node, a cycle traversing the node and two other
   nodes are computed. (2) One direction of the cycle is termed as red,
   while the other direction is termed as blue.  (3) A cycle or path is
   computed that starts and ends at a node that has been already added
   to the trees.  On this cycle/path, one direction is treated as red
   and the other direction is treated as blue.  The direction of the red
   and blue trees is computed based on a partial order, which ensures
   that the red and blue assignments would result in disjoint paths
   along the red and blue trees.  The last step is repeated until all
   the nodes in the network are considered.  For a more detailed
   description of the construction, refer to
   [Jayavelu.2009.Maintaining].



Thubert, et al.           Expires July 26, 2015                 [Page 3]

Internet-Draft                  ARCvsMRT                    January 2015


   MRT constructs trees that are maximally-disjoint.  Thus, if the
   network provided two node-disjoint paths between a node and
   destination, MRT would provide node-disjoint paths as well.  If the
   network does not provide node-disjoint paths, but provides link-
   disjoint paths between a node and destination, then MRT would provide
   link-disjoint paths as well.

   Available Routing Construct [I-D.thubert-rtgwg-arc] (ARC) defines a
   routing construct made of a bidirectional sequence of nodes and links
   with 2 outgoing edges, so that, upon a single breakage, each lively
   node in along ARC can still reach one of the outgoing edges.  The bi-
   directional sequence of nodes and links are similar to the paths/
   cycles used in the path augmentation technique in constructing MRT.
   The routing graph to reach a certain destination is expressed as a
   cascade of ARCs, each ARC providing its own independent domain of
   fault isolation and recovery.  Unicast traffic may enter an ARC via
   any node but it may only leave the ARC through one of its two edges.
   One node along the ARC is designated as the cursor.  In normal
   unicast operations, the traffic inside an ARC flows away from the
   cursor towards an edge.  Upon a failure, packets may bounce on the
   breakage point and flow the other way along the ARC to take the other
   exit.  [I-D.thubert-rtgwg-arc] calculates ARCs within the shortest
   path computation, and both sides of an ARC as delineated by the
   cursor actually represent the shortest path to the destination.

   Applying Available Routing Constructs to bicasting
   [I-D.thubert-rtgwg-arc-bicast] provides additional information on how
   an ARC fabric can be used for bicasting applications such as
   livelive.  In this class of applications, at least two disjoint paths
   must be established between a source and a point of consumption.
   Ideally, the source is diverse, for instance a distributed Content
   Delivery Network (CDN), but it does not have to be that way.  An ARC
   fabric can be set up for an Omega that is a multiple destination in
   the exact same fashion as if Omega is a unique node.
   [I-D.thubert-rtgwg-arc-bicast] then shows how an ARC set can be
   painted in two colors, an half of each ARC with one color and the
   secong half of the other color in such a fashion that in most cases,
   an edge of a certain color ends in the half of the next ARC that is
   of the same color.  A colored packet has the constraint to exit each
   ARC along its path via the edge of its own color.  If the edge and
   the next half ARC are of the same color, the packet follows the
   shortest path towards Omega.  It results that ARC biscasting
   agressively pursues the goal that both colored paths are close to
   shortest even though disjoint.  The quality of that closeness depends
   on the way the ARC set was painted, which itself depends, in the
   bicasting algorithm, on the starting points in Omega.  A centralized
   computation can probably improve the result that the simple technique
   in [I-D.thubert-rtgwg-arc-bicast] obtains.



Thubert, et al.           Expires July 26, 2015                 [Page 4]

Internet-Draft                  ARCvsMRT                    January 2015


   This drafts compares the properties of the ARC an MRT techniques in a
   number of example situations that are crafted to highlight their
   particular behaviors with an educational purpose in mind, as opposed
   to represent the most classical real-world cases.  It must be noted
   that though the draft focuses on differences, ARCs and MRT have a lot
   in common, in particular both provide maximally redundant solutions,
   and represent roughly the same amount of labels and states in the
   packets.

3.  Terminology

   The draft uses terminology from [I-D.enyedi-rtgwg-mrt-frr-algorithm]
   and [I-D.thubert-rtgwg-arc].

4.  Reference Topology

   This draft uses a simple reference topology, made of eight nodes A to
   H and ten links with costs of either 1 or 2 as represented below:


       A--- 2 ---E       A         E
       |         |       v
       1         1       v
       |         |       v
       B--- 1 ---F       B >>>>>>> F
       |         |       v         v
       1         1       v         v
       |         |       v         v
       C--- 1 ---G       C >>>>>>> G
       |         |                 v
       1         1                 v
       |         |                 v
       D--- 1 ---H       D         H

        Topology          SPF A to H


                       Figure 1: Reference Topology

   In the following examples we will be interested in traffic flowing
   from A to H.  The shortest path for that flow is via B, then through
   an equal cost multipath via F or C, and then G to finally reach H.

   The oLAF algorithm forms three ARCs and MRT forms two trees:







Thubert, et al.           Expires July 26, 2015                 [Page 5]

Internet-Draft                  ARCvsMRT                    January 2015


       A=========E       5 ------> 4       A <rrrrrr E      A bbbbbb> E
       |         |       ^         |       r                          b
       |         |       |         |       r                          b
       |         |       |         V       v                          v
       B=========F       6 ------> 3       B <rrrrrr F      B bbbbbb> F
       |         |       ^         |       r                          b
       |         |       |         |       r                          b
       |         |       |         V       v                          v
       C=========G       7 ------> 2       C <rrrrrr G      C bbbbbb> G
       ||        |       ^         |       r                ^         b
       ||        |       |         |       r                b         b
       ||        |       |         V       v                b         v
       D---------H       8 <------ 1       D rrrrrr> H      D         H
                           MRT               MRT              MRT
       ARC set          GADAG graph         Red Tree         BLUE Tree


                      Figure 2: ARC set and MRT Trees

   Bidirectional links along the ARCs are represented as doubled lines.
   The cursors end up on A, B and C for their respective ARCs.

5.  Normal Operation

   In normal operations MRT trees are not used so the MRT case is
   identical to the SPF case.  For ARCs, the cursors A B and C may send
   traffic on either side but favor shortest.  For A that means sending
   to B and for C sending to G.  B sees an equal cost so it may
   distribute its traffic.






















Thubert, et al.           Expires July 26, 2015                 [Page 6]

Internet-Draft                  ARCvsMRT                    January 2015


       A         E       A         E       A         E
       v                 v                 v
       v                 v                 v
       v                 v                 v
       B >>>>>>> F       B >>>>>>> F       B >>>>>>> F
       v         v       v         v       v         v
       v         v       v         v       v         v
       v         v       v         v       v         v
       C >>>>>>> G       C >>>>>>> G       C >>>>>>> G
                 v                 v                 v
                 v                 v                 v
                 v                 v                 v
       D         H       D         H       D         H

          ARC               SPF               MRT


                        Figure 3: Normal Operation

   All in all, the three approaches end up with an identical result.

6.  One breakage

   Upon a first breakage, SPF cannot make a greedy progress so a packet
   that follows the broken path is dropped.  MRT converts to the packet
   to blue or red, and then packet is placed in the associated tree till
   the destination.  Because blue and red have to be non-congruent to
   the end, the detour that MRT generates tends to route the packet away
   from shortest path.  ARCs returns the packet along the current ARC so
   it exits on the other edge.  As soon as the cursor in the current ARC
   is passed, the packet is again on shortest path.




















Thubert, et al.           Expires July 26, 2015                 [Page 7]

Internet-Draft                  ARCvsMRT                    January 2015


       A         E       A         E       A         E
       v                 v                 v
       v                 v                 v
       v                 v                 v
       B >>>>>>> F       B >>>>>>> F       B >>>>>>> F
       v <<<<<<< v                 v       r <rrrrrr v
       v         \/                \/      r         \/
       v         /\                /\      v         /\
       C >>>>>>> G       C         G       C         G
                 v                         r
                 v                         r
                 v                         v
       D         H       D         H       D rrrrrr> H

          ARC                SPF               MRT


                   Figure 4: ARC closer to shortest path

   Both MRT and ARCs enable fast reroute.  MRT will generally incur a
   larger detour.  In the example above, the ARC path after B is
   shortest, whereas the red path selected by MRT is not.

   Because the blue and red paths of MRT are link-disjoint from any node
   to the destination, the recovery path does not visit a broken link
   again.  ARCs achieve a shorter path by being more greedy.  It results
   that in some situations, a broken node might be visited twice, once
   from the above, that is from an incoming ARC, and then from the side,
   that is from inside its own ARC.  This is illustrated below though it
   would take an intermediate node between C and broken G to actually
   create the undesired bouncing that is discussed here.




















Thubert, et al.           Expires July 26, 2015                 [Page 8]

Internet-Draft                  ARCvsMRT                    January 2015


       A         E       A         E       A         E
       v                 v                 v
       v                 v                 v
       v                 v                 v
       B >>>>>>> F       B >>>>>>> F       B >>>>>>> F
       v <<<<<<< v                 v       r <rrrrrr v
       v         v                 v       r         v
       v         v                 v       v         v
       C >>>>>>> \/       C        \/      C         \/
       v <<<<<<< /\                /\      r         /\
       v                                   r
       v                                   v
       D >>>>>>> H       D         H       D rrrrrr> H

          ARC               SPF               MRT


                  Figure 5: ARCs may revisit broken node

   Note: In the particular case where a broken node is visited twice,
   the end to end path that ARC uses may still be shorter than the blue
   or red path that MRT computes, though it is not the case in the
   particular example above.

   MRT recovers from node failure similar to that of link failure.  Note
   that the paths provided by MRT are maximally disjoint.  Thus at a
   node, if a link is unavailable (whether due to a link failure or node
   failure), the recovery path is taken.  As the paths are maximally
   disjoint, MRT guarantees that a failed node would never be visited
   again.

7.  Second breakage

   Upon a first breakage, SPF cannot make a greedy progress so a packet
   that follows the broken path is dropped.  Upon a first breakage, MRT
   selects either blue or red.  If that selected path is broken down the
   road, the packet is dropped.  In the data plane, ARCs protect against
   one breakage per ARC.  Once a packet leaves an ARC to cascade in the
   next, stigmata from a previous breakage are removed.  So a break on
   the next ARC can be resolved as well.











Thubert, et al.           Expires July 26, 2015                 [Page 9]

Internet-Draft                  ARCvsMRT                    January 2015


       A >>>>>>> E       A         E       A bbbbbb> E
       v         v       v                 v         b
      \/         v      \/                \/         b
      /\         v      /\                /\         v
       B <<<<<<< F       B         F       B         F
       v         v                                   v
       v         \/                                  \/
       v         /\                                  /\
       C >>>>>>> G       C         G       C         G
                 v
                 v
                 v
       D         H       D         H       D         H

          ARC                SPF               MRT


                Figure 6: Each ARC its own recovery domain

   It can be noted that if C to G,G or G to H is broken, ARCs will find
   the C, D, H path and thus fix a third breakage as well.

8.  Summary of differences

   In sumary:


























Thubert, et al.           Expires July 26, 2015                [Page 10]

Internet-Draft                  ARCvsMRT                    January 2015


         MRT                                          ARC

1. Limited complexity -                 Complexity inherited from SPF
   can be even O(e)

2. Detour,                              Short detour then Shortest Path
   unrelated to Shortest Path           again

3. Smaller chance to avoid unrelated    Higher chance to avoid unrelated
   failures                             failures
                                        => may address SRLG cases

4. Single failure: reroute at most      Single failure may incur double
   once                                 reroute

5. Load balancing with traditional      Non-equal Cost Load Balancing
   ECMP                                 capabilities

6. Unrelated "topologies" exists        Detours are strongly bound to
   -> reconfiguration after the         default paths
      failure is simple                 => reconfiguration techniques
                                        are difficult

7. Non-Congruent bicasting is not       Shorter Path bicasting with
   addressed                            collision avoidance

8. Source-centric computation           Destination-centric computation
   -> easier to distribute              => enables complex destinations
                                        (multiple equivalent ARC set
                                        terminations


                       Figure 7: Comparison summary

8.1.  Differences between ARCs and MRT

   In this section, we elaborate on the differences listed above.

   1.

   ARC is a destination based technology, i.e. it compute a set of ARCs
   to all the destinations in the network.  Constructing one such set
   needs several shortest path computations.  This may cause a minor
   problem: since detours and default paths are bound, computing the new
   default paths after a failure may be delayed due to this slower
   computation.





Thubert, et al.           Expires July 26, 2015                [Page 11]

Internet-Draft                  ARCvsMRT                    January 2015


   In contrast, MRT used the traditional shortest paths in a failure-
   free state, thus detours can be computed separately, when all the
   shortest paths are up and running.  Moreover, although MRT offers
   multiple ways to construct detours (keep in mind that MRT is only for
   detours, default paths are computed with SPF), even the slowest one
   is as fast as computing one set of ARCs for a single destination; the
   fastest algorithm takes only O(e) time, so it is linear with the
   number of links in the network.

   2.

   In MRT, the paths from any node to the destination on the red and
   blue trees are link-disjoint, while in ARC, it is not.  Thus, in MRT,
   neither the red nor the blue tree is guaranteed to provide shortest
   path for a node.  However, in ARC, packet is forwarded along the
   shortest path after a short detour.  Naturally, when there is no
   failure, both algorithms use the shortest paths, thus this difference
   can only be observed after a failure.

   3.

   MRT uses separated default paths and detours.  As a consequence, one
   needs to have three FIB entries one for shortest path forwarding
   (default), one for red tree forwarding, and one for blue tree
   forwarding.  When a failure happens, MRT puts the packet onto a
   detour, which is not removed until it reaches the destination (egress
   router, area border router, etc..).  Thus, packet is bound to either
   the red path, or the blue path.  When the packet encounters a second
   failure, the packet is dropped.

   Although the MRT draft [I-D.ietf-rtgwg-mrt-frr-architecture] does not
   discuss about recovering from multiple failures, the MRT framework
   allows the network to recover from multiple link failures, as long as
   no more than one failure is seen on a path/cycle that's used for
   augmentation.  Thus, when a packet is forwarded from one path/cycle
   to another, the packet can handle one more link failure.  This
   technique has been shown in [Erlebach.2009.Path-Splicing].

   In contrast, ARC partitions the network in delimited protection
   areas, i.e. it puts packets back to shortest path when they leave the
   current ARC.  Putting packets back to the shortest path as soon as
   they leave the ARC makes it possible to reroute again at another
   failure.  Moreover, theoretically ARC needs only two labels/addresses
   per destination, one describing the shortest path, and the other
   describing the other direction in the ARC.  However, this approach
   would result loops, if there are more than one failure in the same
   ARC, thus current version of ARC use at least three labels/addresses
   per destination.



Thubert, et al.           Expires July 26, 2015                [Page 12]

Internet-Draft                  ARCvsMRT                    January 2015


   ARC can protect against multiple link failures as long as the only
   one link failure occurs on an ARC.

   Since there is always a reconfiguration after a failure, and FRR is
   in charge only for a short amount of time while this reconfiguration
   takes place, one may think that preparing for more than one failure
   is not important.  However, there are the "Shared Risk Link Groups"
   (SRLG), groups of links sharing the same fate due to some hidden
   common property (e.g. they are using the same optical cable), which
   may cause multiple failures at the same time.  Even if both MRT and
   ARC can deal with the most common types of SRLGs (failure of links of
   the same linecard, and the failure of some ethernet network under the
   level of IP; namely the "LAN failure"), it is better to protect as
   many resources as possible.

   4.

   For the price of having only one reroute, MRT can guarantee that the
   same failure will never be visited again.  In contrast, since the
   same node can be an exit point for multiple ARCs, and since ARC puts
   packets back to shortest path after a failure, it is possible that a
   single failed node will be visited multiple times.  It is very
   important that ARCs will properly handle this case with multiple
   rerouting, so sooner or later the destination will be reached.
   Moreover, the probability of such situation seems to be low.

   5.

   ARC can provide load balancing for the traffic with the "cursor
   node", since ARC gives not only a backup, but a new way for default
   routing as well.  In contrast, since MRT only provide the detours,
   load balancing is not in the focus of MRT, but it is done with
   traditional ECMP.  However, it is possible that a node have multiple
   blue or red next-hops with MRT, and in this case load balancing is
   possible even for packets on detours.

   6.

   IPFRR techniques are for designed for protection, i.e. they are used
   immediately after a failure happens.  Typically after a failure,
   traditional routing protocols like OSPF reexplore the topology and
   reconfigure the forwarding entries based on the new topology.
   Packets start using the new shortest paths, and the network prepares
   to protect against a new failure.  Normally, the reconfiguration
   after a failure may cause transient forwarding anomalies like micro-
   loops, but these are not acceptable for IPFRR.





Thubert, et al.           Expires July 26, 2015                [Page 13]

Internet-Draft                  ARCvsMRT                    January 2015


   Thus, several loop-preventing techniques were proposed in [RFC5715].
   Since MRT provides two independent routing, i.e.  the default
   shortest paths and the detours, it can use even Farside tunnels,
   which does not need protocol extension (basically, MRT can use one
   routing, while it reconfigures the other).  Although, ARC is capable
   for loopfree convergence with centralized loop routing, it is not
   clear, which technique ARC could use in a distributed environment.

   7.

   Since MRT is an FRR technique, bicasting is out of its scope.
   However, bicasting is theoretically possible, if we use the blue and
   the red next-hops; naturally, these paths will be node- and link-
   disjoint.  In contrast, ARC was designed for not only FRR but
   bicasting, even if it cannot automatically provide disjoint paths.
   The advantage is that those paths can be shorter.  For further
   details consult [I-D.thubert-rtgwg-arc].

8.2.  Similarities between ARC and MRT

   MRT uses a helper graph called GADAG, and detour computation is based
   on that graph.  This helper graph is basically a set of ARCs with
   some extra direction information for the GADAG root as a destination.
   Thanks to this common point, computation algorithm and detours are
   very similar.

9.  ARC specific properties

   ARC is not only for FRR, but a complex forwarding technique, which
   can help in load balancing and speed up reconfiguration.  Since MRT
   is an only for IPFRR, it cannot change routing in any way in a
   failure-free state, and the following properties do not exist.

   However, it is important to note that for the advantages below we
   need to introduce the "cursor" node.  Using the concept of a cursor
   needs some protocol extension, and it replaces traditional shortest
   path routing in some sense.

9.1.  Multiple related breakages

   In control plane, ARCs can find an exit if one exists and in
   principle, can be used to solve the Shared Risk Link Group (SRLG)
   problem.  An ARC set is a Directed Acyclic Graph of ARCs, thus link
   reversal techniques can be applied to recover from complex breakages.
   Upon a second breakage in a same ARC, a segment is isolated.  In
   control plane, it is possible to return all the incoming links in
   that segment.  This may recurse if incoming ARCs become isolated as
   well.  If the process recurses, a link may be returned a number of



Thubert, et al.           Expires July 26, 2015                [Page 14]

Internet-Draft                  ARCvsMRT                    January 2015


   times and this must be stopped by some infinity count.  Once the
   local recovery settles, the exit path stands out.


       A         E       A         E       A >>>>>>> E
       v                 ^                           v
       v                 |                           v
       v                 |                           v
       B >>\/    F       B   \/    F       B   \/    F
       v   /\                /\                /\    v
       \/                \/                \/        v
       /\                /\                /\        v
       C         G       C         G       C         G
                                                     v
                                                     v
                                                     v
       D         H       D         H       D         H

        Double            Control plane    Exit path
        breakage          Link reversal    stands out


                            Figure 8: SRLG case

   This example illustrates that the ARC segment around B is no more
   isolated by returning the A -> B edge into a B-> A link.

   Recovery from multiple failures may also be performed using a variant
   of redundant trees, called independent directed acyclic graphs, which
   aims to utilize all the links in the network
   [Cho.2012.Independent-DAG].  With this approach, every node has one
   or more forwarding edges in the red/blue trees.  Upon failure of all
   the red forwarding edges, the packet is transferred to the blue tree.

9.2.  Multiple Destination and Load Balancing

   The MRT and ARC techniques may be used for routing to redundant
   destination nodes.  Given two nodes R1 and R2, MRT can construct two
   trees, tree T1 rooted at R1 and tree T2 rooted at R2.  The path from
   any node to R1 on T1 and to R2 on T2 are still maximally-disjoint
   [Jayavelu.2009.Maintaining].  Similarly, the oLAF algorithm used for
   constructing ARCs is destination-oriented, in that it forms ARCs from
   the standpoint of the destination.  This makes ARCs more complex to
   compute in a distributed fashion, but on the other hand enables to
   group a set of nodes.

   One example of employing multiple destinations is to employ multiple
   border routers between one area and another.  Thus, the routing in



Thubert, et al.           Expires July 26, 2015                [Page 15]

Internet-Draft                  ARCvsMRT                    January 2015


   one area may exit to the other area through one of the border
   routers.

   With multiple destinations, it is possible not only to allow high
   availability but also to dynamically load balance between the member
   nodes.  In an ARC, the node that has the logical responsibility of
   cursor is the only node that may send packets towards both edges in
   normal conditions.  It is possible to create a control loop between a
   congestion point on one side and the cursor, in order to balance more
   traffic towards the other edge.  If the cursor sends all its traffic
   towards the other edge, then the cursor responsibility may be
   transferred to the next node towards the congested edge to balance
   more traffic.  If both edges are congested, then the congestion
   indication can be recursively injected in incoming ARCs.

   An ARC based control loop does not need to involve metric changes or
   other routing advertisements, so it can be kept separate from the
   routing protocol.  A simple control loop protocol can be used, that
   can be kept from oscillating with appropriate periods and adaptive
   filters.


       A<==cur==>E       A<==cur==>E       A<==cur==>E
       |         |       |         |       |         |
       |         |       |         |       |         |
       v         v       v         v       v         v
       B<==cur==>F       B<==cur==>F       B<==cur   F
       |         |       |         |       |         |
       |         |       |         |       |       con
       v         v       v         v       v       gest
       C<==cur==>G       C<==cur   G       C<=======cur
       |         |       |         |       |         |
       |         |       |       con       |       con
       v         v       v       gest      v       gest
       D  OMEGA  H       D  OMEGA  H       D  OMEGA  H

       Destination is    control loop      recursing
       both A and H      to cursor         control loop


             Figure 9: Complex Destination and Load Balancing

9.3.  Hierarchical Routing

   In a hierarchical network, routing happens within cells and then
   between cells.  The collection of border routers between this cell
   and the next cell forms a complex destination for which an ARC set
   can be formed within this cell.  This can be done as soon as the



Thubert, et al.           Expires July 26, 2015                [Page 16]

Internet-Draft                  ARCvsMRT                    January 2015


   cells are formed, before any end-to-end route between cell is
   computed and whatever the routing protocol between cells is.  This
   model applies in particular for such cells as areas, autonomous
   systems and optical rings.

9.4.  Recovery from Node Failures

   ARCS may be used to achieve fast recovery from node failures as well.
   The construction of ARC is similar to the construction of backup
   forwarding arcs forwarding arcs, as discussed in
   [Xi.2007.Fast-Reroute].  The placement of cursors may still be
   performed once the backup paths (forwarding edges) are computed after
   failing each node.

9.5.  Applied to bicasting (livelive)

   MRT is not designed to compute an operational path but rather an
   alternate fast reroute solution that avoids any potential single
   breakage in the operational path that is computed otherwise, e.g.
   using the Shortest Path First algorithm.  On the other hand, An ARC
   fabric joins together branches of a shortest path trees, so that most
   of the way along an ARC Set is shortest.  Coloring the ARC Set for
   live live forces a colored packet to exit an ARC at an edge that is
   not always the shortest, but often is.  It results that by design,
   both colored path are close to shortest, making ARCs a potential
   solution for livelive.  Additionally, the support of an Omega that is
   formed of multiple destinations is a valuable asset for some
   applications such as video distribution.  An ARC Set can be designed
   so that the lowest ARCs are between CDNs.  It results that with a
   single ARC Set, all nodes in the network would have a pair of path
   that enable distribution from a relatively close CDN.

10.  Manageability

   This specification describes a generic model.  Protocols and
   management will come later

11.  IANA Considerations

   This specification does not require IANA action.

12.  Security Considerations

   This specification is not found to introduce new security threat.







Thubert, et al.           Expires July 26, 2015                [Page 17]

Internet-Draft                  ARCvsMRT                    January 2015


13.  Acknowledgements

   The authors wishes to thank Alia Atlas, Patrice Bellagamba, Stewart
   Bryant, Robert Kebler, and Andras Csaszar for their participation to
   this particular work, and Dirk Anteunis, IJsbrand Wijnands, George
   Swallow, Eric Osborne, Clarence Filsfils and Eric Levy-Abegnoli for
   their continuous support to components of the work presented here.

14.  References

14.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC5715]  Shand, M. and S. Bryant, "A Framework for Loop-Free
              Convergence", RFC 5715, January 2010.

14.2.  Informative References

   [I-D.enyedi-rtgwg-mrt-frr-algorithm]
              Envedi, G., Csaszar, A., Atlas, A., cbowers@juniper.net,
              c., and A. Gopalan, "Algorithms for computing Maximally
              Redundant Trees for IP/LDP Fast- Reroute", draft-enyedi-
              rtgwg-mrt-frr-algorithm-04 (work in progress), October
              2013.

   [I-D.ietf-rtgwg-mrt-frr-architecture]
              Atlas, A., Kebler, R., Bowers, C., Envedi, G., Csaszar,
              A., Tantsura, J., and R. White, "An Architecture for IP/
              LDP Fast-Reroute Using Maximally Redundant Trees", draft-
              ietf-rtgwg-mrt-frr-architecture-05 (work in progress),
              January 2015.

   [I-D.thubert-rtgwg-arc]
              Thubert, P. and P. Bellagamba, "Available Routing
              Constructs", draft-thubert-rtgwg-arc-02 (work in
              progress), July 2014.

   [I-D.thubert-rtgwg-arc-bicast]
              Thubert, P. and I. Wijnands, "Applying Available Routing
              Constructs to bicasting", draft-thubert-rtgwg-arc-
              bicast-01 (work in progress), October 2013.

   [RFC5921]  Bocci, M., Bryant, S., Frost, D., Levrau, L., and L.
              Berger, "A Framework for MPLS in Transport Networks", RFC
              5921, July 2010.




Thubert, et al.           Expires July 26, 2015                [Page 18]

Internet-Draft                  ARCvsMRT                    January 2015


14.3.  References

   [Cho.2012.Independent-DAG]
              Cho, S., Elhourani, T., and S. Ramasubramanian,
              "Independent Directed Acyclic Graphs for Resilient
              Multipath Routing", IEEE/ACM Transactions on Networking,
              vol. 20, no. 1 , February 2012,
              <http://dx.doi.org/10.1109/TNET.2011.2161329>.

   [Erlebach.2009.Path-Splicing]
              Erlebach, T. and A. Mereu, "Path splicing with guaranteed
              fault tolerance", Proceedings of IEEE GLOBECOM , November-
              December 2009,
              <http://dx.doi.org/10.1109/INFCOM.2005.1498553>.

   [Jayavelu.2009.Maintaining]
              Jayavelu, G., Ramasubramanian, S., and O. Younis,
              "Maintaining colored trees for disjoint multipath routing
              under node failures", IEEE/ACM Transactions on Networking,
              vol. 17, no. 1 , February 2009,
              <http://dx.doi.org/10.1109/TNET.2008.919323>.

   [Xi.2007.Fast-Reroute]
              Xi, K. and H. Chao, "IP fast rerouting for single-link/
              node failure recovery", Proceedings of IEEE BROADNETS ,
              September 2007, <http://eeweb.poly.edu/~chao/docs/public/
              ipfrr_single1.pdf>.

Authors' Addresses

   Pascal Thubert (editor)
   Cisco Systems, Inc
   Building D
   45 Allee des Ormes - BP1200
   MOUGINS - Sophia Antipolis  06254
   FRANCE

   Phone: +33 497 23 26 34
   Email: pthubert@cisco.com


   Gabor Sandor Enyedi
   Ericsson








Thubert, et al.           Expires July 26, 2015                [Page 19]

Internet-Draft                  ARCvsMRT                    January 2015


   Srinivasan Ramasubramanian
   University of Arizona
   1230 E. Speedway Blvd.
   Tucson, AZ  85721
   USA

   Phone: +1 520 621 4521
   Email: srini@ece.arizona.edu











































Thubert, et al.           Expires July 26, 2015                [Page 20]