SlideShare a Scribd company logo
A Fast Re-Route Method
Eric Rosenberg and James Uttaro, Member, IEEE
Abstract—We present a method to find an alternate path, after
a link failure, from a source node to a destination node, before the
Interior Gateway Protocol (e.g., OSPF or IS-IS) has had a chance
to reconverge in response to the failure. The target application is a
small (up to tens of nodes) regional access subnetwork of a service
provider’s network, which is a typical access scale encountered
in practice. We illustrate the method and prove that it will find
a path if one exists.
Index Terms—Routing protocols, alternate routing, network
survivability.
I. INTRODUCTION
WE present a method to find an alternate path, after
a link failure, from a source node to a destination
node. Since reconvergence of an Interior Gateway Protocol
(IGP) (e.g., OSPF or IS-IS) can take hundreds of milliseconds,
there is a need for a method that will find an alternate path
in less time than this. The target application is a small (up
to tens of nodes) access subnetwork of a service provider’s
network, which is a typical scale encountered in practice; a
service provider typically has many such small regional access
networks.
Consider a source node s sending data to destination node d.
Suppose some link (i, j) on the shortest path from s to d fails.
An IGP will find an alternate path from s to d that avoids (i, j)
(assume such a path exists). However, IGP re-convergence
may take hundreds of milliseconds or even seconds, and the
packet loss during this time period may be unacceptable. Fast
Re-Route (FRR) methods establish a new path from s to d in
much less time than required for IGP re-convergence.
There are several available FRR methods. One method,
used in conjunction with label-based forwarding (e.g., LDP),
creates an RSVP [6] primary tunnel between each pair of
nodes. In addition, a bypass tunnel is pre-defined for each
arc (i, j); the bypass tunnel for (i, j) is a path from i to
j that is physically disjoint from the link (i, j). When the
packet reaches node i and link (i, j) has failed, a local repair
forwards the traffic along the bypass tunnel for (i, j); when
the packet reaches node j, it continues on the path defined by
the RSVP primary tunnel. The disadvantage of this approach
is that, for a network of N nodes and A arcs, N(N − 1)
uni-directional primary tunnels and 2A uni-directional bypass
tunnels are required.
An alternative to building tunnels is to use a Loop Free
Alternative (LFA) method ([2], [4]). For any two nodes i and j,
let c (i, j) be the minimal distance between i and j. Suppose
Manuscript received April 22, 2013. The associate editor coordinating the
review of this letter and approving it for publication was G. Lazarou.
E. Rosenberg and J. Uttaro are with AT&T Labs, Middletown, NJ, 07748,
USA (e-mail: {ericr, uttaro}@att.com). E. Rosenberg is the corresponding
author.
Digital Object Identifier 10.1109/LCOMM.2013.070113.130921
Fig. 1. No LFA for the square.
Fig. 2. Remote LFA.
node n is a neighbor of s (i.e., they are connected by a single
arc). Then the neighbor n of s is an LFA for destination d if
c (n, d) < c (n, s) + c (s, d) . (1)
That is, n is an LFA if the shortest path from n to d does
not return to s on the arc (n, s). To ascertain whether an LFA
exists for a given s and d it suffices to determine if (1) holds
for some neighbor n of s.
A simple example where LFAs always exist is a three node
network whose arc lengths satisfy the triangle inequality. A
simple example where LFAs never exist is the square in Fig. 1
where all arcs have the same cost. If arc (s, d) fails, then for
the other neighbor u of s, before the IGP re-converges the
paths u → s → d and u → v → d have the same cost,
so (1) fails to hold for source s and destination d. There are
several proposed enhancements of LFA, and several alternative
methods, to extend the set of topologies for which FRR can
be achieved; we now review some of them.
One way to enlarge the set of topologies for which LFA
holds is to add a small number of tunnels, used only in the
event of a failure. To illustrate this method, called remote LFA
[3], consider Fig. 2 where all links on the ring have the same
cost c. Suppose we are routing from A to B, link (A, B) fails,
and the IGP has not re-converged. Then there is no LFA, since
if the packet is delivered to F, this node sends the packet right
back to A. The remote LFA approach creates an (A, D) tunnel
to be used only if (A, B) fails; packets taking this tunnel and
arriving at D will be forwarded to C and then to B. Hence
with this extra tunnel, D is an LFA for traffic from A to B.
Similarly, a (D, A) tunnel makes A an LFA for source D and
destination C in case arc (D, C) fails. Considering all possible
source/destination pairs, a total of six tunnels, to be used only
in case of a link failure, are required. In general, although the
remote LFA approach uses fewer tunnels than the full mesh
tunnel-based RSVP approach, it still requires a case by case
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
IEEE COMMUNICATION LETTERS VOL:17 NO:8 YEAR 2013
analysis of the topology to determine where tunnels need to
be added.
The problem of finding the minimum number of edges to
add, in order to achieve full LFA coverage, is studied in [10],
under the assumption that the edges in the original graph, and
the edges to be added, have the same cost. They formulate
this as an integer linear program with N3
variables, and show
that it is NP-complete. They propose a greedy heuristic with
O(N3
(N2
− M2
)) complexity, which in every iteration adds
the edge that most increases LFA coverage.
Another extension of the basic LFA methodology is the u-
turn method [1]. Consider again Fig. 2, with A as the source,
C as the destination, and where link (A, B) failed. Ignore the
(A, D) link in this figure; this link was added to illustrate
remote LFA. Node F is not an LFA. But E, a neighbor of
F, has the option of forwarding packets to D, who will then
forward them to the destination C. That is F can break the
“u-turn” by forwarding to E. In general, if n1 is a neighbor
of s, and if n2 is a neighbor of n1 such that c (n2, t) <
c (n2, s) + c (s, t), then n1 should forward the packet to n2.
While this method is an improvement of LFA, it also is not
guaranteed to find an alternate route, even if one exists.
The Recursive Loop-Free Alternative (RLFA) method [9]
calculates alternate paths that are maximally edge disjoint
from the shortest path. Let C be the sum of all arc costs
in the network, and let P(s, d) be the shortest path between
s and d. The method adds C to each link on P(s, d) and
then calculates a new shortest path for each pair of nodes.
These local alternative next hops are used to route packets
through a failure-free branch of the shortest path tree rooted
at s. While this method is guaranteed to provide an alternate
path (if one exists) for any single link failure, it does require
a large number of shortest path computations to compute the
local alternative next hops.
The MRC method [7] computes a set of backup configura-
tions, such that each link or node is excluded from forwarding
packets in exactly one configuration. Each configuration is
generated by setting link costs appropriately, and computing
shortest paths using these costs. Each router maintains a
separate forwarding table for each configuration. When a
link or node fails, the corresponding backup configuration is
selected, the packet is marked with this configuration, and
is forwarded based upon this marking. The complexity of this
method is O(nΔNA), where n is the user specified number of
bypass configurations desired, Δ is the maximum node degree,
and N and A are the number of nodes and arcs, respectively.
Centralized alternate routing methods are employed in [8],
which also reviews the FRR literature and presents theoretical
results on the existence of alternate routes. Another class
of related methods ([5],[11]) employs link-reversal, which
reverses the direction of arcs in a directed acyclic graph
formulation.
To summarize, extensive experience at AT&T, both in the
lab and in production, has shown that the time for an IGP to
reconverge after a link failure can be hundreds of milliseconds.
We want to establish an alternate path in less time than this.
LFA, without tunnels, cannot handle such simple cases as
the square topology of Fig. 1. Tunnel based methods require
substantial overhead, in tunnel creation (often accomplished
by scripting), in operations/maintenance to periodically check
the health of each tunnel, and in the imposition of extra
state on line cards to support forwarding packets along the
tunnels. Moreover, in applications such as virtualization of
VPNs, when the assignment of PE (provider edge) routing
functionality is moved from one virtual machine to another,
redesign of the tunnels is required, and the addition of a new
node to the VPN requires building tunnels to the new node.
A method not requiring tunnels is much simpler. Finally, the
alternative of storing precomputed paths requires preprocess-
ing and storing these alternate paths, and thus shares many of
the disadvantages of tunnels.
II. THE METHOD
We now present the details of the method. Let G = (N, A)
be an undirected connected graph with node set N and arc
set A. For x ∈ N, let N(x) be the set of neighbors of x,
where a neighbor of x is a node one arc away from x. We
associate with each undirected arc (i, j) ∈ A a cost c(i, j),
and require each c(i, j) to be a positive integer. (The integer
valued restriction can always be met by approximating, to the
desired accuracy, each arc cost by an improper fraction, and
then multiplying all the fractions by the least common multiple
of the fraction denominators.) For i, j ∈ N, let c (i, j) be the
cost of the shortest path in G between i and j. When using
Route(s, d) for fast re-route in the event of an arc failure,
which is the target application, c (i, j) represents the shortest
path cost before the IGP has reconverged in response to the
link failure. Let s be a given source node, and d be a given
destination node. In procedure Route(s, d) below, P is an
ordered list of nodes that have been visited, and P ← {P, x}
means that x is inserted after the rightmost element in P. Also,
Δ(n) is the multiplicity of node n, indicating how many times
n has been visited by the current packet.
procedure Route(s, d)
1 initialize: P = ∅, Δ(n) = 0 for n ∈ N, and x = s;
2 while (x = d) {
3 Let Y = {y ∈ N(x) | Δ(y) = minn∈N(x)Δ(n)};
4 Pick any y ∈ Y for which the sum
c(x, y) + c (y, d) is smallest;
5 Set Δ(x) ← Δ(x) + 1, P ← {P, x},
and send the packet and P from x to y;
6 Set x ← y;
7 }
In words, if x is the latest node to receive the packet, we
find the set of neighbors of x with lowest multiplicity. From
this set, we pick the neighbor y for which c(x, y) + c (y, d)
is smallest. We append x to P, augment the multiplic-
ity of x by 1, and send the packet and P to y. Note
that P can be used to compute the multiplicities; e.g., if
P = {s, f, g, f, s, d, c, a, c, f, g, s, d, c, a} then Δ(a) = 2,
Δ(c) = 3, Δ(d) = 2, Δ(f) = 3, Δ(g) = 2, and Δ(s) = 3.
This example also shows that instead of sending P to the
next node, we could instead send only the nodes visited and
their multiplicities, e.g., we could send {Δ(a) = 2, Δ(c) =
3, Δ(d) = 2, Δ(f) = 3, Δ(g) = 2, Δ(s) = 3}. Note that we
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
Fig. 3. Picking the next node.
Fig. 4. House topology.
optionally could add a step, immediately following Step 2,
which says that if d ∈ N(x) then forward the packet to d.
Steps 3 and 4 are illustrated in Fig. 3. The neighbors of x
are p, q, and r; of these, p and q have the lowest multiplicity.
Since c(x, q)+c (q, d) < c(x, p)+c (p, d), the packet is next
forwarded to q.
If we apply the method to the square of Fig. 1, with source
s, destination d, and link (s, d) failed, s will forward the packet
to u. Since now Δ(v) = 0 and Δ(s) = 1, then u forwards
the packet to v. Since now Δ(d) = 0 and Δ(u) = 1, then
v forwards the packet to the destination d. Thus the method
easily computes an alternate route for the square, which is a
case where LFA fails.
A more interesting example is provided by Fig. 4, where
all arcs have cost 1, except for (z, d) with cost 10. Suppose
(s, d) fails and the IGP has not yet re-converged. If in Step 4
of Route(s, t) we break ties by picking the lexicographically
smallest node (e.g., closer to “a” in the alphabet), then the path
taken is s → u → v → w → x → y → z → d. If in Step 4
of Route(s, t) we break ties by picking the lexicographically
largest node (e.g., closer to “z” in the alphabet) then u
forwards the packet to z, and z forwards the packet to y,
since Δ(y) = Δ(d) = 0 but c(z, y) + c (y, d) = 1 + 4 <
c(z, d) = 10. The packet will eventually reach d, but by a
longer path than with the “lexicographically smallest” rule.
To implement this method, the packet header can be
expanded to specify the multiplicity of each node. For a
small network (e.g., a regional access network, which was
the application motiving this method) the memory required
for this is small. As for throughput considerations, MPLS
networks today routinely process packets with even 5 labels
in a stack, without sacrificing throughput. For small access
networks, the processing needed to determine the neighbor to
whom the packet should be sent (Steps 3 and 4 above) can
also be done without sacrificing throughput.
III. CONVERGENCE PROOF
In this section we prove that Route(s, d) will find a path
in (N, A) from s to d, if such a path exits. For x ∈ N, let
Fig. 5. Disconnected network.
deg(x) := |N(x)|, that is, the number of neighbors of x. Let
N := |N| be the number of nodes in the network. Note that
the convergence proof makes no use of the arc costs, and thus
is independent of the rule used in Step 4 of Route(s, d) to
choose among those neighbors of x with lowest multiplicity.
Lemma. For (x, y) ∈ A, and at any point during the packet’s
path, Δ(y) ≥ (Δ(x)/ deg(x)) − 1.
Proof. Each time the packet leaves x to some neighbor y of x,
on the next step either minn∈N(x) Δ(n) will increase, or the
cardinality of the set {y ∈ N(x) | Δ(y) = minn∈N(x) Δ(n)}
will decrease. The second alternative can happen at most
deg(x) times before the cardinality of this set drops to the
value 1, so the first alternative must happen at least once every
deg(x) times.
The packet must have had a next step after leaving x at
least Δ(x) − 1 times. Thus, minn∈N(x) Δ(n) must have been
increased at least (Δ(x) − 1)/ deg(x) times. But Δ(y) is
included in that min, so Δ(y) ≥ (Δ(x) − 1)/ deg(x) ≥
(Δ(x)/ deg(x)) − 1. •
Corollary 1. For (x, y) ∈ A, and at any point during
the packet’s path, if Δ(x) ≥ 2 deg(x), then Δ(y) ≥
Δ(x)/(2 deg(x)).
Proof. By the Lemma, Δ(y) ≥ (Δ(x)/ deg(x)) − 1 =
(Δ(x) − deg(x))/deg(x). If Δ(x) ≥ 2 deg(x), then
(Δ(x) − deg(x))/deg(x) ≥ (Δ(x) − (Δ(x)/2))/deg(x) =
Δ(x)/(2 deg(x)).
Corollary 2. If x = n1, n2, n3, ..., nk = y is a path from
x to y, and if Δ(x) ≥
k
i=1(2 deg(ni)), then Δ(y) ≥
Δ(x)/
k
i=1(2 deg(ni)).
Theorem 1. If there is a path from s to d, then after a finite
number of steps, the packet will reach d.
Proof. Let T = n∈N (2 deg(n)). Since the multiplicity
of some node increases by 1 after each step, then after
N · T steps, some node z must have Δ(z) ≥ T . Since
the graph is symmetric, and since there is a path from
s to z and from s to d, there must be a path from z
to d. Let this path be z = n1, n2, n3, · · · , nk = d. But
then Δ(z) ≥ T ≥
k
i=1(2 deg(ni)), so by Corollary 2,
Δ(d) ≥ T/
k
i=1(2 deg(ni)) ≥ 1. But if Δ(d) ≥ 1, the packet
must have reached d. •
Consider Fig. 5, where all arc costs are 1, and suppose
link (b, d) fails. Without a stopping criterion, Route(s, d) will
create the cycle s → a → b → a → s and repeat this cycle
indefinitely. However, by examining path P to detect cycles,
we can provide a stopping criterion. Let C be a finite length
sub-string of P such that the first and last elements of C
are both the source node s (so C is a cycle). For example,
for Fig. 5 we would choose C = {s, a, b, a, s}. Let C0
be
the substring of C obtained by deleting the initial element s,
e.g., C0
= {a, b, a, s} for this example. Let {C, C0
} be the
string obtained by appending C0
to the end of C; e.g., for
our example, {C, C0
} = {s, a, b, a, s, a, b, a, s}. The following
theorem says that if at some point P consists of two identical
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
Fig. 6. Forest of cycles rooted at s.
Fig. 7. Case 2: x ∈ NP .
cycles, then there is no path from s to d and Route(s, d) can
be stopped.
Theorem 2. If for some finite length string C, whose first and
last elements are s, procedure Route(s, t) generates a path P
such that P = {C, C0
}, then there is no path from s to d and
Route(s, d) can be terminated.
Proof. Suppose such a string C exists. Suppose C contains a
total of k + 1 occurrences of node s. Since C begins and
ends with s, then k ≥ 1. For 1 ≤ i ≤ k, let Ci be the
substring of C starting with the i-th occurrence of s and
ending with the (i + 1)-st occurrence of s. For example, if
C = {s, x, y, z, x, s, e, h, f, h, g, s} then C1 = {s, x, y, z, x, s}
and C2 = {s, e, h, f, h, g, s}. Each of the k substrings Ci
defines a loop that either (case 1) leaves s and returns to s from
the same “loop gateway node” (e.g., C1 leaves and returns to
s from x), or (case 2) leaves s and returns to s from different
“loop gateway nodes” (e.g., C2 leaves s from e and returns
to s from g). These two possibilities are illustrated in Fig. 6,
where case 1 is illustrated by the loop leaving/returning at the
loop gateway node n1, and also by the loop leaving/returning
at loop gateway node n4, and where case 2 is illustrated by
the loop leaving at the loop gateway node n2 and returning
from the loop gateway node n3.
Let NP be the set of nodes visited in P. For exam-
ple, if P = {s, x, y, z, x, s, e, h, f, h, g, s} then NP =
{s, x, y, z, e, h, f, g}. Since each of the k loops in C is
traversed twice, the multiplicity of each node in NP must be
at least two. Suppose, contrary to the statement of Theorem 2,
that there is a path Ps,d from s to d. We can assume without
loss of generality that Ps,d contains no loops.
Let x be the successor node to s on path Ps,d. We consider
two cases. First, suppose x ∈ NP . Consider the iteration where
Route(s, d) has just generated the partial path C and returned
to s. Then each node in NP has multiplicity at least 1, but x
has multiplicity 0, since x ∈ NP . By Step 3 of Route(s, d),
node x will be picked before again selecting any node in
NP . But Route(s, d) did not pick x, and instead ultimately
generated the path {C, C0
}. Hence it must be that x ∈ NP .
So consider the second case, where we assume x ∈ NP .
Suppose x lies on loop i, where 1 ≤ i ≤ k. No node on loop
i is the destination d, for otherwise the algorithm would have
halted. So there must be a last node y which lies on Ps,d and
which also lies on loop i. (It might be that y = x.) Let z be
the successor node to y on the path Ps,d, so z is not on loop
i. (see Fig. 7).
We consider two sub-cases. Suppose first that z ∈ NP Con-
sider the iteration where the path P generated by Route(s, d)
has traversed loop i once, and then later returns to y. Then
each node on this loop has multiplicity at least 1, but z has
multiplicity 0, since z ∈ NP . By Step 3 of Route(s, d), z
will be picked before again selecting a node on loop i. But
Route(s, d) did not pick z, and instead traversed this loop a
second time. Hence it must be that z ∈ NP .
Finally, consider the second sub-case, where we assume
z ∈ NP . Since by definition z is not on loop i, then z must
lie on some other loop, say loop j, where j = i. By the same
arguments as above, the path Ps,d must leave loop j, and
when it does so it must immediately visit another loop. This
jumping between loops can occur at most H times, where H
is the number of arcs in path Ps,d. Thus Ps,d never reaches
d, which contradicts the definition of Ps,d. Hence this second
sub-case z ∈ NP yields a contradiction, and hence the second
case x ∈ NP cannot hold.
Having shown that both x ∈ NP and x ∈ NP cannot hold,
we conclude that there is no path Ps,d from s to d. •
ACKNOWLEDGMENT
The convergence proof for Theorem 1 was provided by
David Applegate. The authors thank the reviewers for their
valuable comments and suggestions.
REFERENCES
[1] A. Atlas, Ed., “U-turn alternates for IP/LDP fast-reroute,” IETF draft-
atlas-ip-local-protect-uturn-03, Feb. 2006.
[2] A. Atlas and A. Zinin, Eds., “Basic specification for IP fast reroute: loop-
free alternative,” IETF RFC 5286, Sept. 2008.
[3] S. Bryant, C. Filsfils, and M. Shand, “Remote LFA FRR,” IETF Internet
Draft draft-shand-remote-lfa-00, Oct. 2011.
[4] C. Filsfils and P. Francois, Eds., “Loop-free alternative (LFA) applicabil-
ity in service provider (SP) networks,” IETF RFC 6571, June 2012.
[5] E. M. Gafni and D. P. Bertsekas, “Distributed algorithms for generating
loop-free routes in networks with frequently changing topology,” IEEE
Trans. Commun., vol. COM-29, pp. 11–18, 1981.
[6] I. Hussain, Fault-Tolerant IP and MPLS Networks. Cisco Press, 2005.
[7] A. Kvalbein, A. F. Hansen, T. ˇCiˇci´c, S. Gjessing, and O. Lysne, “Multiple
routing configurations for fast IP network recovery,” IEEE/ACM Trans.
Netw., vol. 17, pp. 473–486, 2009.
[8] K. W. Kwong, L. Gao, R. A. Gu´erin, and Z. Zhang, “On the feasibility
and efficacy of protection routing in IP networks,” IEEE/ACM Trans.
Netw., vol. 19, pp. 1543–1556, 2011.
[9] S. S. Lor, R. Ali, and M. Rio, “Recursive loop-free alternates for full
protection against transient link failures,” in Proc. 2010 IEEE Symp. on
Comput. and Commun., pp. 44–49.
[10] G. R´etv´ari, J. Tapolcai, G. Enyedi, and A. Cs´asz´ar, “IP Fast ReRoute:
loop free alternates revisited,” in Proc. 2011 IEEE Int. Conf. on Comput.
Commun., pp. 2948–2956.
[11] J. M. Welch and J. E. Walter, Link Reversal Algorithms. Morgan &
Claypool Publishers, 2012.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

