Beruflich Dokumente
Kultur Dokumente
I. I NTRODUCTION
Finding optimal routes [1] in packet-switched networks has
been of fundamental research and practical interest since the
early 1970s with the advent of ARPANET [2], the predecessor
of the Internet. But today, sub-optimal distributed link-state
routing protocols with hop-by-hop forwarding like OSPF and
IS-IS are the dominant intra-domain routing solutions on the
Internet. These algorithms have become ubiquitous despite
their potentially very large performance loss because of the
explosive growth of the Internet. As the network scaled, it
was clear that the simplicity of these schemes (the main idea
is to centrally assign weights to links and locally calculate
shortest paths) made them easier to implement and manage
compared to the optimal solutions that had been proposed.
Some of the lost performance was recouped through extensive
capital expenditure. For instance, due to the poor resource
utilization resulting from these protocols, many of the backbone links of the internet are so over-provisioned to support
peak traffic that they run at very low utilizations on average.
Unsurprisingly, the search for an optimal routing algorithm
that has the same ease of management and implementation
as OSPF has continued unabated. In this paper we present
just such an algorithm, HALO (Hop-by-hop Adaptive Linkstate Optimal). To the best of our knowledge, this is the first
optimal link-state hop-by-hop routing algorithm.
Before we proceed, we define a few basic terms followed
by some more background to motivate our study.
Link-state:
Routers make routing decisions based on
knowledge of the network topology and the
weights associated with the links.
Hop-by-hop: Each router, based on the destination address, controls only the next hop that a
packet takes.
Optimal:
The routing algorithm minimizes some cost
function (e.g. minimize total delay) determined by the network operator. The problem
of guiding network traffic through routing
c
978-1-4799-1270-4/13/$31.00
2013
IEEE
the optimal routing solution does not use all available paths to the
destination, as is the case in many networks, for example, any network with
a loop, a set of finite optimal weights for PEFT [8] does not exist.
Linkstate
X
Hop-byhop
X
X
Optimal
Adaptive
X
X
X
X
v:(s,v)E
X
u:(u,s)E
t
fu,s
= D(s, t), s 6= t
fu,v =
t
fu,v
cu,v , (u, v)
tV
t
fu,v
0
(i,j)p
rut
(3)
(0.50, 1.00)
0.8
0.6
0.4
0.2
0.7
0.6
0.5
0.4
0
0
(0.24, 0.00)
0.2
0.4
0.6
0.8
(b) A first test. Suppose the link weights are as shown and wl >
wm > ws + wB . There is a single demand D(A, C) = r.
/k
/k
/k
(c) Multiple outgoing paths. Suppose the link weights are as shown
and wl > wm > ws + wB . There is a single demand D(A, C) = r.
r
A1
Ak
C
(d) Multiple inputs. Suppose the link weights are as shown and
wl > wm > ws + wB . There are k demands D(Ai , C) = r, i =
1, . . . , k.
= r wm + r (wB + wl )
r
r
rB
wl + rB
ws
rB
rB
= (wm wB ws ) 0
where rB is the incoming rate to C at B (superscript dropped
for convenience since C is the only destination) and the
inequality follows from the relationship between the prices.
This particular example can also be used to illustrate the
difference between our approach and Gallagers technique
which arises from the fact that the link leading to the neighbor
with the lowest average price (path A-C with price wm )
may not lead to the cheapest path (path A-B-C with price
wB + ws ). Figure 2 shows the trajectories taken by the two
different algorithms to converge to the optimal solution for
this topology. In order to simulate the long link between node
B and node C, an intermediate dummy node D is introduced
that splits the bottom link between B and C into two equal
capacity links. The capacities used were (A, B) = 5, (B, C) =
10, (A, C) = (B, D) = (D, C) = 3. The rate r = 1 and
initially w = m = 0.5 and l = 1. Here we take only one
split ratio at each node because the value of that split ratio
automatically defines the value of the other at each node. Using
Gallagers algorithm, initially, as can be seen, following the
lowest average price path to the destination (A, C), there is an
increase in the value of m . Also, as expected from theory, the
trajectory of the algorithm (gradient descent) is perpendicular
to the objective function contour curves. On the other hand,
using HALO, both split ratios are decreased initially. HALOs
trajectory is usually not perpendicular to the counter curves,
however, it still goes along a descent direction and drives the
total cost down.
C. Multiple Outgoing Paths
The above case study might lead us to ask whether the
simple rule developed thus far (Equation (3)) is sufficient to
= k r wm + k r (wB + wl )
r
r
rB
wl + rB
ws
rB
rB
= kwm + (kwB + ws ) + (k 1)wl
which may be positive for k > 1. But this problem can be
surmounted by modifying the update rule followed by the split
ratios by adding a weighting factor of the split ratio itself.
Mathematically, we have
t
u,v
=
u,v
t
ru
(4)
rB
wl + rB
ws
rB
rB
= [m wm + (1 m )(wB + wl )] + (wB + wl )
wl + ws
= [m wm + (1 m )(wB + wl )] + (wB + ws )
0
where the last inequality follows from the fact that the average
price from router A to C, which is m wm +(1m )(wB +wl )
has to be at least as large as the price of the shortest path from
A to C, which is wB + ws .
D. Multiple Inputs
Does Equation (4) ensure that total cost decreases along
its trajectory? Another case worth considering is illustrated in
Figure 1d. This time there are k sources A1 , . . . , Ak that have
data to send to router C. Now the concern is that shifting
traffic in an unrestricted manner from all the sources to router
B with l = 1, could cause the total cost to increase as shown
by the calculations below,
m
m
wm + k r
(wB + wl )
= k r
r
r
rB
wl + rB
ws
rB
rB
= k[m wm + (1 m )(wB + wl )] + (k 1)wl
+ (kwB + ws )
t
u,v
ut rut
(5)
t
the destination specific split ratio u,v
. Suppose that (u, v)
E and (u, v) is part of the shortest path to t from u. Then
HALO calculates the split ratios as follows.
if rut > 0,
t
u,v
=
t
u,
v =
else if
rut
t
u,v
, v=
6 v
t
t
u ru
X
t
u,v
v:(u,v)E, v6=v
t
u,v
= 0, v
t
u,
v
= 0,
(6)
(7)
6= v
(8)
=1
(9)
for all t do
Calculate ut
if rut == 0 then
for all v 6= v do
t
u,v
=0
end for
t
u,
v =1
else
for all v 6= v do
t
t
= u,v
u,v
t t
u ru
end for P
t
t
u,
u,v
v =
v:(u,v)E,v6=v
end if
end for
t
fu,v
wu,v =
X X
t
rut u,v
[wu,v + qvt ]
uV (u,v)E
tV
t
where t (f ) =
(u,v)E fu,v wu,v is the rate of change
of the network cost as the flows to destination t change.
Consequently, if we show that t (f ) 0 for each destination
) 0. From Lemma 2,
t, then we have that (f
X
X X
t
t
t (f ) =
fu,v
wu,v =
rut u,v
[wu,v + qvt ]
P
(u,v)E
uV (u,v)E
XX 1 X
t
rut u,v
[wu,v + qvt ]
uB
B uB
(u,v)E
1 X t t
t
ru u,v [wu,v + qvt ] = (qut wu,u+1 qu+1
)
B
u
(u,v)E
(10)
Note if rut = 0, following equations (8) and (9), the left hand
t
side of (10) is zero because u,v
= 0, the right hand side of
t
(10) is also zero because u,u+1 = 1. If rut > 0, (10) is still
valid because
1 X t t
ru u,v [wu,v + qvt ]
uB
each branch,
X 1
uB
uB
t
rut u,v
[wu,v + qvt ] = 0
(u,v)E
such that uB
(u,v)E
(u,v)E
will divide the summation into 12 branches. Following the
t
algorithm for the calculation of , we find, it = 1, ht =
)
= (qut wu,u+1 qu+1
[w
+
q
]
u,v
u u,v
v
B
summation and group them per branch. Recall from the proof
uB u (u,v)E
that for the routers that are downstream to a leaf router in a
n1
X
t
branch, only a fraction of the change in the cost contributed
=
(qut wu,u+1 qu+1
)
s,v
t
t
shortest path which means that all the traffic from every node
rgt
[w
+
q
]
+
r
[wg,h + qht ]
g,v
v
g
t rt
t rt
2
2
in the branch to the destination is along shortest paths to the
g
g
g
g
(g,v)E
(g,v)E
destination.
t
t
X h,v
X h,v
t
t
t
We then have
rht
[w
+
q
]
+
r
h,v
v
h
t
t
t
t [wh,i + qi ]
6
r
6
r
X
X
h h
h h
(h,v)E
(h,v)E
t
=
t (f ) =
fu,v
0 (fu,v ) 0
(11)
t
t
X i,v
X
i,v
t
(u,v)E
rit
[wi,v + qvt ] + rit
[wi,t ]
18it rit
18ht rit
(i,v)E
(i,v)E
Step 2 (Convergence): Given the control laws we have
s
g
h
i
Fig. 3: Shortest Path Tree. Only the links in the shortest path
tree for terminal t is shown with the other links in the network
not shown for ease of exposition.
10
200
400
600
800
Iteration
1000
1200
10
16.3% Load
19.6% Load
22.8% Load
26.1% Load
10
9.8% Load
14.7% Load
19.6% Load
24.6% Load
10
10
3.55% Load
3.99% Load
4.43% Load
4.88% Load
10
1400
500
(a) Abilene
1000
Iteration
1500
2000
10
100
200
300
400
Iteration
500
600
700
Fig. 5: (a)Evolution of the optimality gap for the Abilene network as the number of iterations increases with different network
loads (step-size = 0.001) (b) Evolution of the optimality gap for the 4 4 Mesh network as the number of iterations increases
with different network loads (step-size = 0.01) (c)Evolution of the optimality gap for the Hierarchical 50 node network as the
number of iterations increases with different network loads (step-size = 0.4)
10
10
10
stepsize 0.050
stepsize 0.025
stepsize 0.010
10
10
10
500
1000
1500
Iteration
2000
10
2500
stepsize 0.50
stepsize 0.25
stepsize 0.10
10
Optimality Gap (%)
stepsize 0.0050
stepsize 0.0025
stepsize 0.0010
10
10
10
200
400
600
Iteration
800
1000
10
1200
(a) Abilene
500
1000
1500
2000
Iteration
2500
3000
3500
Fig. 6: (a) Evolution of the optimality gap for the Abilene network as the number of iterations increases with varying step-sizes
(network load = 24.6%) (b) Evolution of the optimality gap for the 4 4 Mesh network as the number of iterations increases
with varying step-sizes (network load = 22.8%) (c) Evolution of the optimality gap for the Hierarchical 50 node network as
the number of iterations increases with varying step-sizes (network load = 5.3%).
140
HALO
Optimal
50
100
Optimal Value
100
200
HALO
Optimal
120
Optimal Value
Optimal Value
150
80
60
40
HALO
Optimal
150
100
50
20
0
10
12
14
16
18
20
Network Load (%)
22
24
0
12
26
14
16
18
20
Network Load (%)
22
24
26
3.5
(a) Abilene
4
4.5
Network Load (%)
5.5
Fig. 7: (a) Mesh Network Optimal Performance (b)Abilene Network Optimal Performance (c)Hierarchical 50 Node Network
Optimal Performance Centralized optimal value matched by HALO
1500
1000
500
400
300
200
100
21
22
23
24
Network Load (%)
(a) Abilene
25
26
3000
500
2000
600
2500
2500
2000
1500
1000
500
16
18
20
22
24
Network Load (%)
26
28
4.2
4.4
4.6
4.8
Network Load (%)
5.2
Fig. 8: (a) Abilene Network Algorithm Comparison (b) Mesh Network Algorithm Comparison (c)Hierarchical 50 Node Network
Algorithm Comparison Relative performance of different algorithms for different network loads
10
10
10
Optimality Gap (%)
10
stepsize 0.001
stepsize 0.005
stepsize 0.01
10
200
400
600
800
1000
Iteration
1200
1400
1600
1800
IndianapolisKansas City
IndianapolisAtlanta
IndianapolisChicago
0.8
0.6
0.4
0.2
0
0
500
1000
1500
2000 2500
Iteration
3000
3500
4000
10
10
20
30
40
50
60
Iteration
70
80
90
100