Documente Academic
Documente Profesional
Documente Cultură
Francois Cladl, Pascal Merindoll, Stefano Vissicchio2, Jean-Jacques Pansiotl and Pierre Francois3
1 Universite
de Strasbourg
{fclad,merindol,pansiot} @unistra.fr
stefano.vissicchio@uclouvain.be
pierre.francois@imdea.org
I.
INTRODUCTION
SHUTDOWN PROBLEM
---+
---+
RSPDAG(l)
?(a)
RSPDAG'(l)
G(N, E, w )
towards 1 in
G\0
10
Fig. 1: Compute a loopfree sequence for a single destination (towards 1 on this gadget).
Destination 2
C2
C3
Destination 4
C4
Destination
{c, d, c}
{c, d, c}
{c, d, c}
V2
83
V3
84
V4
Uniform
SUFR
SGFA
SGBA
Forward Greedy
Backward Greedy
:l
(I} (D, (I} (!)
(!} (!} (!)
(l) m
82
-+
RSPDAGI (4)
0-- ....
-+
/ '\\
I@ t/'l0 \,:
I0-0--) I ")
RSPDAG2(4)
0.--0-0
'
SCRA =
(D ' (i)
SFFl =
(D ' (D ' (D
Fig. 2: Illustration of a transient loop induced by route flapping: a floop between nodes 0 and
-@---
PROBLEM FORMALIZATION
SFF2 =
(D ' (i)
VxEL
Theorem
Proof Let c
(f, e) and d respectively be the constraint
and the destination associated to loop L. We prove the
statement in two steps.
if s includes an unsafe transition for a constraint, then
s does not avoid L. Indeed, by definition of unsafe
transition, we have two cases. Let Vi and Vi+1 be the
two consecutive vectors involved in the unsafe transition.
- Vi precedes c and Vi+1 follows C. By Property 111. 3
and IlIA, all the routers in L will switch from their
initial next-hop to their final next-hop to d.
- Vi follows c and Vi+! precedes c. By Property I1I. 3
and IlIA, all the routers in L will switch from their
final next-hop to their initial next-hop to d.
In both cases, by definition of L, the transition from Vi
to Vi+1 can cause L to occur.
if s does not include an unsafe transition for c, then s
provably avoids L. Indeed, if there are no unsafe tran
sitions, then, by definition, there exists a safe transition
meeting c. From a vector Vi E s preceding c to a vector
Vj E s (j > i + 1) following c, and vice versa, we know
that there exists at least one vector Vk, i<k<j, meeting
c such that Vi,Vk is a safe transition. Hence, each time
all routers in L change next-hop from their initial to their
final routing state there is an intermediate step k, in which
some router update breaks the possibility of the loop to
occur by Property III. 2.
=
loop constraints.
Intuitively, this theorem implies that, for each constraint
(f, e), at least one vector must meet the constraint for each
transition from weight increments smaller than f to increments
greater than e, and vice versa for weight increments that
may actually imply some weight decreases. Indeed, always
increasing sequences (i.e. that only include actual increments)
are a subset of weight sequences space. A sequence s
(vo, ...,vm) is always increasing if Vi E 1 . . m,Vi > Vi-I.
We now state a simplified version of Theorem 1 which holds
for such sequences.
=
GBA(G, n)
Minimal sequence: S
Set of constraints: CS
Cardinal of the set of neighbors of n: k
function
/* I) Extract constraints */
for d in N do
for x in N do
for i E 1 . . k do
d(x)[i] C' (x,d) - C(x,i,d)
cs enum3yc1es(RSPDAG(d) U RSPDAG' (d))
for c in cs do
CS.add ({c.min([d]),c.max([d])})
=
reinit (gv)
/* 2a) Compute the current greedy vector */
for c in CS do
for i E 1 . . k do
gv[ i]
max (gv[i], f[i] + 1)
=
S.append ( gv )
/* 2c) Remove satisfied constraints */
for c in CS do
for i E 1 . . k do
if e[i] > gv[i] then
CS.remove (c)
return S
Fig.
3:
Property
IV. 1.
v such that v
>+
sequences.
Property
Lemma
Problem
Theorem
follows by Theorem 2.
We now prove the minimality of the sequences computed
by GBA.
2. Consider a CMP instance I. Let s
(VI . . . vn)
be any sequence solving I, and let 9
(gl ...gm) be the
sequence computed by GBA on I, with possibly n i= m. Then,
the last respective vectors verify Vn 2: gm.
Lemma
vectors
that
includes cs. This computation relies on a
If m
1, n must be equal to 1 as well, and the statement
standard
cycle
detection
algorithm. In particular, we use the
trivially follows. Otherwise, by Lemma 3, we know that if
following
algorithm,
which
is linear in the number of links
gm meets a set cs of constraints, then Vn meets a subset of
constraints E cs. Consider now the sequences (VI ... Vn-l) in the network. Consider the graph resulting from merging
and (gl ...gm-d. Again by Lemma 3, gm-l meets at least the two RSPDAGs, namely, RSPDAG1 and RSPDAG2. First,
same set of constraints that Vn-l meets. This implies that the all the nodes with no incoming or no outgoing edges are
sequence (gm-l gm) meets the same constraints (and possibly removed from the merged graph, as they cannot be part
more) than (Vn-l vn). By iterating the same argument on of any convergence loop. Then, let 15 be the minimum
all the elements in s, we have that (gm-n+l ...gm) meets value as computed in the remaining graph. We update the
at least the same set of constraints as (VI ...vn). Observe graph by simulating an increase of 15 on the merged graph.
that, by definition of s, all the constraints in I must be We iterated this update until all the nodes are visited. The
met by (VI ...vn), hence by (gm-n+l ...gm). Moreover, by last 15 is the maximum value in cs. Indeed, 15 ::; max(cs) ,
Property IVA, GBA stops when all the constraints are met, otherwise the merged graph would have had no cycle and the
i.e., at gm-n+l ' Hence, it must be m n 0 and Ig l
l si , algorithm would have stopped before this iteration. Moreover,
if 15 < max(cs) , then a still unsatisfied cycle must exist,
Preventing Floops
EVALUATION:
Topology
Abilene
GEANT
ISPI
ISP2
ISP3
ISP4
ISP5
ISP6
#nodes I
#edges
1 1 1 28
22 I 72
25 I 55
55 I 195
1 1 0 I 340
1 40 1 4 1 0
2 1 0 I 785
1 1 70 I 7240
8 = 0
36.4
63.6
69.2
8 1 .5
59. 1
67.4
56.7
84.2
%
%
%
%
%
%
%
%
Uniform
max
1 00 %
3
1 00 %
5
4
1 00 %
7
94.4 %
21
81.8 %
21
85.8 %
74.8 %
63
1 47
92. 1 %
l SI < 5
Std GBA
max
1 00 %
3
1 00 %
3
4
1 00 %
1 00 %
3
10
90.9 %
10
92.9 %
82.9 %
33
57
93.2 %
l SI < 5
FF GBA
max
1 00 %
3
4
1 00 %
4
1 00 %
1 00 %
3
11
89. 1 %
11
9 1 .5 %
82.9 %
36
57
93.1 %
lSI < 5
30
28
;!
_ FF GSA incr.
E::J Uniform incr.
c:::J link-by-link incr.
22
2.
18
16
12
10
8
6
V I.
CONCLUSION