More Related Content

PDF
An improved dft based channel estimation
PDF
Frame Synchronization for OFDMA mode of WMAN
PDF
OPTIMIZATION OF IP NETWORKS IN VARIOUS HYBRID IGP/MPLS ROUTING SCHEMES
PDF
9517cnc05
PDF
An Energy-Efficient Dual Hop Cooperative Relay Model With Best Relay Selection
PDF
Capacity Performance Analysis for Decode-and-Forward OFDMDual-Hop System
PDF
Paper id 22201419
PDF
Mobile radio chaneel matlab kostov
An improved dft based channel estimation
Frame Synchronization for OFDMA mode of WMAN
OPTIMIZATION OF IP NETWORKS IN VARIOUS HYBRID IGP/MPLS ROUTING SCHEMES
9517cnc05
An Energy-Efficient Dual Hop Cooperative Relay Model With Best Relay Selection
Capacity Performance Analysis for Decode-and-Forward OFDMDual-Hop System
Paper id 22201419
Mobile radio chaneel matlab kostov

What's hot (20)

PDF
Performance Analysis of Differential Beamforming in Decentralized Networks
PDF
An Offline Hybrid IGP/MPLS Traffic Engineering Approach under LSP Constraints
PDF
Dynamic time warping and PIC 16F676 for control of devices
PDF
10.1.1.666.9435
PDF
VTC_Poster_Qian
PDF
Hi3114131415
PDF
RTH-RSS Mac: Path loss exponent estimation with received signal strength loca...
PDF
MFMP Vs ECMP Under RED Queue Management
PDF
Analysis and Simulation of Pseudo Ranging Noise codes for Geo-Stationary Sate...
PDF
Presentation of 'Reliable Rate-Optimized Video Multicasting Services over LTE...
PDF
An approach to dsr routing qos by fuzzy genetic algorithms
PDF
Joint Fixed Power Allocation and Partial Relay Selection Schemes for Cooperat...
PDF
Determining the Optimum Number of Paths for Realization of Multi-path Routing...
PDF
Non-Extended Schemes for Inter-Subchannel
PDF
Blind channel estimation for mimo ofdm systems
PDF
Assignment 1 -_jasper_hatilima
PDF
A COMPARATIVE PERFORMANCE STUDY OF OFDM SYSTEM WITH THE IMPLEMENTATION OF COM...
PPTX
Ganesh conf
Performance Analysis of Differential Beamforming in Decentralized Networks
An Offline Hybrid IGP/MPLS Traffic Engineering Approach under LSP Constraints
Dynamic time warping and PIC 16F676 for control of devices
10.1.1.666.9435
VTC_Poster_Qian
Hi3114131415
RTH-RSS Mac: Path loss exponent estimation with received signal strength loca...
MFMP Vs ECMP Under RED Queue Management
Analysis and Simulation of Pseudo Ranging Noise codes for Geo-Stationary Sate...
Presentation of 'Reliable Rate-Optimized Video Multicasting Services over LTE...
An approach to dsr routing qos by fuzzy genetic algorithms
Joint Fixed Power Allocation and Partial Relay Selection Schemes for Cooperat...
Determining the Optimum Number of Paths for Realization of Multi-path Routing...
Non-Extended Schemes for Inter-Subchannel
Blind channel estimation for mimo ofdm systems
Assignment 1 -_jasper_hatilima
A COMPARATIVE PERFORMANCE STUDY OF OFDM SYSTEM WITH THE IMPLEMENTATION OF COM...
Ganesh conf
Ad

