Академический Документы
Профессиональный Документы
Культура Документы
1
detection of failures: a router promptly In this paper we propose a new
detects failures and immediately informs dynamic routing algorithm that supports
OSPF protocol about it; ii) higher rate of the multi-path. It uses multi-path information to
hello packets so that link failure in networks quickly calculate the new shortest paths
interconnecting the routers may be when a link failure occurs. To evaluate the
immediately detected; iii) faster introduced algorithm performance, we
announcement of failures throughout the implemented it on one of the open source
network: once a failure has been quickly routing software. The performance evaluation
discovered, a new LSA packet describing is performed measuring the SPF computation
topological modification is created and time index of an OSPF router [18]. The two
flooded across the network; the flooding may measurement types allowed us to compare
be optimized to limit the process to less than the proposed multi-path dynamic algorithm
a few milliseconds; iv) reduction of the OSPF performance to one of the dynamic algorithm
timers to a few milliseconds; the stability is proposed in [19] and then to one of the most
not compromised because an exponential important uni-path dynamic algorithm
back-off timer mechanism is introduced to proposed in literature [10].
control how fast the router reacts to a specific
event. Initially, the timers are set to a few 2. DYNAMIC ALGORITHM
milliseconds so that the reaction is almost
immediate, but if events occur too often, the Motivations
timers are increased to preserve stability: v) The key element of a link-state
accelerated computation of the new shortest routing protocol is an algorithm that
paths: upon failure notification, all routers evaluates the shortest paths from a source to
must run the Dijkstra algorithm on the entire all destinations. Actual intra AS routing
topology to compute the shortest paths; a protocols, such as OSPF and IS-IS, make use
dynamic algorithm [8]–[11] may be used to of Dijkstra algorithm: when a topological
reduce the SPF computation time, instead of change happen, all the Shortest Paths (SP)
the Dijkstra one. Most dynamic routing are calculated from scratch and not using the
algorithms proposed in literature do not old shortest paths information. The SP
support multi-path and hence they are not computation, performed by Dijkstra
able to determine all of the shortest paths algorithm, is the hardest operation for a
between source and destination. Only one of router, because the entire CPU is used, and it
these paths is computed. Dynamic routing is also the most problematic. In fact when a
algorithms are not suitable to be adopted in topological change occurs and SP
OSPF routing protocol because that needs computation procedure is executing, the used
Equal Cost Multi-path Path (ECMP) support routing table does not reflect the real network
[12], which is the computation of all paths of topology. In this way data packets can pass
minimum cost from a source to a destination; through sub-optimal paths or even through
ECMP allows routers to perform packet paths that are not available any more, hence
forwarding through a larger number of they can be lost, degrading the network
minimum equal cost paths. Today ECMP is performance.
considered an important feature because This scenario can happen whenever
allows higher network reliability. In fact, due there is a link failure, which represents the
to multi-path support, the network may most dangerous event for a network. In the
forward packets on alternative paths when a last years some studies has been done to
link failure occurs. Multi-path support also characterize the evolution of a network
allows to customize paths for different topology, analyzing routing protocols
applications [13] and to improve TCP messages and SP successions. In particular
performance: in particular the works in [14]– the work presented in [21], where an
[16] demonstrate that transport-layer Internet Service Provider (ISP) has been
performance can be increased by some TCP analyzed for a year, demonstrates as 65% of
modifications, performed to support path SP computations produces the same SP that
diversity. was used before the topological event and in
2
the other cases the SP calculated is really throughput path. In addition, an application
similar to the last one. These results highlight can access more bandwidth by using multiple
that Dijkstra algorithm is inefficient in a real paths simultaneously.
scenario where only few operations have to • To improve end-to-end reliability:
be done to calculate new SP instead of a full If multiple paths exist, traffic can switch
computation. These motivations have led to quickly to an alternate path when either a
the introduction of a new class of algorithms link or a router fails.
for the computation of the shortest paths, the • To avoid congested paths:
dynamic ones [8]–[11]. They make use of When multiple paths are available, traffic can
the previous SP to calculate the new one, re- move an alternate path to circumvent
computing only the shortest paths influenced congestion.
by the topological event. In this way dynamic Multi-path is a feature of the static
algorithms meet real network requirements: Dijkstra algorithm while it is not supported by
computing resources are saved, best paths the previous algorithms. Another aspect to be
are available first, and therefore network considered is that the algorithm has to
convergence time can be highly reduced. maintain information needed to update the
routing table, for example the next-hop
Dynamic algorithms in a routers. These last elements represent the
networking scenario first routers in the paths from root to
Dynamic algorithms described before destination node and they are just the next-
cannot be directly used in a routing protocol hop routers to be inserted in the routing
because in a real networking scenario they table. The weak point of the algorithm
have to satisfy specific requirements. First of discussed in [8] is that for each node it
all a dynamic algorithm has to be developed maintains only distance and out-degree
to react to the most common events in a information, and not the useful information to
network. As discussed in [21] link failure and calculate the sequence of nodes representing
restoration are the most frequent topological the shortest paths from root to every
changes, while link metric modifications are topology node. After a new SP computation
quite rare. A deeper analysis, presented in has been performed, information about next
[22], demonstrates that 70% of unplanned hop routers must be stored in the routing
events involve single links. We can conclude table for each computed shortest path. This
that failure and restoration of a single edge operation may be executed in low
have to be events the algorithms react to. In computation time only if the SP data
this way algorithms proposed previously structure is defined so to allow a fast next-
cannot be used as they have been presented, hop router computation for each shortest
they must be modified in a way that failure path. Finally, a dynamic algorithm suitable
and restoration events can be considered. A for a networking scenario has to react to
really important characteristic that a routing single edge deletion and insertion, to support
protocol algorithm must have is multi-path multi-path and to create specific data
support. OSPF protocol needs ECMP support, structures. In the next section we propose a
which represents the possibility for routers to new dynamic routing algorithm. Its
split, through a per-flow or a per-packet advantage is twofold: to support multi-path
differentiation, packets directed to the same and to exploit multi-path information in order
destination among minimum equal cost paths to make fast the determination of the new
[12]. In fact, due to multi-path support, the shortest paths when a link failure occurs,
network may forward packets on alternative reducing the network convergence time.
paths when a link failure occurs. Motivations
for flexible multi-path routing are reported in
3. MULTI-PATH DYNAMIC ALGORITHM
[13]. The main advantages are:
• To customize to application performance In this section we introduce our multi-
requirements: path dynamic algorithm and show its
Different applications have different needs. If behaviour in a link failure scenario. Our
multiple paths exists VoIP traffic can use a algorithm is a dynamic version of Dijkstra
low-delay path, while data traffic uses a high- static algorithm which reacts to single link
3
deletion and insertion; its relevant a descendent of node v if a path in SP (G)
characteristic is the way it makes use of exists, in which the node v precedes the node
multi-path information to speed up SP p), so that the set D (v) is introduced. D (v)
computation. Before describing our algorithm is computed at the beginning of the algorithm
we have to introduce some notations used in whenever an insertion/deletion procedure
network graphs. begins, or every time a node is extracted
from the candidate list Q in main procedure.
Terminology required For this reason D (v) updating is not needed
Let G (V, E) denote a weighted but re-computation is performed during the
directed graph where V is the set of nodes execution of the algorithm. D (v) is
and E is the set of edges. The data structure represented by means of a linked list. As it
representing the graph G (V, E) is an will be clear later on, the algorithm correctly
adjacency list. Let r (G) denotes the root works if descendents of v are stored in D (v)
node of G. For each directed edge e ∈ E, let S so that any element appears before any of its
(e), E (e) and w (e) denote respectively its children. This operation can be accomplished
source node, its end node and its weight. A in two steps at O (|D(v)|max) computation
path from a node x to a node y is a sequence cost, |D(v)|max being the maximum
of edges connecting x with y; a cost equal to cardinality of the set D(v). In the first step all
the sum of the paths edges weights is of the children of v are inserted. Afterwards,
associated to each path in the graph. The children of the v’s children are inserted and
Shortest Path SP (G) is the set of all shortest so on.
paths from r (G) to other nodes of the graph The algorithm uses two sets of edges:
and it is unique. Because we take into I (D(v)), all edges incoming into the set of
account the multi-path, there are more descendents of v, and O(D(v)), all edges
minimum cost paths from r (G) to a node w outgoing from the set of descendents of v.
in SP (G). SP (G) is represented by The sets I(D(v)) and O(D(v)) are not stored,
introducing three attributes for each node v ∈ they are computed every time they need.
V: P (v), C (v) and d (v). P (v) is the set of Those links may be easily evaluated because
parents of v (a node p is a parent of node v if it is only needed to scan the elements in D
S (e) = p, E (e) = v and e ∈ SP (G)), C (v) is (v) and for each of them the incoming and
the set of v’s children (a node c is a child of outgoing links are immediately determined by
node v if S (e) = v, E (e) = c and e ∈ SP (G)), the adjacency list representing the network
d (v) is v’s distance. Moreover an extra graph G (V, E). The algorithm maintains a
attribute is needed for each node, NH (v), the data structure, the candidate list Q, that
set of next-hops for v (a node p is a next-hop contains nodes whose attributes must be
for v if there is a path in SP (G) from r (G) to updated. An element in Q is the triple (v,P,
v, for which p is the first node after r (G). We dnew), where v is the node to be updated, P
need to introduce the attribute NH (v) of a is the new set of parents and dnew is the new
node v because in an Internet routing distance of v. Two operations can be
protocol a root node, in order to update its performed on Q: EXTRACT and ENQUEUE.
routing table, needs to know, for every path The first one extracts from Q the element
to v, which one is the first node to reach v. with the smallest dnew field.
NH(v) can be easily calculated from the next-
hop attribute of all parents of v, so if P(v) = Algorithm description
{p1, ......., pn} then NH(v) = ∪p∈P(v)NH(p) The dynamic algorithm is divided in
= NH(p1) ∪ .....∪ NH (pn). The NH(v) two phases: the initialization phase, in which
attribute needs to be recalculated even if, all nodes directly affected by deletion or
after a topology change, v does not change insertion of edge are updated, and the main
any other attribute but a node of which v is a phase, in which candidate heap nodes are
descendent has changed its parents attribute. dequeued and inserted in SP (G). The formal
During algorithm execution it will be description of the algorithm is reported
useful to be able to easily detect the below.
descendents of a particular node (a node p is The initialization phase is different for
edge deletion and insertion. Let us start
4
describing the initialization phase when an
edge e insertion happens, denoting E (e) = v
and S (e) = p. First it is checked, step-1, if
the path containing e as its last edge is a
shortest one: if the path has a cost higher
than d (v) the algorithm stops, because the
insertion of the edge e does not allow any
shorter path to be found. If the cost of the
new path is equal to d(v), step-2, the new
path has to be added to previous shortest
paths of node v so that just the parent-child
relationship between p and v has changed,
adding p to the set of parents of v and v to
the set of children of p. Then for every
descendent of v the next-hop attribute is
recalculated. If new path cost is smaller than
d(v), step-3, the new path is the only
shortest path of node v and all v attributes
are changed: d(v) is now equal to new path Figure 1: flow charts of initialization
cost, p is the only parent of v and NH (v) is phase when edge insertion happens
equal to NH (p). Moreover v is added to the
set of children of p and it is deleted from the If no other paths of minimum cost are
old sets of its parents’ children. Then v found, step 3, the algorithm tries to reduce
descendents distances are updated and they the number of affected nodes using the
are marked using the marv() attribute. These multi-path information. First v passes in an
way parent-child relationships between unreachable state: its distance is set to
descendents of v and node that are external infinite, sets of parents, children and next-
to D (v) are modified. In this scenario every hop are set to empty and the marv()
descendent of v has in its set of parents only attribute of its descendents is set to 1. For
v descendents nodes, in other words nodes every descendent of v the set of parents is
belonging to D (v) are reachable only through evaluated, in order to find possible multi-path
v and so their next-hop attribute is the same not involving edge e. If at least one external
of the v’s one. Finally all the edges outgoing path is found, the descendent is deleted from
to v and D (v) arescanned, in order to find the set D (v), its marv() attribute is set to 0,
new possible shortest paths for nodes that its set of parents is ”reduced” with the only
are external to D(v). The flow charts of the external parents and next-hop attribute is
insertion are illustrated in Fig. 1. updated. If there are no external paths, the
Now we describe the initialization descendent is put in an unreachable state
phase (figure 2) of our algorithm when an without deleting its set of parents and it
edge deletion happens. The first thing to do continues to belong to D (v), adding it to the
is to check if edge e belongs to SP (G). If it is sets of children of its parents, composed by
not, the algorithm stops because the edge only ”internal” nodes. In this way the set of v
deletion does not change SP (G). If e is an SP descendents, for which the old parent-child
(G) edge, some preliminary steps are relationships are maintained, is reduced to a
performed: p is deleted from the set of subset of nodes that has to increase their
parents of v and v from the set of children of distance, while nodes with external multi-
p. So we checked if other paths of minimum paths are quickly updated. Finally all edges
cost exist, evaluating P (v). If other minimum incoming into v and D (v) are scanned to find
cost paths are found, step-2, the algorithm new shortest paths for node that are internal
uses this multi-path information to easily re- to D (v). Notice that the distance of these
compute SP (G): the only change is in the nodes has been set to infinite.
nexthop attribute for v and all its
descendents.
5
Figure 3: flow charts of main phase
6
nodes affected by failure are checked: this contains the only node i. The last descendent
set of nodes is represented in Figure 5 by the of v is s and for it there are no external
dashed curve. The algorithm has to evaluate multi-paths so it is set to an unreachable
the set of parents of v to find possible multi- state. The unreachable nodes maintain their
paths: the only parent of v is p so v is parent-child relationships (C (v) = l, P (l) =
unreachable and its attributes are changed (d v, C (l) = s, P(s) = l).
(v) = ∞, P (v) = {φ}, NH (v) = {φ}).The
search for external multi-path is performed
for all descendents of v, scanned in an
ordered way. For node l there are no external
multi-paths while there is one for node i, with
e as a parent: i is deleted from D (v), its set
of parents now contains the only node e and
its distance remains 40. The SP (G) at this
time is represented in Figure 6. Scanning the
descendents of v, the algorithm finds an
external equal cost path for node t too. It has
got two parents: l, a v descendent, and i, just
removed from D (v).
7
algorithm is SPF computation time [26] time
needed for a router to complete SPF
computation.
8
each node; in this way it is not possible to 4. Conclusion
compute next-hop routers of a node as the
Many existing commercial routers uses
union of the sets of next-hop routers of its
static Dijastra algorithm to recompute an SPT
parents.
from scratch, due to changes happened in the
state of link in the network. Such re-
computation of an entire SPT is inefficient
and may consume a considerable amount of
CPU time. Static Dijkstra algorithm is
inefficient in a real scenario where only few
operations have to be done to calculate new
SP instead of a full computation. As a
solution, this paper introduces a new class of
algorithms called Multipath dynamic
algorithm for the computation of the shortest
paths that dynamic ones. They make use of
the previous SP to calculate the new one, re-
computing only the shortest paths influenced
Fig. 13. Performance comparison of the by the topological event. Along with that it
Ramalingam-Reps and praposed dynamic takes advantage of multipath information
algorithm in the case of link failure which offers alternative path for data when
one link failure occurs in network.
The only way to compute the next-hop Finally we evaluated the performance
routers of a node is to use adjacency list of a new multipath dynamic shortest path
representing SP(G): in particular for each algorithm which supports multi-path and
shortest path of the node all its predecessors exploits multi-path information to allow lower
in SP(G) need to be scanned until the next- network convergence time with respect to a
hop router is reached. This operation, which uni-path algorithm. The algorithm
has to be performed each time a vertex is performance has been compared to the
updated during dynamic algorithm, involving performance of two different algorithms: the
so only affected nodes, is much more first one proposed by Cisco, the second one,
complex than next-hop computation in our of uni-path type, proposed in [11]. Praposed
algorithm and depends heavily on the algorithm has been also compared to the
number of shortest paths of a node: in fact algorithm in [8], the dynamic algorithm
for each shortest path the SP(G) has to be supporting multi-path. The obtained results,
crossed back to detect its next-hop router. It proposed algorithm performs better in all
is clear that such a procedure is not really case studies, especially in a link failure
efficient, especially when a lot of nodes are scenario.
involved by topological modification and a lot References
of minimum equal cost multi-paths exist, as
shown in Figure 13. [1] J. Moy, “OSPF Version 2,” Request for
Comments 2328, Apr. 1998.
We can summarize that the bad
[2] R. Callon, “Use of OSI IS-IS for routing in
performance of the Ramalingam-Reps TCP/IP & dual environment,” RFC 1195,Dec. 1990.
algorithm is due to the fact that the [3] C. Boutremans, G. Iannaccone, and C. Diot,
objective of the algorithm is to evaluate in an “Impact of link failures on VoIP performance,” in
optimized way the new node distance when Proc. ACM NOSSDAV, May 2002, pp. 63-71.
deletion and insertion of an edge occur. To [4] C. Alaettinoglu, V. Jacobson, and H. Yu,
support a routing protocol instead, the “Towards milli-second IGP convergence,” IETF
routing algorithm must be able to evaluate in Internet Draft, Nov. 2000.
an optimized way both new node distance [5] A. Basu and J. G. Riecke, “Stability issues in
and next-hop nodes. Finally we have OSPF routing,” in Proc. ACM Sigcomm, Aug. 2001.
[6] P. Francois, and O. Bonaventure, “Achieving
analyzed our algorithm performance when
subsecond IGP convergence in large IP networks,”
the link costs are not equal. SIGCOMM Comput. Commun. vol. 35, July 2005.
9
[7] C. Filsfils, “Calculating new routes faster,” [25] V. Manral, R. White, and A. Shaikh,
Packet Magazine, vol. 16,Third Quarter 2004. “Consideration when using basic OSPF
[8] G. Ramalingam and T. Reps, “On the convergence benchmarks,” RFC 4063, Apr. 2005.
computational complexity of dynamic graph [26] V. Eramo, E. Cipollone, “Performance and
problems,” Theoretical Computer Science, vol. flexibility of open source routing software,” in
158, no. 1-2, May 1996, pp. 233277. Proc. NTMS May 2007.
[9] D. Frigioni, U. Nanni, “Fully dynamic
algorithms for maintaining shortest paths trees,”
Journal of Algorithms, vol. 34, no. 2, Feb. 2000.
[10] P. Narvaez, K.-Y. Siu, and H.-Y. Tzeng, “New
dynamic algorithms for SPT computation,” IEEE
Trans. Networking, vol. 8, Dec. 2000.
[11] P. Narvaez, K.-Y. Siu, and H.-Y. Tzeng, “New
dynamic SPT algorithm based on a ball-and-string
model,” IEEE Trans. Networking, vol. 9, no. 2,
Dec. 2001, pp. 706-718.
[12] D. Thaler and C. Hopps, “Multipath issues in
unicast and multicast next-hop selection,” RFC
2991, Nov. 2000.
[13] J. He and J. Rexford, “Toward Internet-wide
multipath routing,” IEEE Network, vol. 22, no. 2,
Mar./Apr. 2008, pp. 16-21.
[14] H. Han, S. Shakkottai, C. V. Hollot, R.
Srikant, and D. Towsley, “Multipath TCP: a joint
congestion control and routing scheme to exploit
path diversity in the Internet,” IEEE/ACM
Transactions on Networking, vol. 14, Dec. 2006.
[15] Y. Lee, I. Park, and Y. Choi, “Improving TCP
performance in multipath packet forwarding
networks,” J. Commun. and Networks, June 2002.
[16] P. Key, L. Massoulie, and D. Towsley,
“Combining multipath routing and congestion
control for robustness,” in Proc. CISS Mar. 2006.
[17]Quagga [Online] Available www.quagga.net.
[18] V. Eramo, M. Listanti, and A. Cianfrani, “OSPF
performance and optimization of open source
routing software,” International J. Computer
Science and Applications, vol. 4, no. 1, June 2007.
[19] Cisco System Inc., http://www.cisco.com.
[20] D. Frigioni, and G. Pasqualone, “Experimental
analysis of dynamic algorithms for the single
source shortest path problem,” ACM J.
Experimental Algorithms, vol. 3, no. 5, 1998.
[21] D. Watson, F. Jahanian, and C. Labovitz,
“Experiences with monitoring OSPF on a regional
service provider network,” in Proc. ICDCS 2003,
May 2003.
[22] A. Markopoulou, G. Iannaccone, S.
Bhattacharyya, C. N. Chuah, and C. Diot,
“Characterization of failures in an IP backbone,” in
Proc. IEEE Infocom 2004, vol. 4, Mar. 2004.
[23] V. Manral, R. White, and A. Shaikh,
“Benchmarking basic OSPF single router control
plane convergence,” RFC 4061, Apr. 2005.
[24] V. Manral, R. White, and A. Shaikh, “OSPF
benchmarking terminology and concepts,” RFC
4062, Apr. 2005.
10