An Architecture for IP/LDP Fast Reroute Using Maximally Redundant Trees (MRT-FRR)
Extracted elements (29)
For LDP traffic, IP tunneling is avoided in favor of MRT LDP labels because tunneling LDP traffic to a remote node requires targeted LDP sessions so the PLR can learn remote FEC-label bindings. The MRT LDP label options forward LDP traffic along MRT paths to the destination FEC without any targeted LDP sessions.
MRT-FRR guarantees 100% coverage for single link or node failure in any connected topology because real networks constantly change topology due to maintenance, failures, and additions, causing coverage-sensitive methods like LFA to silently lose coverage. Complete coverage is also required when Ordered FIB or Nearside Tunneling micro-loop prevention is deployed, as those mechanisms require all destinations to have alternates.
The Rainbow-FEC was introduced to reuse existing per-neighbor FEC-filtering machinery already present in most LDP implementations, avoiding the need for per-neighbor label-spoofing (which most implementations lack). ABRs use the Rainbow-FEC to enforce that traffic from non-best-area neighbors always enters the default shortest-path forwarding topology.
Traffic on MRT-Red or MRT-Blue is required to exit the MRT forwarding topology and return to shortest-path forwarding when leaving an IGP area/level, for three reasons: the packet takes the shortest path to its destination, a single ABR/LBR failure can be independently repaired in each area, and the packet can be fast-rerouted again if a second distinct failure occurs in a different area.
IS-IS inter-area MRT behavior differs from OSPF because an IS-IS interface can belong to both Level-1 and Level-2 simultaneously, while an OSPF interface belongs to only one area. The explicit IS-IS inter-level forwarding behavior is described separately in Appendix A.
MRT-FRR does not support OSPF Virtual Links. Deployment scenarios using multi-topology OSPF or IS-IS, or running both IS-IS and OSPF on the same routers, are out of scope for this specification.
MRT LDP Label Options 1A and 1B can coexist in the same network, with a packet forwarded using Option 1A for some hops and Option 1B for others along a single MRT path. However, all routers in an MRT Island must support at least one common forwarding mechanism to ensure consistent MRT forwarding paths can be established.
A bidirectional link MUST be excluded from an MRT Island if either forward or reverse cost is 0xFFFFFE (IS-IS) or 0xFFFF (OSPF). A router MUST be excluded if it has the IS-IS overload bit set, all OSPF outgoing metrics are 0xFFFF, or its Router LSA has the V6-bit or R-bit not set.
A link with either interface advertised as MRT-Ineligible MUST be excluded from an MRT Island. An interface advertised as MRT-Ineligible is ineligible with respect to all profiles advertised by that router.
A router supporting MRT LDP Label Option 1A MUST be able to receive and correctly interpret the Rainbow-FEC. If a FEC is advertised from outside the MRT Island under Option 1A, routers learning that FEC MUST advertise labels for (MRT-Red, FEC) and (MRT-Blue, FEC) to neighbors inside the MRT Island, and MUST compute and install transit MRT-Blue and MRT-Red next hops.
A valid GADAG Root Selection Policy MUST ensure each router in the MRT Island chooses the same GADAG root from information available to all routers. For the Default MRT Profile, among routers with the lowest GADAG Root Selection Priority value, the router with the highest Router ID MUST be chosen as GADAG root.
All routers in an MRT Island MUST be connected by bidirectional links with other routers in the MRT Island. Disconnected MRT Islands will operate independently of one another.
FEC-label bindings for the default shortest-path-based MT-ID 0 MUST still be sent even when Rainbow FEC-label bindings are used, to ensure continuous operation of normal LDP forwarding.
For greatest hardware compatibility, routers implementing MRT fast reroute of LDP traffic MUST support Option 1A of encoding the MT-ID in labels.
If a router advertises support for multiple MRT profiles, it MUST create the transit forwarding topologies for each of those profiles, unless the profile specifies None for the MRT Forwarding Mechanism.
If a router supports a profile that includes MRT LDP Label Option 1A for MRT transit forwarding, it MUST support Option 1A (topology-scoped FECs using a single label). The router MAY also support Option 1B.
Named proxy-nodes MUST be supported when LDP forwarding is supported and a label-binding for the destination is sent to an IBR. All routers in the MRT Island MUST attach the named proxy-node consistently, selecting no more than two proxy-node attachment routers.
Routers that support MPLS and implement IP MRT fast reroute MUST support tunneling of IP traffic using MRT LDP Label Option 1A (topology-scoped FEC encoded using a single label), for hardware compatibility and ease of removing MRT-topology marking at area/level boundaries.
A named proxy-node represents a destination prefix attachable to the MRT Island via at least two routers. It is 'named' when traffic can be encapsulated to reach it specifically — via an LDP FEC for the associated prefix or via advertised MRT-Red and MRT-Blue IP addresses for the proxy-node.
An MRT Island is the set of routers supporting the same MRT profile in the same IGP area or level, connected by bidirectional links. Island Border Routers (IBRs) are MRT Island routers adjacent to non-MRT routers in the same area; Island Neighbors (INs) are non-MRT routers adjacent to IBRs in the same area/level.
An MRT Profile is a set of values and options identified by an 8-bit Profile ID. It specifies the MRT algorithm, MRT-Red and MRT-Blue MPLS MT-IDs, GADAG Root Selection Policy, MRT Forwarding Mechanism, Recalculation process, and Area/Level Border Behavior. Profile ID 0 designates the Default MRT Profile.
Maximally Redundant Trees (MRT) are a pair of directed spanning trees providing maximally disjoint paths toward a common root. Only cut-links and cut-vertices are shared between the trees. Each router stores primary, MRT-Blue, and MRT-Red next hops for each destination.
The Rainbow MRT MT-ID is an MPLS MT-ID referring to all MRT forwarding topologies and the default forwarding topology. It is used by LDP to allow the same label to be advertised to all peers for the same (MT-ID, Prefix), and is used primarily by ABRs/LBRs to avoid per-neighbor label-spoofing.
Temporary allocations from the 'MPLS Multi-Topology Identifiers' registry are made for MRT-Red MT-ID, MRT-Blue MT-ID, and Rainbow MRT MPLS MT-ID for the Default MRT Profile. New MRT profiles must allocate new unique values from this registry for their MRT-Red and MRT-Blue MT-IDs.
The 'MRT Profile Identifier Registry' is created by this document using an 8-bit Profile ID value. Profile ID 0 is the Default MRT Profile. Future documents may define additional profiles by specifying the MRT Profile Options for a new Profile ID.
MRT-FRR requires all routers in the MRT Island to correctly compute next hops using the same algorithm and install corresponding forwarding state. This is a stronger correctness requirement than LFA/RLFA methods, which reuse existing SPF-based forwarding state from the widely deployed SPF algorithm. Incorrect computation by any node can silently cause forwarding failures during failure events.
MRT recalculation after a failure follows six steps: (1) receive failure notification, (2) recompute SPT, (3) install new SPT in FIB, (4) wait a configured period for all routers to switch to SPTs and traffic to drain from MRTs, (5) recompute MRTs, (6) install new MRTs in FIB. New MRTs MUST NOT be installed until traffic has drained from old MRT topologies to avoid disrupting in-flight FRR traffic.
MRT LDP Label Option 1A encodes a topology-scoped FEC using a single label. Each router distributes separate FEC-label bindings for three topology-scoped FECs: default (MT-ID=0), MRT-Red, and MRT-Blue. Transit routers swap the incoming topology-colored label with the outgoing label for the same topology FEC learned from the MRT next hop.
MRT LDP Label Option 1B uses a two-label stack: a top topology-id label identifying MRT-Red or MRT-Blue, and a second FEC label. Transit routers pop the topology-id label, use it for next-hop selection, swap the FEC label using normal LDP bindings, then push the topology-id label for the next hop.