Вы находитесь на странице: 1из 10

Multi-Path Dynamic Algorithm for SPT Calculation and

Its Performance Evaluation.


Miss Punam S Karadge Mr. Md S Alam
Department of Electronics & telecommunication, Department of Electronics Technology,
D Y Patil college of Engg & Technology, Kolhapur. Shivaji University, Kolhapur.

Mr. A. A. Dum. Mr. Anil Mohite


Department of Electronics Technology, Department of Electronics Technology,
Shivaji University, Kolhapur. Shivaji University, Kolhapur.

ABSTRACT System (IS-IS) [2] are the most used intra-


Autonomous System (AS) routing protocols in
This paper analyzes intra-domain routing today’s Internet. They are link-state protocols
protocols improvements to support new features and use the well know Dijkstra algorithm to
required by real-time services. The Open Shortest construct the router routing table. Their
Path First (OSPF) and IS-IS routing protocols are performance can be characterized by the
intra-domain routing protocol widely used in convergence time, which represents the time
today’s Internet. To compute a shortest path tree
for a network to reconfigure itself when a
(SPT) from each router to other routers in a
topological event happens. The convergence
routing area above protocol most of time uses
Dijkstra algorithm. Many existing commercial time is influenced by three different phases
routers recomputed an SPT from scratch, due to performed by routing protocols: detection,
changes happened in the state of link in the flooding and Shortest Path First (SPF)
network. Such re-computation of an entire SPT is computation. The detection phase consists in
inefficient and may consume a considerable an identification of a topological change and,
amount of CPU time. Moreover, as there may co- if no hardware detection mechanism is
exist multiple SPTs in a network with a set of provided, depends upon a Hello messages
given link states, re-computation from scratch exchange between routers. The propagation
causes frequent unnecessary changes in the
phase consists of an exchange of Update
topology of an existing SPT and may lead to
messages between the router that discovers
routing instability. For that presented a new multi-
path dynamic algorithm which uses multipath the modification and every other network
information and the structure of the previously router, through flooding mechanism; the SPF
computed SPT to make a fast determination about computation is the phase in which the
the new shortest paths when a link failure occurs, shortest paths to all destinations are
reducing this way the network re-convergence evaluated using the Dijkstra algorithm. In the
time. In particular paper introduces Open Shortest last years there has been a great interest in
Path Fist (OSPF) with Fast Convergence and realtime services as VoIP and distributed
highlights the advantage of using a dynamic gaming. The delay and jitter constraints
algorithm instead of the static Dijkstra one to make impossible the use of the TCP protocol
compute the shortest paths. Objective of proposed
to reduce the packet loss for these services
Multi path Dynamic Routing Algorithm is not only
efficiency of algorithm but this algorithm design when a node and/or a link failure occurs [3].
objective is to achieve routing stability by making For this reason the network convergence time
minimum changes to the topology of an existing must be reduced so that fewer data packets
SPT when only some link states in the network are lost.
have changed. In particular convergence time has to
be significantly reduced from the actual 40-
Keywords: Open Shortest Path First (OSPF), 50 seconds to 100-200 ms. As described in
SPT, Dynamic algorithm, network stability. [4]–[7] to obtain low failure and restoration
times, OSPF optimizations must be
1. Introduction supported. The network convergence time
OPEN Shortest Path First (OSPF) [1] may be accelerated by improving the
and Intermediate System-to Intermediate following OSPF procedures: i) hardware

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

Figure 2: Figure 1: flow charts of


initialization phase when edge deletion  Example of edge deletion
happens We can explain with an example
referring to a simple network how our
The last part (Figure 3) of the dynamic algorithm works. Figure 4 shows a
algorithm is Q elements extraction and network graph, where each link is
handling. If Q is not empty its”best” element bidirectional and weighted: for simplicity the
(v, P, dnew) is extracted and a check to two edges of the same bidirectional link have
determine if dnew is either smaller than v the same cost. The solid thick arrows are all
distance or the two distances are equal is the SP (G) edges while the thin dashed ones
performed. In the first case, step-1, new do not belong to SP (G). Let us suppose that
paths have to be considered so the algorithm the edge from node p to node v fails.
only adds P to P(v), v to the sets of children
of new parents and it recalculates next-hop
attribute for v and its descendents. In the
other case, step-2, new paths are the better
ones so v distance and relationship between
v and its parents are changed: P is the new
set of parents of v, v is deleted from the sets
of children of old parents and it is added to
the sets of children of new parents, next-hop
attribute is recalculated.
The same operations are performed
for every descendent of v, deleting parent-
child relationship between it and nodes that
are external to D (v). Finally, step-3, all
possible new shortest paths for external Figure 4: Network graph with subset
nodes are evaluated. of edges and their cost

