final report

15

Click here to load reader

Upload: pratik-kulkarni

Post on 12-Apr-2017

80 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Final Report

The Controller Placement Problemfor SDNs

Term Paper Report

Meghana Mara Pratik [email protected] [email protected]

CPE 6510 Project Report – Prof. Egemen K. Cetinkaya12 May 2016

Page 2: Final Report

Abstract

Since the development of network architectures namely, Software DefinedNetworks (SDNs), there was a need to evaluate the problem of controllerplacement in the network. The controller placement problem comprises oftwo important aspects, the number of controllers needed for a given networktopology and the placement of these controllers. In this paper, we presentthe latest work which was proposed to address the problem of controllerplacement in SDNs. The paper also compares these algorithms on the basisof their reliability and performance and states their drawbacks. Later, thepaper aims to design and propose a new and improved algorithm which strivesto overcome some of the drawbacks of the existing work.

1

Page 3: Final Report

1 Introduction and Motivation

Current networking solutions have integrated control and data planes. Thedata plane is responsible for processing and delivering the packets whereasthe control plane establishes the state in the routers. New network require-ments have led to increased control plane complexity, making it difficult formanagement [1].

Software Defined Networking (SDNs) was developed to solve this problemby creating abstraction in networks [2]. SDNs differ from traditional networksbecause they decouple the control and data planes. The control logic isincorporated onto external controllers to create a logically centralized controlplane.

The architectural components of an SDN comprise of [3]:

(a) SDN Application: SDN applications communicate with the SDNcontroller regarding their network requirements via a North BoundInterface (NBI).

(b) North Bound Interface: This is the interface between SDN appli-cations and SDN controllers.

(c) SDN Controllers: They are the central part of SDNs that translatethe requirements of the SDN application layer down to SDN datapaths. They consist of NBIs, SDN control logic and Control toData Plane Interface (CDPI).

(d) CDPI: It is the interface between the SDN controller and the SDNdata path.

In SDN architecture, the controllers are aware of their network topol-ogy and they have a global view of the network and the devices they aremanaging. SDNs provide network administrators with the ability to createprogrammable and flexible networks.

This network architecture raises concerns about optimal placement of con-trollers in a network topology and the number of controllers required for agiven network size. The performance of such decoupled network architectures

2

Page 4: Final Report

is not studied and the debate about controller placement problem is still inits early stages of research so it is not backed by data.

In this paper, we present the most recent approaches to solve the problemof controller placement in SDNs.

2 Background and Related Work

In an SDN deployment with multiple controllers, communication betweenthese controllers is a must to ensure overall consistency and functioning ofthe network. Control paths are a set of routes between the switches andthe controllers used for communicating. Network topology is essential indetermining the placement of controllers in an SDN but other factors likethe distance between controllers and between controllers and switches playsa major role.

In this section of the paper, we briefly introduce existing controller place-ment algorithms and describe their motivation. For the purpose of introduc-ing these algorithms, we assume that there are k controllers and V possibleplacement sites.

(a) Random Placement: The algorithm randomly chooses the place-ment for the k controllers amongst the V possible places [4].

(b) Brute Force: This algorithm generates all the possible combina-tions for the k controllers in every node of the network. Next, itcomputes the cost that will be incurred with the placement andthen chooses the best case [4]. The motivation for using this algo-rithm is that because it is an exhaustive search, it returns the mostoptimal result and is therefore used for the purpose of evaluation.

(c) K-Median Algorithm: The algorithm identifies the shortest linkd(i, j) in the network and chooses the node k=(i, j) as the sitefor the controller [5]. The motivation behind this approach isthat it minimizes the average delay to the rest of the network.The algorithm identifies the next closest node to the cluster andrepeats the process until all nodes are in the cluster.

3

Page 5: Final Report

(d) Resilience Improving Algorithm: Given a topology G= (V, E), thealgorithm finds communities in G using the greedy modularityoptimization method and partitions the tree into k clusters [6].Each cluster is considered to be a sub-network and a node withthe maximal closeness centrality is selected to be the controllersite. And in this way, the algorithm determines the locations foreach of the k controllers.

(e) Incremental Greedy Algorithm: Consider a controller j. In thisalgorithm, an empty set Sj is created and with each iteration aswitch node which has minimal delay from controller j is addedto set Sj [7]. As the number of switches in set Sj increases, theservice time of the controller increases. This incremental processis stopped when Sj reaches the upper bound . The algorithm stopsits iterations after every switch has a controller assigned.

