![Page 1: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/1.jpg)
Dynamic Controller Provisioning in Software Defined Networks Presented By Md. Faizul Bari David R. Cheriton School of Computer science University of Waterloo with Arup Raton Roy, Shihabur Rahman Chowdhury, Qi Zhang, Mohamed Faten Zhani, Reaz Ahmed, and Raouf Boutaba,
![Page 2: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/2.jpg)
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 2/25
![Page 3: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/3.jpg)
Traditional vs. Software Define Networking
09/27/2013 3/25
Distributed Control
Data Plane
Control Plane
switch
Data Plane
Control Plane
switch
Data Plane
Control Plane
switch
Data Plane
Control Plane
switch
Data Plane
Control Plane
switch
Data Plane
switch
Data Plane
switch
Data Plane
switch
Data Plane
switch
Data Plane
switch
Control Plane (SDN Controller)
Centralized Control
Traditional Networking Software Defined Networking
OpenFlow
![Page 4: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/4.jpg)
SDN and OpenFlow
09/27/2013 4/25
OpenFlow Controller
Flow Table MAC src MAC dst IP Src IP Dst TCP
sport TCP dport Action
OpenFlow Firmware
…
OpenFlow Protocol (SSL/TCP)
Flow Table MAC src MAC dst IP Src IP Dst TCP
sport TCP dport Action
OpenFlow Firmware
…
Software Layer
Hardware Layer
port 3 port 2 port 1 port 3 port 2 port 1
x y
1 No matching rule
2 Flow setup request 3 Install flow rules
* * y * * * port 4
port 4
port 4
* * y * * * port 2
Flow setup time: time needed to set up the rules associated with a new flow in switches involved in the routing path.
![Page 5: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/5.jpg)
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 5/25
![Page 6: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/6.jpg)
Traditional SDN with a Single Controller • A single controller controls all switches in the network • Advantages:
• Centralized control • Ease of management • Network-wide view
• Disadvantages: • High switch-to-controller latency • Limited processing capacity of controller Higher flow setup time
09/27/2013 6/25
![Page 7: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/7.jpg)
Multiple Controller • Each controller controls a subset of the switches • A switch communicates with just one controller • Advantages:
• Less processing capacity is required for each controller • Lower switch-to-controller latency
• Disadvantages: • Require state synchronization between controllers Large control traffic overhead • Static switch-to-controller assignment Overloaded controllers
09/27/2013 7/25
Zone 1 Zone 2 Zone 3
Ctrl 1 Ctrl 2 Ctrl 3
![Page 8: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/8.jpg)
Dynamic Controller Provisioning Problem (DCPP)
• Dynamically provision controllers based on • Changing network conditions (traffic dynamics) • Switch-to-controller latency requirement
• Goals • Dynamically decide the number of controllers and their locations • Minimize flow setup time and control traffic • Minimize switch-to-controller reassignments
09/27/2013 8/25
![Page 9: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/9.jpg)
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 9/25
![Page 10: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/10.jpg)
Management Framework
09/27/2013 10/25
• Monitoring Module • Monitors controllers and collects
statistics about the traffic
• Reassignment Module • Decides the number of
controllers, their locations and the switch-to-controller assignment based on network conditions
• Provisioning Module • Provisions controllers and
assigns switches to them
![Page 11: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/11.jpg)
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 11/25
![Page 12: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/12.jpg)
Minimize 𝜶𝜶𝑪𝑪𝒍𝒍 + 𝜷𝜷𝑪𝑪𝒑𝒑 + 𝜸𝜸𝑪𝑪𝒔𝒔 + 𝝀𝝀𝑪𝑪𝒓𝒓
Problem Formulation • DCPP can be formulated as an ILP • Objective function
• Where
• 𝑪𝑪𝒍𝒍 = Statistics collection cost • 𝑪𝑪𝒑𝒑 = Flow setup cost • 𝑪𝑪𝒔𝒔 = Synchronization cost • 𝑪𝑪𝒓𝒓 = Switch reassignment cost
• Constraints • Controller capacity constraint • Switch-to-controller delay constraint
09/27/2013 12/25
DCPP is NP-hard.
![Page 13: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/13.jpg)
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 13/25
![Page 14: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/14.jpg)
Proposed Heuristics • We propose two heuristics to solve DCPP
• Greedy Knapsack based (DCP-GK) • Simulated Annealing based (DCP-SA)
• DCP-GK provides quick but inferior solutions • DCP-SA provides good solutions, but requires longer time
to find solutions
09/27/2013 14/25
![Page 15: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/15.jpg)
Greedy Knapsack Based (DCP-GK) • Each controller is modeled as a knapsack
• Capacity of the knapsack = number of flow-setups/sec
• Each switch is an object to be included in a knapsack • Weight = number of flow setup requests/sec • Profit = Inverse of switch to current controller’s distance
• Procedure 1. Repeat the following steps until either all switches are assigned
to a controller or the controller set is exhausts • Step 1: Pick the controller with minimum total distance from all
switches • Step 2: Use Greedy Knapsack approach to assign unassigned
switches to the controller (subject to delay constraint) 2. Randomly assign the remaining switches
09/27/2013 15/25
![Page 16: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/16.jpg)
Simulated Annealing Based (DCP-SA) • DCPP is solved in two phases:
• Phase 1: find a feasible assignment from the current one • For each overloaded controller
• Select the switch sending maximum requests to it • Assign the switch to the most underused controller if the delay and capacity
constraint are satisfied • Otherwise provision a new controller
• Repeat until capacity and delay constraints are satisfied for all controllers
• Phase 2: optimize the assignment by local search moves • Relocate switch • Swap switches • Activate a new controller • Merge controllers
09/27/2013 16/25
![Page 17: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/17.jpg)
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 17/25
![Page 18: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/18.jpg)
Simulation Results • We consider 3 scenarios
• 1-CTRL: A single controller for all switches • N-CTRL: One controller for each switch • DCP: Dynamic controller provisioning
• Topology • 108 nodes, 306 links (from RocketFuel [1])
• Traffic • Based on a realistic traffic trace [2] • End-to-end TCP flows
09/27/2013 18/25
[1] N. Spring, R. Mahajan, and D. Wetherall. Measuring ISP topologies with rocketfuel. In SIGCOMM 2002, pages 133–145. [2] S. Gebert, R. Pries, D. Schlosser, and K. Heck. Internet access traffic measurement and analysis. In Traffic Monitoring and Analysis, volume 7189 of LNCS, pages 29–42. 2012.
1-C
TRL
N-C
TRL
DC
P
![Page 19: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/19.jpg)
Flow-setup Time CDF
09/27/2013 19/25
• N-CTRL provides minimal flow-setup time • DCP-GK and DCP-SA both are better than 1-CTRL • DCP-SA performs better than DCP-GK
![Page 20: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/20.jpg)
Number of Controllers and Flow-setup Time
09/27/2013 20/25
• DCP-SA required less controllers than DCP-GK • In case of 1-CTRL flow-setup time varies with traffic • DCP-GK and DCP-SA adapt to traffic changes
![Page 21: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/21.jpg)
Summary of Overhead and Flow Setup Time
09/27/2013 21/25
• N-CTRL has lowest flow-setup time, but largest overhead • 1-CTRL has lowest overhead, but highest flow-setup time • DCP-SA performs much better than DCP-GK
![Page 22: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/22.jpg)
Outline • Overview of SDN • Motivation • Proposed management framework • Problem formulation • Proposed heuristics • Simulation results • Conclusion & future work
09/27/2013 22/25
![Page 23: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/23.jpg)
Conclusion • We identified the Dynamic Controller Provisioning
Problem (DCPP) • Proposed a management framework for dynamically
deploying multiple controllers • Provided a mathematical formulation of DCPP as an ILP • Proposed two heuristic algorithms to solve DCPP • Identified the trade-off between flow-setup time and
communication overhead
09/27/2013 23/25
![Page 24: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/24.jpg)
Future Work • Improve the convergence time of DCP-SA
• Generate quick solutions using DCP-GK and then optimizing them using DCP-SA.
• Explore other heuristic algorithms • Perform experiments on a real testbed
• Distributed OpenFlow Testbed (DOT) [dothub.org]
09/27/2013 24/25
![Page 25: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/25.jpg)
Questions?
09/27/2013
![Page 26: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/26.jpg)
Background Slides
09/27/2013
![Page 27: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/27.jpg)
Path Setup Model
09/27/2013
![Page 28: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/28.jpg)
• Directed graph G(V,E) • Capacity on edges c : E → R+
4.1
2.3
1.6 2.9
2.6 1.7
1.0 1.5
2.2
2.1
2.6 8.5
3.4
3.2
Single-source Unsplittable Flow Problem
![Page 29: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/29.jpg)
4.1
2.3
1.6 2.9
2.6 1.7
1.0 1.5
2.2
2.1
2.6 8.5
3.4
3.2
• A single source s and k terminals ti with demands di ∈ R+ • A vertex may contain an arbitrary number of terminals
s
t 1
1.2
t 2
t 3 0.9
3.1
t 4
3.1 t 5
1.5
t 6 2.1
Single-source Unsplittable Flow Problem
![Page 30: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/30.jpg)
4.1
2.3
1.6 2.9
2.6 1.7
1.0 1.5
2.2
2.1
2.6 8.5
3.4
3.2
s
t 1
1.2
t 2
t 3 0.9
3.1
t 4
3.1 t 5
1.5
t 6 2.1
• Each commodity flows along a single path from s to ti (unsplittable) • Must satisfy edge capacity • There are many variabltions of this problem • In our case, we minimize the sum of edge weights
Single-source Unsplittable Flow Problem
![Page 31: Dynamic Controller Provisioning for Software Defined Networksmfbari/files/c10s.pdf · Overview of SDN • Motivation • Proposed management framework ... Networking Software Defined](https://reader035.vdocuments.us/reader035/viewer/2022071214/60422a8a6feb954766724634/html5/thumbnails/31.jpg)
DCPP SSUFP
09/27/2013
S
Switches
Controllers
Terminals
Controller capacity used as edge capacity
Flow-setup & stat. collection costs are used as edge weights
Edges are allowed only when they satisfy latency constraint