In the initialization phase of the


dynamic algorithm it is first checked if the
deleted edge belongs to SP (G) and then all

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).

Figure 7: During initialization phase (b)

After initialization phase the algorithm


produces the SP (G) represented in Figure 7.
The last thing to do in the initialization phase
is to find new shortest paths for affected
nodes, through nodes that are external to
D(v). In particular all external incoming
edges must be evaluated. In this case the
best path for node v has got a as a parent
and a cost equal to 35, so that the element
(v, a, 35) is enqueued in Q. For node l the
Figure 5: Set of affected nodes after edge best path has got t as a parent and a cost
detection equal to 70, (l, t, 70) is enqueued in Q. For
node s the best path has got q as a parent
and a cost equal to 65, (s, q, 65) is enqueued
in Q. Notice as during the initialization phase
the set of affected nodes has been reduced
from five to three elements, using multi-path
information.
In the main phase of the algorithm,
the first element extracted from Q is v: its
new possible distance (35) is obviously better
than the actual one (infinite) so all its
attributes, except for the set of children, are
changed (d (v) = 35, P (v) = a, NH (v) =
{p}); node v will certainly not be modified
during the last part of the algorithm, as
Figure 6: During initialization phase (a) explained in the correctness analysis. All
descendents of v have to be updated, so d (l)
So t is in turn removed from D (v), its = 45, NH (l) = p, d(s) = 65 and NH(s) = p.
distance is not changed and its set of parents

7
algorithm is SPF computation time [26] time
needed for a router to complete SPF
computation.

Figure 8: Final SP (G)

The second element extracted is s: its


new possible distance is equal to its distance,
up-dated in the first step, so the algorithm Figure 9: Performance comparison of the
simply stores this new equal cost path adding dynamic algorithm implemented in Cisco
q to P(s) and z to NH(s). Considering equal 2801 and Quagga in the case of link failure
cost multi-path, the router r can reach the
node s through two different next-hop Observing Figure 9 you can notice that
routers, balancing the traffic. The last the dynamic algorithm is more efficient than
element extracted from Q is l but its new the Dijkstra one, in both Cisco 2801 and
possible distance is bigger than the present Quagga. In fact the average SPF computation
one, so nothing has to be done. The time for dynamic algorithm is 9.5 ms and 0.9
candidate heap is empty and the algorithm ms for Cisco 2801 and Quagga respectively
stops. Final SP (G) is represented in Figure 8. while for Dijkstra algorithm is 34 ms and 9
ms respectively. Hence the dynamic
4. PERFORMANCE EVALUATION algorithm in Quagga allows for 8 ms
reduction in the SPF computation time. That
Evaluation of the algorithm behavior is means avoiding to loose 80 millions bit in the
done in a real environment, implementing it case of a 10 Gbit/s link, if a link failure
in a routing protocol, OSPF, and measuring happens.
protocol performance indexes in different We compare in Figure 13 for Verio
topology scenarios. To implement dynamic topology our multi-path dynamic algorithm to
algorithm a routing software with an open that proposed by Ramalingam-Reps [8]. To
code (Open-source routing software), Quagga the best knowledge of the authors, this
is used. Quagga is designed for Unix algorithm is the only one supporting the
operating systems (Linux, BSD and Solaris) multi-path. From Figure 13 we can notice
and it provides TCP/IP based routing that the Ramalingam-Reps algorithm
protocols, including OSPF, RIP and BGP. The performs much worse than our algorithm, in
most interesting aspect of open-source particular the SPF computation time is eight
routing software is its flexibility that allows times higher for the worst cases. Before
for evaluation of new routing features, such analyzing results we must highlight that
as our algorithm. Implemented dynamic implementation of the Ramalingam- Reps
algorithm in the OSPF code of the Quagga algorithm inside a routing protocol has been
software that every time an edge deletion or really hard because of aspects discussed in
insertion happens, dynamic algorithm, Section II-C. First of all SP(G) is implemented
instead of Dijkstra one, is performed. OSPF [8] by means of an adjacency list. The most
performance indexes and methodologies for delicate issue is next-hop computation
their evaluation have been defined by IETF because the Ramalingam-Reps algorithm
RFCs [23]–[25]. The most interesting does not make use of a nexthop attribute for
performance index to characterize our

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

Вам также может понравиться