Viewers also liked (14)

PPTX
Comportamientos digitales 1
PDF
3 161x243cm programación_novembro
DOCX
Perfection
DOC
dkahn resume 12.2015a
PPTX
Colegio francisca de las llagas
PPTX
Nanotecnologia
PDF
finalposter-summershow
PDF
P6 visualizer interactive demonstration wp
PDF
thepowerofprint-vfinal-140218094516-phpapp02
PDF
Book review copper wire bonding
PPTX
Public Policy & Consumer Testing
PPTX
відсоткове відношення двох чисел
PPTX
Desktop operating system
PPTX
Presentation of DanteSources
Comportamientos digitales 1
3 161x243cm programación_novembro
Perfection
dkahn resume 12.2015a
Colegio francisca de las llagas
Nanotecnologia
finalposter-summershow
P6 visualizer interactive demonstration wp
thepowerofprint-vfinal-140218094516-phpapp02
Book review copper wire bonding
Public Policy & Consumer Testing
відсоткове відношення двох чисел
Desktop operating system
Presentation of DanteSources
Ad

Similar to A fast re route method (20)

PDF
Paper id 42201621
PPTX
revieww ppt ccccccçccccccxcccxxdxfdf.pptx
PPT
Route1
PDF
Multiple routing configuration
PDF
Feasibility Issues in Shortest-Path Routing with Trafiic Flow Split
PDF
IRJET- Survey on Adaptive Routing Algorithms
PDF
A Novel Rebroadcast Technique for Reducing Routing Overhead In Mobile Ad Hoc ...
PDF
Modified GPSR for Fault Tolerant and Energy Efficiency in Mobile Ad Hoc Network
PDF
[IJCT-V3I2P22] Authors: Shraddha Dabhade, Shilpa Verma
PDF
A novel scheme for reliable multipath routing through node independent direct...
PDF
Il2414861489
PDF
Al35218220
PPTX
Part7-routing.pptx
PDF
A novel scheme for reliable multipath routing
PDF
Improving the scalability by contact information compression in routing
PDF
V.KARTHIKEYAN PUBLISHED ARTICLE A
PPTX
Week13 lec2
DOCX
JPJ1433 Cost-Effective Resource Allocation of Overlay Routing Relay Nodes
PPT
NetworkAlgorithms.ppt
Paper id 42201621
revieww ppt ccccccçccccccxcccxxdxfdf.pptx
Route1
Multiple routing configuration
Feasibility Issues in Shortest-Path Routing with Trafiic Flow Split
IRJET- Survey on Adaptive Routing Algorithms
A Novel Rebroadcast Technique for Reducing Routing Overhead In Mobile Ad Hoc ...
Modified GPSR for Fault Tolerant and Energy Efficiency in Mobile Ad Hoc Network
[IJCT-V3I2P22] Authors: Shraddha Dabhade, Shilpa Verma
A novel scheme for reliable multipath routing through node independent direct...
Il2414861489
Al35218220
Part7-routing.pptx
A novel scheme for reliable multipath routing
Improving the scalability by contact information compression in routing
V.KARTHIKEYAN PUBLISHED ARTICLE A
Week13 lec2
JPJ1433 Cost-Effective Resource Allocation of Overlay Routing Relay Nodes
NetworkAlgorithms.ppt

