Cloud network systems and applications are tested in simulation and emulation environments prior to physical deployments, at different stages of development. Software-Defined Networking (SDN) enables separating logic and execution from the data plane consisting of switches and hosts, to a logically centralized control plane. The global view and control available to the controller enable incremental updates, management, and allocation of resources to the networks. However, unlike the physical networks or the networks emulated by the emulators, current network simulators still lack integration with the SDN controllers.
Hence, currently it is impossible to efficiently orchestrate a simulated network through a centralized controller, or realistically model the controller algorithms and SDN architectures without having the resources for a one-to-one emulation. To address this, this paper presents SDNSim, an SDN simulation middleware, which leverages the principles of SDN for continuous development of cloud and data center networks. SDNSim is an “SDN-aware” network simulator that integrates with the controller through plugins for southbound protocols such as OpenFlow, to execute the algorithms incrementally thus deployed in the control plane.
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Software-Defined Simulations for Continuous Development of Cloud and Data Center Networks
1. Software-Defined Simulations for
Continuous Development of
Cloud and Data Center Networks
Pradeeban Kathiravelu, Lu´ıs Veiga
INESC-ID Lisboa
Instituto Superior T´ecnico, Universidade de Lisboa
Lisbon, Portugal
24th
International Conference on Cooperative Information Systems (CoopIS 2016)
28th
October 2016, Rhodes, Greece.
Pradeeban Kathiravelu Software-Defined Simulations 1 / 32
2. Introduction
Introduction
Software-Defined Networking (SDN) is extending its scope.
Separating and unifying the networking control plane from data plane.
Programmable networks → continuous development.
Very high scalability.
Pradeeban Kathiravelu Software-Defined Simulations 2 / 32
3. Introduction
Introduction
Software-Defined Networking (SDN) is extending its scope.
Separating and unifying the networking control plane from data plane.
Programmable networks → continuous development.
Very high scalability.
Network architectures and algorithms simulated or emulated at early
stages of development.
Native integration of network emulators into SDN controllers.
Pradeeban Kathiravelu Software-Defined Simulations 3 / 32
4. Motivation
How well the SDN simulators fare?
Network simulators supporting SDN and emulation capabilities.
NS-3.
Cloud simulators extended for cloud networks with SDN.
CloudSim → CloudSimSDN.
Pradeeban Kathiravelu Software-Defined Simulations 4 / 32
5. Motivation
How well the SDN simulators fare?
Network simulators supporting SDN and emulation capabilities.
NS-3.
Cloud simulators extended for cloud networks with SDN.
CloudSim → CloudSimSDN.
However..
Lack of “SDN-Native” network simulators.
Simulators not following the Software-Defined Systems paradigm.
Policy/algorithmic code locked in simulator-imperative code.
Need for easy migration and programmability.
Pradeeban Kathiravelu Software-Defined Simulations 5 / 32
6. Motivation
Goals
A simulator for Software-Defined Networking Systems.
Run the control plane code in the actual controller (portability).
Simulate the data plane (scalability, resource efficiency).
by programmatically invoking the southbound of SDN controller.
Extend and leverage the SDN controllers in simulations.
Bring the benefits of SDN to its own simulations!
Reusability, Scalability, Easy migration, . . .
Pradeeban Kathiravelu Software-Defined Simulations 6 / 32
8. SDNSim Architecture
SDNSim
A Framework for Software-Defined Simulations.
1 Network system to be simulated.
Expressed in “descriptors”.
XML-based description language.
Parsed and executed in SDNSim simulation sandbox.
A Java middleware.
2 Simulated application logic.
Deployed into controller.
Pradeeban Kathiravelu Software-Defined Simulations 8 / 32
9. SDNSim Architecture
Contributions and SDNSim Approach
1. Reusable simulation building blocks.
Pradeeban Kathiravelu Software-Defined Simulations 9 / 32
10. SDNSim Architecture
Contributions and SDNSim Approach
1. Reusable simulation building blocks.
Simulating complex and large-scale SDN systems.
Service Function Chaining.
Pradeeban Kathiravelu Software-Defined Simulations 10 / 32
11. SDNSim Architecture
Contributions and SDNSim Approach
1. Reusable simulation building blocks.
Simulating complex and large-scale SDN systems.
Service Function Chaining.
As a case of Network Function Virtualization (NFV).
Pradeeban Kathiravelu Software-Defined Simulations 11 / 32
12. SDNSim Architecture
Contributions and SDNSim Approach
2. Support for continuous development and iterative deployment.
Checkpointing and versioning of simulated application logic.
Incremental updates: changesets as OSGi bundles in the control plane.
Pradeeban Kathiravelu Software-Defined Simulations 12 / 32
13. SDNSim Architecture
Contributions and SDNSim Approach
3. State-aware simulations.
Adaptive scaling through shared state.
Horizontal scalability through In-Memory Data Grids.
State of the simulations for scaling decisions.
Pause-and-resume simulations.
Multi-tenanted parallel executions.
Pradeeban Kathiravelu Software-Defined Simulations 13 / 32
14. SDNSim Architecture
Contributions and SDNSim Approach
4. Expressiveness.
Data plane: XML-based representations of the network.
Control plane: Java API.
Pradeeban Kathiravelu Software-Defined Simulations 14 / 32
15. SDNSim Prototype
Prototype Implementation
Oracle Java 1.8.0 - Development language.
Apache Maven 3.1.1 - Build the bundles and execute the scripts.
Infinispan 7.2.0.Final - Distributed cluster.
Apache Karaf 3.0.3 - OSGi run time.
OpenDaylight Beryllium - Default controller.
Multiple deployment options:
As a stand-alone simulator.
Distributed execution with an SDN controller.
As a bundle in an OSGi-based SDN controller.
Pradeeban Kathiravelu Software-Defined Simulations 15 / 32
16. Evaluation
Evaluation Deployment Configurations
Intel R CoreTM i7-4700MQ
CPU @ 2.40GHz 8 processor.
8 GB memory.
Ubuntu 14.04 LTS 64 bit operating system.
A cluster of up to 5 identical computers.
Pradeeban Kathiravelu Software-Defined Simulations 16 / 32
27. Evaluation
Performance with Incremental Scaling
No change in controller - scale the simulated environment.
Pradeeban Kathiravelu Software-Defined Simulations 27 / 32
28. Conclusion
Conclusion
Conclusions
SDNSim is an SDN-aware network simulator
Built following the SDN paradigm
Separation of data layer from the control layer and application logic.
Enabling an incremental modelling of cloud networks.
Performance and scalability.
Complex network systems simulations.
Reuse the same controller code algorithm developers created to
simulate much larger scale deployments.
Adaptive parallel and distributed simulations.
Future Work
Extension points for easy migrations.
More emulator and controller integrations.
Pradeeban Kathiravelu Software-Defined Simulations 28 / 32
29. Conclusion
Conclusion
Conclusions
SDNSim is an SDN-aware network simulator
Built following the SDN paradigm
Separation of data layer from the control layer and application logic.
Enabling an incremental modelling of cloud networks.
Performance and scalability.
Complex network systems simulations.
Reuse the same controller code algorithm developers created to
simulate much larger scale deployments.
Adaptive parallel and distributed simulations.
Future Work
Extension points for easy migrations.
More emulator and controller integrations.
Thank you!
Questions?
Pradeeban Kathiravelu Software-Defined Simulations 29 / 32
31. Additional Slides
Network Construction with Mininet and SDNSim
Adaptive Emulation and Simulation.
Simulate when resources are scarce for emulation.
Pradeeban Kathiravelu Software-Defined Simulations 31 / 32
32. Additional Slides
Automated Code Migration: Simulation → Emulation
Time taken to progreammatically convert an SDNSim simulation
script into a Mininet script.
Pradeeban Kathiravelu Software-Defined Simulations 32 / 32