1. A Novel APSP and its Application in Multi Domain SDN
Sarat Chandra Prasad Gingupalli
(12IS21F)
Under the guidance of
Mrs. Saumya Hegde
DEPARTMENT OF COMPUTER SCIENCE ENGINEERING
NITK Surathkal
June 27, 2014
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 1 / 37
2. Agenda
Introduction
Literature Survey
Problem Statement and objectives
Methodology
Analysis
Results and Discussions
Conclusion and Future Work
References
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 2 / 37
3. Introduction: Ossification of Internet
The ossification of the Internet is a natural evolutionary stage in the
development of any highly successful technology.
The competition between the vendors brought lot of heterogeneity
into the Internet and now which is becoming a hindrance in deploying
new network technologies.
To address these issues the concept of programmable networking was
introduced.
Software Defined Networking(SDN) is one such programmable
networking technology which aims to provide network as a service like
any other resources such as computing and storage.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 3 / 37
4. Introduction: Agile Networking
Agile Network and SDN offers an unprecedented experience in quality
while meeting the requirements of mobile applications, cloud computing,
and social media.
Reduced Labor and Efficient Operation and Management
Quick Service Innovation
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 4 / 37
5. Introduction: Shortest Path Problem
In graph theory, the shortest path problem is the problem of finding a path
between two vertices (or nodes) in a graph such that the sum of the
weights of its constituent edges is minimized.
The different types of shortest path problems are listed as follows:
single-source shortest path problem
single-destination shortest path problem
all pair shortest path problem
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 5 / 37
6. Introduction: Shortest Path Problem
The most important algorithms for solving this problem are:
Dijkstra’s algorithm solves the single-source shortest path problem.
BellmanFord algorithm solves the single-source problem if edge
weights may be negative.
A* search algorithm solves for single pair shortest path using
heuristics to try to speed up the search.
FloydWarshall algorithm solves all pairs shortest paths.
Johnson’s algorithm solves all pairs shortest paths, and may be faster
than Floyd- Warshall on sparse graphs.
Viterbi algorithm solves the shortest stochastic path problem with an
additional probabilistic weight on each node.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 6 / 37
7. Literature Survey
The brief study and analysis is made in following concepts:
Overview of All Pair Shortest Path Problem
Graph Decomposition a NP Complete Problem
Overview of Security Issues in SDN
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 7 / 37
8. Overview of All Pair Shortest Path Problem
Given a graph G = (V ,E)
Floyd Warshall algorithm takes O(n3) to compute the shortest paths
between the all pair of vertices in the worst case.
(Bloniarz P.A.,1983) proposed an all pair shortest path algorithm with
the running time O(n2lognlogn) further improvement to this was
proposed by (Alistair and Takaoka,1985)with the expected running
time O(n2logn).
(Wei F.,2010) proposed TEDI(TreE Decomposition by Indexing)
In the case of sparse graphs the time complexity for constructing the
index is O(n2) and the query time is O(th), where t is the width of the
tree and h is the height of the tree.
(Raghavendra, Jorge and Lee, 2012) proposed Dynamic TEDI
Dynamic TEDI was proposed based on TEDI and the limitations in
TEDI are continued to exist in Dynamic TEDI.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 8 / 37
9. Graph Decomposition a NP Complete Problem
Graph decomposition is basically a partition of a set into disjoint
subsets taken from a given collection.
Till today there exists no algorithm which can decompose the given
graph into components of equal size in a polynomial time.
In 1980, Holyer conjectured that Graph decomposition is
NP-complete whenever G is connected and has three edges or more.
Many heuristic approaches are proposed to decomposed the parse
graphs in a polynomial time.
In computer science, artificial intelligence, and mathematical
optimization, a heuristic is a technique designed for solving a problem
more quickly when classic methods are too slow, or for finding an
approximate solution when classic methods fail to find any exact
solution.
This is achieved by trading optimality, completeness, accuracy, or
precision for speed.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 9 / 37
10. Overview of Security Issues in SDN
As SDN is a new design paradigm so the security challenges of SDN
have to be addressed from the scratch.
As the control plane is separated from the data plane in SDN,it is
creating a clear centralized point of attack.
Because of heterogeneity in the traditional networks an attacker have
to follow different attacking strategies in order to attack the entire
network but where as in the case of SDN, entire network can be
compromised by compromising the controller.
(Seungwon and Guofei, 2013) demonstrated an effective and efficient
attack against SDN with the knowledge of some basic characteristics
of the SDN technology.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 10 / 37
11. Problem Statement
Finding the novel All Pair Shortest Path algorithm which can
effectively decompose the graph and can efficiently finds the shortest
path in a source routing Multi Domain SDN interms of computation
time and memory requirements.
As securing the network topology is a key criteria in a Multi Domain
SDN, algorithms are proposed for securing the network topology.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 11 / 37
12. Objectives
To Design a Novel Graph Decomposition Technique.
To Design Algorithms for Securing the Network Topology.
Performance comparison.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 12 / 37
13. Methodology: Novel APSP
Finding the articulation points.
Decompose the graph into number of components are of uniform size.
In each component do the following.
Identify the peripheral vertices in the component.
Apply the Dijkstra’s algorithm to find the shortest path from every non
peripheral vertex to every other peripheral vertex in the component.
Apply the Dijkstra’s algorithm to find the shortest path between
peripheral vertices in the component.
Construct a graph by taking the peripheral vertices from all the
components and apply Floyd Warshall algorithm to find the shortest
paths between all the pairs.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 13 / 37
14. Methodology: Graph Decomposition
The algorithm for decomposing a graph G = (V ,E) by applying |V |
reduction is as follows
1 Start with any random vertex v ∈ V , which is not visited, create an
empty vertex set.
2 Add the vertex v to the vertex set. Mark the status of the vertex v as
visited, and identify all its neighboring vertices.
3 Visit any of the visited vertices neighboring vertex such that the
number of outgoing edges should be of minimum.
4 If tie occurs, it will be resolved by giving priority to the vertex whose
parent vertex is visited first and if tie occurs among the vertices
whose parent vertex is same in that case it will be resolved by
randomly choosing any of the vertex.
5 Repeat steps 2-4 until the number of vertices visited is |V | or there
exists no vertex to visit further.
6 Identify the peripheral vertices of the vertex set and then identify the
neighbors of these peripheral vertices which are not included in the
vertex set.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 14 / 37
15. Methodology : Graph Decomposition
7 Scan the neighboring vertex set and include any vertex from it into a
set of visited vertex set on the basis of below criteria.
If the vertex is not an articulation point, then the summation of
peripheral vertices and the leaving edges from the component should
not be increased.
If the neighbor vertex is an articulation point, then exclude the edge
from the corresponding parent vertex which is already visited and apply
BFS on it to find out the number of non visited vertices which can be
visited. If the number of such vertices are of the order Ω( |V |), then
include it into the visited vertex set along with all the traversed vertices.
8 Repeat step 7 until there exists no vertex to add further.
9 Repeat the above process until all the vertices in the graph are visited.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 15 / 37
16. Methodology : Securing Network Topology
Two approaches are proposed in this paper for generation of encrypted
complete path in this paper.
1 Encrypting the sub paths of a domain using it’s corresponding shared
secret keys
2 Encrypting the complete path using the all shared secret keys
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 16 / 37
17. Methodology : Encrypting the sub paths of a domain using
it’s corresponding shared secret keys
The algorithm to retrieve the complete path from P and encrypting it is
done as follows:
while not at end of P do
Read current_switch
Read next_switch
Retrieve path from the corresponding slave controller
Encrypt the retrieved path using the secret key shared between the
master and the corresponding slave controller of the domain to which
current_switch and next_switch belongs to by a master controller
Add it to CP
Go back to the beginning of current section
end
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 17 / 37
18. Methodology : Encrypting the complete path using the all
shared secret keys
while not at end of P do
Read current_switch
Read next_switch
Retrieve path from the corresponding slave controller
Add it to CP
Encrypt CP excluding the first switch using the secret key shared
between the master and the corresponding slave controller of the
domain to which current_switch and next_switch belongs to by a
master controller
Go back to the beginning of current section
end
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 18 / 37
19. Methodology : Analysis
The theoretical asymptotic bounds of the algorithms in terms of worst case
update time, query time and space requirements are shown in the below
table. Here, V and E are the number of vertices and edges respectively.
Algorithm Update Time Query Time Space
S-DIJ O (|E||V |+
|V |2 log|V |
O (1) O |V |2
D-PUP O (1) O |V |2 O (|V ||E|)
D-TEDI O |V |2 O k2h O l|R2|
APSP O |V |2 log|V |
log|V |)
O (1) O |V |2
Modified APSP O |V |2 log|V | O (1) O |V |2
Novel APSP O (|V |δ)2
O δ2 O (|V |l+
|V |δ2l
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 19 / 37
20. Correctness of the Proposed Approach
The proposed algorithm is making use of the existing algorithms such as
Dijsktra’s and Floyd Warshall to compute the shortest paths between the
vertices. Let G = (V ,E) be a graph, s and d be the source and
destination vertices.
Proof.
The shortest path between s and d which is computed by applying the
Dijsktra’s algorithm is defined as SP (s,d).
Let v be any vertex in the shortest path, then according to Dijsktra’s
algorithm the following expression holds true
SP (s,d) = SP (s,v)+SP (v,d) (1)
Let s ∈ Ci = (Vi ,Ei ) and d ∈ Cj = (Vj,Ej), Pi and Pj are the
corresponding peripheral vertex sets of s and d respectively.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 20 / 37
21. Correctness of the Proposed Approach
Proof.
There exists a vertex say s ∈ Pi through which the shortest path leaves
from the component Ci and there exists a vertex say d ∈ Pj through
which the shortest path enters into the component Cj.
According to the proposed approach the shortest path between s and d
can be expressed as
Shortest Path = SP s,s +SP s ,d +SP d ,d
= SP s,d +SP d ,d
= SP (s,d) (2)
Hence Proved.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 21 / 37
22. Why |V | reduction
Let G = (V ,E) be a given graph and is decomposed into K
components.The time complexity of the initial setup is
K
i=1
|Vi |
j=1
j
z=1
deg(vz)|vz ∈ Vi + |Vi |−
|V |
K
|V |
K
+2|E|
+
K
i=1
(|Ei |+|Vi |log|Vi |)|NPi ||Pi |+
K
i=1
Pi
3
As the graph is decomposed into K components of equal size, then the
average number of vertices in each component will be of |V |
K . By
substituting δ in place of a degree of a vertex, |V |δ in place of |E|, the
average number of peripheral nodes in each component with δ, the
average number of non peripheral nodes with |V |
K −δ in the above
equation it equates to
K
i=1
|V |
K
j=1
j
z=1
δ +2|V |δ
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 22 / 37
23. Why |V | reduction
The second order derivative of the above equation w.r.t K is positive, so
by equating the first order derivative of it w.r.t K to zero, we’ll get a value
of K at which the above equation produces a minimum value.
d
dx
(3) = −
|V |2δ
K2
(1+|V |δ +|V |log|V |)+3δ3
K2
By equating the above equation to zero we’ll get
K4
=
1
3
|V |2
δ2
(1+δ +log|V |)
K = |V |
log|V |
√
δ
1
4
K = O |V |
log|V |
δ2
1
4
|V |
(4)
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 23 / 37
24. Results and Discussions
The proposed shortest path algorithm is tested based on the following
criteria
1 Varying network topologies
2 Varying number of controllers
We consider the basic, hybrid and randomly generated network topologies
to test our approach against Floyd Warshall algorithm under varying
number of controllers. The results are as follows
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 24 / 37
25. Results and Discussions
Figure: Floyd Warshall vs proposed approach in the case of random topology
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 25 / 37
26. Results and Discussions
Figure: Floyd Warshall vs proposed approach in the case of line topology
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 26 / 37
27. Results and Discussions
Figure: Floyd Warshall vs proposed approach in the case of ring topology
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 27 / 37
28. Results and Discussions
Figure: Floyd Warshall vs proposed approach in the case of mesh topology
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 28 / 37
29. Results and Discussions
Figure: Performance of proposed approach under various networking topologies
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 29 / 37
30. Conclusion and Future Work
Conclusion :
In this project we presented a novel approach for finding the shortest paths
in a given network graph, and it was mathematically proven that for a
given graph whose average vertex degree δ is Ω(n) the proposed algorithm
is efficient than any of the existing algorithms in terms of computation
time and storage.
The proposed algorithm is applied in Multi Domain SDN to assign the
hosts to a controller and to find the shortest path between the hosts. It
was tested against the basic topologies like star, mesh, tree, chain and
some randomly generated graphs and in all the cases the proposed
approach producing promising results.
We also proposed algorithms for hiding the network topology in a source
routing multi domain SDN, which is highly significant in a multi tenant
cloud environment. The proposed approach can effectively countermeasure
any kind of attacks which reveals the network topology.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 30 / 37
31. Conclusion and Future Work
Future Work :
As the proposed approach works effectively for the graphs which are of
parse nature, the future scope is to design an algorithm which is capable
of decomposing the dense graphs having articulation points into
components of uniform size.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 31 / 37
32. Published Papers
Paper titled Securing the Network Topology in a Source Routing
Multi Domain SDN was presented at International Conference On
Advances in Computer Engineering and Application on Feb 15th. It
got best paper award and published in International Journal of
Computer Applications.
Paper titled A novel APSP algorithm and its application in Multi
Domain SDN was presented at IEEE International Conference on
Recent Advances and Innovations in Engineering on May 11th.
Further, this paper will be published in IEEE Conference Proceedings.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 32 / 37
33. References I
M. Alistair and T. Tadao.
An all pairs shortest path algorithm with expexted running time
o n2 logn .
Technical report, IEEE, 1985.
P.A. Bloniarz.
A shortest path algorithm with expected time o n2 lognlogn .
Technical report, SIAM J. Comput., 1983.
S. Chaudhuri and C. D. Zaroliagis.
Shortest paths in digraphs of small treewidth. part i: Sequential
algorithms.
Technical report, Algorithmica, 2000.
C. Demetrescu and G. F. Italiano.
Experimental analysis of dynamic all pairs shortest path algorithms.
Technical report, ACM Trans.Algorithms, 2006.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 33 / 37
34. References II
Fernando M.V. Diego, K. and P. Ramos.
Towards secure and dependable software-defined networks.
Technical report, HotSDN, 2013.
E. W. Dijkstra.
A note on two problems in connexion with graphs.
Technical report, Numerische Mathematic, 1959.
D. Dorit and T. Michael.
Graph decomposition is np-complete: A complete proof of holyerâĂŹs
conjecture.
Technical report, SIAM J. COMPUT, 1997.
Astuto A. Mendonca, M. and T. Thierry.
A survey of software-defined networking: Past, present, and future of
programmable networks.
Technical report, HotSDN, 2013.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 34 / 37
35. References III
Jorge L. Raghavendra, R. and Kang Won L.
Dynamic graph query primitives for sdn-based cloud network
management.
Technical report, SIGMOD, 2012.
S. Seungwon and G. Guofei.
Attacking software-defined networks: A first feasibility study.
Technical report, HotSDN, 2013.
S. Stefan and S. Jukka.
Exploiting locality in distributed sdn control.
Technical report, HotSDN, 2013.
F. Wei.
Tedi: efficient shortest path query answering on graphs.
Technical report, SIGMOD, 2000.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 35 / 37
36. References IV
Yan C. Xitao, W. and H. Chengchen.
Towards a secure controller platform for openflow applications.
Technical report, HotSDN, 2013.
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 36 / 37
37. End of Presentation
Thank You !!
Sarat Chandra Prasad Gingupalli (NITK Surathkal) Project Final Seminar June 27, 2014 37 / 37