Recently uploaded (20)

PPTX
Impressionism_PostImpressionism_Presentation.pptx
PPTX
Emphasizing It's Not The End 08 06 2025.pptx
PDF
Parts of Speech Prepositions Presentation in Colorful Cute Style_20250724_230...
PPTX
Learning-Plan-5-Policies-and-Practices.pptx
PPTX
Relationship Management Presentation In Banking.pptx
PPTX
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
PPTX
lesson6-211001025531lesson plan ppt.pptx
PPTX
Anesthesia and it's stage with mnemonic and images
PDF
Swiggy’s Playbook: UX, Logistics & Monetization
PPT
First Aid Training Presentation Slides.ppt
PDF
natwest.pdf company description and business model
PDF
Nykaa-Strategy-Case-Fixing-Retention-UX-and-D2C-Engagement (1).pdf
DOC
学位双硕士UTAS毕业证,墨尔本理工学院毕业证留学硕士毕业证
PPTX
Self management and self evaluation presentation
PPT
The Effect of Human Resource Management Practice on Organizational Performanc...
PPTX
Effective_Handling_Information_Presentation.pptx
PDF
oil_refinery_presentation_v1 sllfmfls.pdf
PPTX
Tablets And Capsule Preformulation Of Paracetamol
PPTX
water for all cao bang - a charity project
PPTX
English-9-Q1-3-.pptxjkshbxnnxgchchxgxhxhx
Impressionism_PostImpressionism_Presentation.pptx
Emphasizing It's Not The End 08 06 2025.pptx
Parts of Speech Prepositions Presentation in Colorful Cute Style_20250724_230...
Learning-Plan-5-Policies-and-Practices.pptx
Relationship Management Presentation In Banking.pptx
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
lesson6-211001025531lesson plan ppt.pptx
Anesthesia and it's stage with mnemonic and images
Swiggy’s Playbook: UX, Logistics & Monetization
First Aid Training Presentation Slides.ppt
natwest.pdf company description and business model
Nykaa-Strategy-Case-Fixing-Retention-UX-and-D2C-Engagement (1).pdf
学位双硕士UTAS毕业证,墨尔本理工学院毕业证留学硕士毕业证
Self management and self evaluation presentation
The Effect of Human Resource Management Practice on Organizational Performanc...
Effective_Handling_Information_Presentation.pptx
oil_refinery_presentation_v1 sllfmfls.pdf
Tablets And Capsule Preformulation Of Paracetamol
water for all cao bang - a charity project
English-9-Q1-3-.pptxjkshbxnnxgchchxgxhxhx