3 Simulation Model

Based on the literature survey in the previous section, we propose an im-proved procedure for finding a resilient placement node for the controller.We measure the connectivity of the network using two parameters of net-work centrality namely, Betweenness Centrality and Degree Centrality. Ahigh degree centrality would imply an increased level of redundancy thusimproving resilience of the network. It shows how integrated a node is withthe rest of the network. Betweenness centrality also provides resilience andshows us how important a specific node is to the network.

Based on these two measures, we calculate a quotient called the ResilientPosition and we hypothesize that the node between the two highest RP valuenodes is a suitable position for the controller. We simulate the network andanalyse our theoretical parameters in the following sections to see how theyperform.

We will be using following tools to conduct our simulations. These toolsare instrumental in getting the target results for this project.

(a) Mininet: Mininet is a network emulator. It runs a collection of

4

Page 6: Final Report

end-hosts, Switches, routers, and links on a single Linux kernel.A Mininet host behaves just like a real machine. The programsyou run can send packets through what seems like a real Ethernetinterface, with a given link speed and delay. Packets get processedby what looks like a real Ethernet switch, router with a givenamount of queueing.

To run Mininet into the system, we need two more software in-stalled. For our project, we will be running Mininet through aVirtual Box. We will try to generate network topologies and checktheir performance with the help of Linux command system.

i. Putty- is a free Telnet and SSH terminal software for Win-dows and Unix platforms that enables users to remotely accesscomputers over the Internet. It is used as a bridge in betweenthe Windows and Linux system.

ii. XMing- is a free X window server for Microsoft Windows. Itallows one to use Linux graphical applications remotely.

(b) POX- We will be using the POX SDN controller for our simulation.The POX controller comes configured inside with the Mininet.

(c) NetworkX- NetworkX is a Python library for studying graphs andnetworks. Different types of graphs can be generated with thehelp of NetworkX. It can also be used to find adjacency, degree,diameter, radius, center, betweenness etc. of the graph.

With the help of NetworkX, we generated a topology. Next, after ana-lyzing the nodes of that topology based on different graph parameters viz.Node Centrality, Betweenness etc. we will zero-in on the node(s) that is bestsuited for the Controller position.

4 Analysis and Results

Following are the screen shots of the topologies that we generated throughthe Mininet. To check whether if the network was working correctly, wetransmitted a number of packets.

5

Page 7: Final Report

Figure 1: Network topology generated in Mininet

Next, we have a generic network topology which was simulated in Net-workX.

6

Page 8: Final Report

Figure 2: A network with 2 hosts: h1 and h2; 6 switches

Figure 3: Network topology replicated in NetworkX (Node 0 and Node 7 arehosts h1 and h2 respectively)

7

Page 9: Final Report

5 Analysis Parameters

Following are the parameters based on which we will determine the bestposition for our Pox Controller. We will have to strike a balance in betweenall these parameters with a trade-off.

1. Degree Centrality (DC): It refers to number of edges attached to thenode. To calculate this in our topology, we used the function DegreeCentrality (G)

2. Betweenness Centrality (BC): It is the number of shortest paths passingthrough a node. It is given by Betweenness Centrality(G)

3. Shortest Path: It is the shortest path from source to destination andis given by Shortest path (G[source,target,weight])

For the ideal controller position we will first find the shortest path fromh1 to h2. Following is the path found by NetworkX.

Figure 4: Shortest path, as given by NetworkX

So the shortest path from h1 to h2 is through nodes 1, 2, 3, 6. Next,we will only take these 4 nodes into consideration and find the BetweennessCentrality and Degree Centrality for these nodes making use of the functionsstated above.

8

Page 10: Final Report

Since BC is one of the utmost important factor in determining the mostresilient position for our controller, we will prioritize BC above DC. We doso by assigning weights to the nodes after finding BC and DC for all the fournodes.

The idea here is to normalize the values that we get after getting DC andBC. So, we assign a weight of 1 to BC whereas a weight of 0.7 to DC of eachnode. These weights were assigned in a way that they prioritize BC but atthe same time, dont ignore DC.

Hence the best position or the Resilient Position (RP) as we will call ithere after is given by the equation:

BC + 0.7DC = RP

Following is the table illustrating the values of BC, DC and RP for eachof the nodes.

Node Betweenness Centrality (BC) Degree Centrality (DC) Resilient Position (RP)

1 1 3 3.12 1 2 2.43 1 3 3.16 1 2 2.4

Table 1: BC, DC and RP values for every node

We can see that nodes 1 and 3 have the highest RP value Hence, the idealPOX controller position for our topology would be in between 1 and 3. Thiswould give the controller best routing position with respect to all nodes.

In cases where there is only 1 node with highest R.P, we will consider theother node with second highest value of R.P. and will place the controller inbetween those 2 nodes.

Figure below shows the POX controller indicated by node 11 inserted inbetween node 3 and node 1. Now, the new shortest path from h1 to h2 isthrough nodes 1, 11, 3, 6.

9

Page 11: Final Report

Figure 5: New shortest path after the controller placement (Node 11 is thecontroller)

Also, if we place the controller in between node 1 and 3, and connect thePOX to all the other nodes, we can get a new shortest path with only 4 hopsi.e. through nodes 1, 11, 6.

10

Page 12: Final Report

Figure 6: New shortest path after POX is connected to all the other nodes(Node 11 is the controller)

6 Conclusions and Future Work

In conclusion, we presented the basic principles of SDN and presented theproblem of controller placement. Next, we introduced some algorithms inexistence for finding an optimal controller placement. Then based on theknowledge we gained from this study and using the concepts learned in class,we devised an improved procedure for finding a resilient placement for thecontroller in a given SDN network. We were able to find the best position forthe controller in NetworkX. Future work of this project could be replicatingand simulating the exact same environment in Mininet. The position that

11

Page 13: Final Report

we found could be made use of to deploy the POX controller in that placeand analyze its performance.

7 Project Contribution

We collaborated during the course of the whole project and report prepara-tion. We initially did research to find literature survey papers and dividedthem amongst ourselves to read and understand the material. We later spenttime to teach the other person about the concepts and algorithms we learnt.Next, we discussed and brainstormed about how to improve the existingalgorithms and came up with the parameters for the improved controllerplacement procedure. We discussed about how to formulate the weights andcame up with the equation for calculating RP quotient. Lastly, we did theanalysis and simulations to verify and prove our assumptions.

12

Page 14: Final Report

Bibliography

[1] Brandon Heller, Rob Sherwood, and Nick McKeown. The ControllerPlacement Problem. in Proceedings of the ACM HotSDN, Helsinki, Au-gust 2012.

[2] M. Caesar, D. Caldwell, N. Feamster, J. Rexford, A. Shaikh, and J. vander Merwe. Design and implementation of a routing control platform. inProceedings of the 2nd conference on Symposium on Networked SystemsDesign Implementation - Volume 2, ser. NSDI05, Berkeley, CA, USA,2005.

[3] Open Networking Foundation: SDN Architecture Overview. 2013 Version1.0, Dec 2013.

[4] Yannan Hu, Wang Wendong, Xiangyang Gong, Xirong Que, and ChengShiduan. Reliability-aware Controller Placement for Software-DefinedNetworks. State Key Laboratory of Networking and Switching Technol-ogy, Beijing University of Posts and Telecommunications.

[5] Yury Jimenez, Cristina Cervello-Pastor, and Aurelio J. Garcia. On thecontroller placement for designing a distributed SDN control layer.

[6] Minzhe Guo, Prabir Bhattacharya. Controller Placement for ImprovingResilience of Software-defined Networks. Fourth International Conferenceon Networking and Distributed Computing, 2013.

[7] Tracy Yingying Cheng, Mengqing Wang, Xiaohua Jia. QoS-GuaranteedController Placement in SDN. City University of Hong Kong.

13

Page 15: Final Report

[8] Sheng Guo, Shu Yang, Qi Li and Yong Jiang. ”Towards ControllerPlacement for robust Software-Defined Networks”. 2015 IEEE 34th In-ternational Performance Computing and Communications Conference(IPCCC), Nanjing, 2015.

[9] Mayada Omer ”The Resilience of Networked Infrastructure Systems:Analysis and Measurement”.

[10] Wikipedia: SDNhttps://en.wikipedia.org/wiki/SDN

14