A fast re route method

  • 1. A Fast Re-Route Method Eric Rosenberg and James Uttaro, Member, IEEE Abstract—We present a method to find an alternate path, after a link failure, from a source node to a destination node, before the Interior Gateway Protocol (e.g., OSPF or IS-IS) has had a chance to reconverge in response to the failure. The target application is a small (up to tens of nodes) regional access subnetwork of a service provider’s network, which is a typical access scale encountered in practice. We illustrate the method and prove that it will find a path if one exists. Index Terms—Routing protocols, alternate routing, network survivability. I. INTRODUCTION WE present a method to find an alternate path, after a link failure, from a source node to a destination node. Since reconvergence of an Interior Gateway Protocol (IGP) (e.g., OSPF or IS-IS) can take hundreds of milliseconds, there is a need for a method that will find an alternate path in less time than this. The target application is a small (up to tens of nodes) access subnetwork of a service provider’s network, which is a typical scale encountered in practice; a service provider typically has many such small regional access networks. Consider a source node s sending data to destination node d. Suppose some link (i, j) on the shortest path from s to d fails. An IGP will find an alternate path from s to d that avoids (i, j) (assume such a path exists). However, IGP re-convergence may take hundreds of milliseconds or even seconds, and the packet loss during this time period may be unacceptable. Fast Re-Route (FRR) methods establish a new path from s to d in much less time than required for IGP re-convergence. There are several available FRR methods. One method, used in conjunction with label-based forwarding (e.g., LDP), creates an RSVP [6] primary tunnel between each pair of nodes. In addition, a bypass tunnel is pre-defined for each arc (i, j); the bypass tunnel for (i, j) is a path from i to j that is physically disjoint from the link (i, j). When the packet reaches node i and link (i, j) has failed, a local repair forwards the traffic along the bypass tunnel for (i, j); when the packet reaches node j, it continues on the path defined by the RSVP primary tunnel. The disadvantage of this approach is that, for a network of N nodes and A arcs, N(N − 1) uni-directional primary tunnels and 2A uni-directional bypass tunnels are required. An alternative to building tunnels is to use a Loop Free Alternative (LFA) method ([2], [4]). For any two nodes i and j, let c (i, j) be the minimal distance between i and j. Suppose Manuscript received April 22, 2013. The associate editor coordinating the review of this letter and approving it for publication was G. Lazarou. E. Rosenberg and J. Uttaro are with AT&T Labs, Middletown, NJ, 07748, USA (e-mail: {ericr, uttaro}@att.com). E. Rosenberg is the corresponding author. Digital Object Identifier 10.1109/LCOMM.2013.070113.130921 Fig. 1. No LFA for the square. Fig. 2. Remote LFA. node n is a neighbor of s (i.e., they are connected by a single arc). Then the neighbor n of s is an LFA for destination d if c (n, d) < c (n, s) + c (s, d) . (1) That is, n is an LFA if the shortest path from n to d does not return to s on the arc (n, s). To ascertain whether an LFA exists for a given s and d it suffices to determine if (1) holds for some neighbor n of s. A simple example where LFAs always exist is a three node network whose arc lengths satisfy the triangle inequality. A simple example where LFAs never exist is the square in Fig. 1 where all arcs have the same cost. If arc (s, d) fails, then for the other neighbor u of s, before the IGP re-converges the paths u → s → d and u → v → d have the same cost, so (1) fails to hold for source s and destination d. There are several proposed enhancements of LFA, and several alternative methods, to extend the set of topologies for which FRR can be achieved; we now review some of them. One way to enlarge the set of topologies for which LFA holds is to add a small number of tunnels, used only in the event of a failure. To illustrate this method, called remote LFA [3], consider Fig. 2 where all links on the ring have the same cost c. Suppose we are routing from A to B, link (A, B) fails, and the IGP has not re-converged. Then there is no LFA, since if the packet is delivered to F, this node sends the packet right back to A. The remote LFA approach creates an (A, D) tunnel to be used only if (A, B) fails; packets taking this tunnel and arriving at D will be forwarded to C and then to B. Hence with this extra tunnel, D is an LFA for traffic from A to B. Similarly, a (D, A) tunnel makes A an LFA for source D and destination C in case arc (D, C) fails. Considering all possible source/destination pairs, a total of six tunnels, to be used only in case of a link failure, are required. In general, although the remote LFA approach uses fewer tunnels than the full mesh tunnel-based RSVP approach, it still requires a case by case This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. IEEE COMMUNICATION LETTERS VOL:17 NO:8 YEAR 2013
  • 2. analysis of the topology to determine where tunnels need to be added. The problem of finding the minimum number of edges to add, in order to achieve full LFA coverage, is studied in [10], under the assumption that the edges in the original graph, and the edges to be added, have the same cost. They formulate this as an integer linear program with N3 variables, and show that it is NP-complete. They propose a greedy heuristic with O(N3 (N2 − M2 )) complexity, which in every iteration adds the edge that most increases LFA coverage. Another extension of the basic LFA methodology is the u- turn method [1]. Consider again Fig. 2, with A as the source, C as the destination, and where link (A, B) failed. Ignore the (A, D) link in this figure; this link was added to illustrate remote LFA. Node F is not an LFA. But E, a neighbor of F, has the option of forwarding packets to D, who will then forward them to the destination C. That is F can break the “u-turn” by forwarding to E. In general, if n1 is a neighbor of s, and if n2 is a neighbor of n1 such that c (n2, t) < c (n2, s) + c (s, t), then n1 should forward the packet to n2. While this method is an improvement of LFA, it also is not guaranteed to find an alternate route, even if one exists. The Recursive Loop-Free Alternative (RLFA) method [9] calculates alternate paths that are maximally edge disjoint from the shortest path. Let C be the sum of all arc costs in the network, and let P(s, d) be the shortest path between s and d. The method adds C to each link on P(s, d) and then calculates a new shortest path for each pair of nodes. These local alternative next hops are used to route packets through a failure-free branch of the shortest path tree rooted at s. While this method is guaranteed to provide an alternate path (if one exists) for any single link failure, it does require a large number of shortest path computations to compute the local alternative next hops. The MRC method [7] computes a set of backup configura- tions, such that each link or node is excluded from forwarding packets in exactly one configuration. Each configuration is generated by setting link costs appropriately, and computing shortest paths using these costs. Each router maintains a separate forwarding table for each configuration. When a link or node fails, the corresponding backup configuration is selected, the packet is marked with this configuration, and is forwarded based upon this marking. The complexity of this method is O(nΔNA), where n is the user specified number of bypass configurations desired, Δ is the maximum node degree, and N and A are the number of nodes and arcs, respectively. Centralized alternate routing methods are employed in [8], which also reviews the FRR literature and presents theoretical results on the existence of alternate routes. Another class of related methods ([5],[11]) employs link-reversal, which reverses the direction of arcs in a directed acyclic graph formulation. To summarize, extensive experience at AT&T, both in the lab and in production, has shown that the time for an IGP to reconverge after a link failure can be hundreds of milliseconds. We want to establish an alternate path in less time than this. LFA, without tunnels, cannot handle such simple cases as the square topology of Fig. 1. Tunnel based methods require substantial overhead, in tunnel creation (often accomplished by scripting), in operations/maintenance to periodically check the health of each tunnel, and in the imposition of extra state on line cards to support forwarding packets along the tunnels. Moreover, in applications such as virtualization of VPNs, when the assignment of PE (provider edge) routing functionality is moved from one virtual machine to another, redesign of the tunnels is required, and the addition of a new node to the VPN requires building tunnels to the new node. A method not requiring tunnels is much simpler. Finally, the alternative of storing precomputed paths requires preprocess- ing and storing these alternate paths, and thus shares many of the disadvantages of tunnels. II. THE METHOD We now present the details of the method. Let G = (N, A) be an undirected connected graph with node set N and arc set A. For x ∈ N, let N(x) be the set of neighbors of x, where a neighbor of x is a node one arc away from x. We associate with each undirected arc (i, j) ∈ A a cost c(i, j), and require each c(i, j) to be a positive integer. (The integer valued restriction can always be met by approximating, to the desired accuracy, each arc cost by an improper fraction, and then multiplying all the fractions by the least common multiple of the fraction denominators.) For i, j ∈ N, let c (i, j) be the cost of the shortest path in G between i and j. When using Route(s, d) for fast re-route in the event of an arc failure, which is the target application, c (i, j) represents the shortest path cost before the IGP has reconverged in response to the link failure. Let s be a given source node, and d be a given destination node. In procedure Route(s, d) below, P is an ordered list of nodes that have been visited, and P ← {P, x} means that x is inserted after the rightmost element in P. Also, Δ(n) is the multiplicity of node n, indicating how many times n has been visited by the current packet. procedure Route(s, d) 1 initialize: P = ∅, Δ(n) = 0 for n ∈ N, and x = s; 2 while (x = d) { 3 Let Y = {y ∈ N(x) | Δ(y) = minn∈N(x)Δ(n)}; 4 Pick any y ∈ Y for which the sum c(x, y) + c (y, d) is smallest; 5 Set Δ(x) ← Δ(x) + 1, P ← {P, x}, and send the packet and P from x to y; 6 Set x ← y; 7 } In words, if x is the latest node to receive the packet, we find the set of neighbors of x with lowest multiplicity. From this set, we pick the neighbor y for which c(x, y) + c (y, d) is smallest. We append x to P, augment the multiplic- ity of x by 1, and send the packet and P to y. Note that P can be used to compute the multiplicities; e.g., if P = {s, f, g, f, s, d, c, a, c, f, g, s, d, c, a} then Δ(a) = 2, Δ(c) = 3, Δ(d) = 2, Δ(f) = 3, Δ(g) = 2, and Δ(s) = 3. This example also shows that instead of sending P to the next node, we could instead send only the nodes visited and their multiplicities, e.g., we could send {Δ(a) = 2, Δ(c) = 3, Δ(d) = 2, Δ(f) = 3, Δ(g) = 2, Δ(s) = 3}. Note that we This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
  • 3. Fig. 3. Picking the next node. Fig. 4. House topology. optionally could add a step, immediately following Step 2, which says that if d ∈ N(x) then forward the packet to d. Steps 3 and 4 are illustrated in Fig. 3. The neighbors of x are p, q, and r; of these, p and q have the lowest multiplicity. Since c(x, q)+c (q, d) < c(x, p)+c (p, d), the packet is next forwarded to q. If we apply the method to the square of Fig. 1, with source s, destination d, and link (s, d) failed, s will forward the packet to u. Since now Δ(v) = 0 and Δ(s) = 1, then u forwards the packet to v. Since now Δ(d) = 0 and Δ(u) = 1, then v forwards the packet to the destination d. Thus the method easily computes an alternate route for the square, which is a case where LFA fails. A more interesting example is provided by Fig. 4, where all arcs have cost 1, except for (z, d) with cost 10. Suppose (s, d) fails and the IGP has not yet re-converged. If in Step 4 of Route(s, t) we break ties by picking the lexicographically smallest node (e.g., closer to “a” in the alphabet), then the path taken is s → u → v → w → x → y → z → d. If in Step 4 of Route(s, t) we break ties by picking the lexicographically largest node (e.g., closer to “z” in the alphabet) then u forwards the packet to z, and z forwards the packet to y, since Δ(y) = Δ(d) = 0 but c(z, y) + c (y, d) = 1 + 4 < c(z, d) = 10. The packet will eventually reach d, but by a longer path than with the “lexicographically smallest” rule. To implement this method, the packet header can be expanded to specify the multiplicity of each node. For a small network (e.g., a regional access network, which was the application motiving this method) the memory required for this is small. As for throughput considerations, MPLS networks today routinely process packets with even 5 labels in a stack, without sacrificing throughput. For small access networks, the processing needed to determine the neighbor to whom the packet should be sent (Steps 3 and 4 above) can also be done without sacrificing throughput. III. CONVERGENCE PROOF In this section we prove that Route(s, d) will find a path in (N, A) from s to d, if such a path exits. For x ∈ N, let Fig. 5. Disconnected network. deg(x) := |N(x)|, that is, the number of neighbors of x. Let N := |N| be the number of nodes in the network. Note that the convergence proof makes no use of the arc costs, and thus is independent of the rule used in Step 4 of Route(s, d) to choose among those neighbors of x with lowest multiplicity. Lemma. For (x, y) ∈ A, and at any point during the packet’s path, Δ(y) ≥ (Δ(x)/ deg(x)) − 1. Proof. Each time the packet leaves x to some neighbor y of x, on the next step either minn∈N(x) Δ(n) will increase, or the cardinality of the set {y ∈ N(x) | Δ(y) = minn∈N(x) Δ(n)} will decrease. The second alternative can happen at most deg(x) times before the cardinality of this set drops to the value 1, so the first alternative must happen at least once every deg(x) times. The packet must have had a next step after leaving x at least Δ(x) − 1 times. Thus, minn∈N(x) Δ(n) must have been increased at least (Δ(x) − 1)/ deg(x) times. But Δ(y) is included in that min, so Δ(y) ≥ (Δ(x) − 1)/ deg(x) ≥ (Δ(x)/ deg(x)) − 1. • Corollary 1. For (x, y) ∈ A, and at any point during the packet’s path, if Δ(x) ≥ 2 deg(x), then Δ(y) ≥ Δ(x)/(2 deg(x)). Proof. By the Lemma, Δ(y) ≥ (Δ(x)/ deg(x)) − 1 = (Δ(x) − deg(x))/deg(x). If Δ(x) ≥ 2 deg(x), then (Δ(x) − deg(x))/deg(x) ≥ (Δ(x) − (Δ(x)/2))/deg(x) = Δ(x)/(2 deg(x)). Corollary 2. If x = n1, n2, n3, ..., nk = y is a path from x to y, and if Δ(x) ≥ k i=1(2 deg(ni)), then Δ(y) ≥ Δ(x)/ k i=1(2 deg(ni)). Theorem 1. If there is a path from s to d, then after a finite number of steps, the packet will reach d. Proof. Let T = n∈N (2 deg(n)). Since the multiplicity of some node increases by 1 after each step, then after N · T steps, some node z must have Δ(z) ≥ T . Since the graph is symmetric, and since there is a path from s to z and from s to d, there must be a path from z to d. Let this path be z = n1, n2, n3, · · · , nk = d. But then Δ(z) ≥ T ≥ k i=1(2 deg(ni)), so by Corollary 2, Δ(d) ≥ T/ k i=1(2 deg(ni)) ≥ 1. But if Δ(d) ≥ 1, the packet must have reached d. • Consider Fig. 5, where all arc costs are 1, and suppose link (b, d) fails. Without a stopping criterion, Route(s, d) will create the cycle s → a → b → a → s and repeat this cycle indefinitely. However, by examining path P to detect cycles, we can provide a stopping criterion. Let C be a finite length sub-string of P such that the first and last elements of C are both the source node s (so C is a cycle). For example, for Fig. 5 we would choose C = {s, a, b, a, s}. Let C0 be the substring of C obtained by deleting the initial element s, e.g., C0 = {a, b, a, s} for this example. Let {C, C0 } be the string obtained by appending C0 to the end of C; e.g., for our example, {C, C0 } = {s, a, b, a, s, a, b, a, s}. The following theorem says that if at some point P consists of two identical This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
  • 4. Fig. 6. Forest of cycles rooted at s. Fig. 7. Case 2: x ∈ NP . cycles, then there is no path from s to d and Route(s, d) can be stopped. Theorem 2. If for some finite length string C, whose first and last elements are s, procedure Route(s, t) generates a path P such that P = {C, C0 }, then there is no path from s to d and Route(s, d) can be terminated. Proof. Suppose such a string C exists. Suppose C contains a total of k + 1 occurrences of node s. Since C begins and ends with s, then k ≥ 1. For 1 ≤ i ≤ k, let Ci be the substring of C starting with the i-th occurrence of s and ending with the (i + 1)-st occurrence of s. For example, if C = {s, x, y, z, x, s, e, h, f, h, g, s} then C1 = {s, x, y, z, x, s} and C2 = {s, e, h, f, h, g, s}. Each of the k substrings Ci defines a loop that either (case 1) leaves s and returns to s from the same “loop gateway node” (e.g., C1 leaves and returns to s from x), or (case 2) leaves s and returns to s from different “loop gateway nodes” (e.g., C2 leaves s from e and returns to s from g). These two possibilities are illustrated in Fig. 6, where case 1 is illustrated by the loop leaving/returning at the loop gateway node n1, and also by the loop leaving/returning at loop gateway node n4, and where case 2 is illustrated by the loop leaving at the loop gateway node n2 and returning from the loop gateway node n3. Let NP be the set of nodes visited in P. For exam- ple, if P = {s, x, y, z, x, s, e, h, f, h, g, s} then NP = {s, x, y, z, e, h, f, g}. Since each of the k loops in C is traversed twice, the multiplicity of each node in NP must be at least two. Suppose, contrary to the statement of Theorem 2, that there is a path Ps,d from s to d. We can assume without loss of generality that Ps,d contains no loops. Let x be the successor node to s on path Ps,d. We consider two cases. First, suppose x ∈ NP . Consider the iteration where Route(s, d) has just generated the partial path C and returned to s. Then each node in NP has multiplicity at least 1, but x has multiplicity 0, since x ∈ NP . By Step 3 of Route(s, d), node x will be picked before again selecting any node in NP . But Route(s, d) did not pick x, and instead ultimately generated the path {C, C0 }. Hence it must be that x ∈ NP . So consider the second case, where we assume x ∈ NP . Suppose x lies on loop i, where 1 ≤ i ≤ k. No node on loop i is the destination d, for otherwise the algorithm would have halted. So there must be a last node y which lies on Ps,d and which also lies on loop i. (It might be that y = x.) Let z be the successor node to y on the path Ps,d, so z is not on loop i. (see Fig. 7). We consider two sub-cases. Suppose first that z ∈ NP Con- sider the iteration where the path P generated by Route(s, d) has traversed loop i once, and then later returns to y. Then each node on this loop has multiplicity at least 1, but z has multiplicity 0, since z ∈ NP . By Step 3 of Route(s, d), z will be picked before again selecting a node on loop i. But Route(s, d) did not pick z, and instead traversed this loop a second time. Hence it must be that z ∈ NP . Finally, consider the second sub-case, where we assume z ∈ NP . Since by definition z is not on loop i, then z must lie on some other loop, say loop j, where j = i. By the same arguments as above, the path Ps,d must leave loop j, and when it does so it must immediately visit another loop. This jumping between loops can occur at most H times, where H is the number of arcs in path Ps,d. Thus Ps,d never reaches d, which contradicts the definition of Ps,d. Hence this second sub-case z ∈ NP yields a contradiction, and hence the second case x ∈ NP cannot hold. Having shown that both x ∈ NP and x ∈ NP cannot hold, we conclude that there is no path Ps,d from s to d. • ACKNOWLEDGMENT The convergence proof for Theorem 1 was provided by David Applegate. The authors thank the reviewers for their valuable comments and suggestions. REFERENCES [1] A. Atlas, Ed., “U-turn alternates for IP/LDP fast-reroute,” IETF draft- atlas-ip-local-protect-uturn-03, Feb. 2006. [2] A. Atlas and A. Zinin, Eds., “Basic specification for IP fast reroute: loop- free alternative,” IETF RFC 5286, Sept. 2008. [3] S. Bryant, C. Filsfils, and M. Shand, “Remote LFA FRR,” IETF Internet Draft draft-shand-remote-lfa-00, Oct. 2011. [4] C. Filsfils and P. Francois, Eds., “Loop-free alternative (LFA) applicabil- ity in service provider (SP) networks,” IETF RFC 6571, June 2012. [5] E. M. Gafni and D. P. Bertsekas, “Distributed algorithms for generating loop-free routes in networks with frequently changing topology,” IEEE Trans. Commun., vol. COM-29, pp. 11–18, 1981. [6] I. Hussain, Fault-Tolerant IP and MPLS Networks. Cisco Press, 2005. [7] A. Kvalbein, A. F. Hansen, T. ˇCiˇci´c, S. Gjessing, and O. Lysne, “Multiple routing configurations for fast IP network recovery,” IEEE/ACM Trans. Netw., vol. 17, pp. 473–486, 2009. [8] K. W. Kwong, L. Gao, R. A. Gu´erin, and Z. Zhang, “On the feasibility and efficacy of protection routing in IP networks,” IEEE/ACM Trans. Netw., vol. 19, pp. 1543–1556, 2011. [9] S. S. Lor, R. Ali, and M. Rio, “Recursive loop-free alternates for full protection against transient link failures,” in Proc. 2010 IEEE Symp. on Comput. and Commun., pp. 44–49. [10] G. R´etv´ari, J. Tapolcai, G. Enyedi, and A. Cs´asz´ar, “IP Fast ReRoute: loop free alternates revisited,” in Proc. 2011 IEEE Int. Conf. on Comput. Commun., pp. 2948–2956. [11] J. M. Welch and J. E. Walter, Link Reversal Algorithms. Morgan & Claypool Publishers, 2012. This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.