SDN Performance evaluation for floodlight controller and OVS controller using adaptive approaches (i.e. statistical approach and genetic algorithm approach).
Performance Evaluation for Software Defined Networking (SDN) Based on Adaptive Resource Management
1. Performance Evaluation for Software Defined
Networking (SDN) Based on Adaptive Resource
Management
Prepared by: Afrah Salman Dawood
Supervised by: Assist. Prof. Dr.
Mohammed Najim Abdullah
3. OUTLINE
• What is SDN?
• Definitions of SDN
• Origins and Basics of SDN
• Architecture of SDN
• Advantages and Disadvantages of SDN
• Protocols used for SDN
• Simulators used for SDN
• Controllers Used With SDN
• SDN research areas
4. What is SDN?
■ Software Defined Networking (SDN) is a new networking paradigm in which
the forwarding hardware is decoupled from control decisions.
■ It provides the idea of programmable networks and is often referred to as a
“radical new idea in networking”.
■ It simplifies network management and enables innovation through network
programmability by the separation of the data plane and the control plane.
■ SDN has great potential to change the way networks operate, and OpenFlow in
particular has been touted as a “radical new idea in networking”.
5. Definitions of SDN
⸙ The most general definition is that the software-defined network is a networking scheme that
separates the control plane form the forwarding plane and this will lead to a simple (packet)
forwarding elements.
⸙ The forwarding decisions are flow based instead of destination based, like that in traditional
networks where the packet is forwarded hop-by-hop based on the destination IP address in its
header field. The controller in SDN is responsible for deciding the path that the packet should
follow to attain its destination.
⸙ The external controller (or a network OS with applications) is the brain of the SDN where it is
liable on the control logic. The NOS is a key software element of the SDN network. It controls
the network infrastructure components and network data flows. The OS of the SDN network
determines features like performance, scalability and reliability.
⸙ SDN is a dynamically programmable network through software applications running on the
external controller. The network programmability is made possible through the decoupling
approach.
7. In recent years, an attempts to overcome these problems have been
made through the use of a new paradigm in networking
architectures by using the Software-Defined Networking (SDN).
The basic limitation of the traditional IP networks is the
complexity and difficulty of the management and configuration
distributed around almost all devices (i.e. the configuration
manual must be implemented throughout all network devices)
where the designers must identify the structure and the source
code of the software running on switches so it cannot be easily
modified; this phenomenon is known as network (or internet)
ossification.
9. History of SDN
• 1980s: Central Network Control which Dates back (at least) to AT&T’s network control point.
• 1990s: Programmability in networks (i.e. active networking)
• 1990s: Network virtualization (e.g switches, XEN, VINI)
• 2004: Research on new management paradigms (e.g SANE, Ethane, RCP)
• 2008: Software-Defined Networking (SDN) (NOX and OpenFlow switch interface)
• 2011: Open Networking Foundation
• Board: Google, Yahoo, Verizon, DT, Microsoft, Facebook, NTT
• Members: Cisco, Juniper, HP, Dell, Broadcom, IBM, etc.
• 2013: Google used SDN for their WAN
• 2015: Open source software became the new norm for network standards.
• 2016 is the year of northbound Interface and application portability.
• SDN and NFV will play a major role in the progress of 5G leading up to its availability beginning in 2017.
10. • Networks are hard to Manage
- Computation and storage have been virtualized
- Creating a more flexible and manageable infrastructure
• Networks are hard to Evolve
- Networks are stuck in the past
- Routing algorithms change very slowly
- Network management extremely primitive
• Networks design is not based on Formal Principles
- Networking courses teach a big bag of protocols
- No formal principles, just general design guidelines.
17. The first packet in a
flow will experience
a larger latency than
those that follow, as
the controller is
solicited, determines
a path, and installs
the rule
Technology
changes
Centralized
architecture of
SDN based
networks itself is
a huge challenge
(i.e. scalability)
Other challenges of
immature code
base, lack of
features, lack of
support etc. are
temporary
disadvantages
which will go away
with time
Drawbacks of SDN
18. • The Open Networking Foundation defines OpenFlow as the first
standard communications interface between the control and forwarding
layers of an SDN architecture.
• OpenFlow is a protocol that allows a server to tell network switches
where to send packets. In a conventional network, each switch has
proprietary software that tells it what to do. With OpenFlow, the
packet-moving decisions are centralized, so that the network can be
programmed independently of the individual switches and data center
gear.
Protocols Used for SDN
19. • An OpenFlow switch separates the data path from the control path.
The data path portion resides on the switch itself; a separate controller
makes high-level routing decisions. The switch and controller
communicate by means of the OpenFlow protocol. This methodology,
known as software-defined networking (SDN), allows for more
effective use of network resources than is possible with traditional
networks. OpenFlow has gained favor in applications such as VM
(virtual machine) mobility, mission-critical networks, and next
generation IP-based mobile networks.
• With all of its promise, OpenFlow also poses a slew of challenges
from scalability to security.
20. BGP is a protocol used for exchanging routing information between gateway hosts in a network of autonomous
systems. This protocol is often used between gateway hosts on the Internet and it is also considered a
standardized exterior gateway protocol.
NETCONF is an Internet Engineering Task Force (IETF) network management protocol. It provides an
administrator or network engineer with a secure way to configure a firewall, switch, router, or other
network device.
Extensible Messaging and Presence Protocol (XMPP) is a protocol that's based on Extensible Markup
Language. Its intended use is for instant messaging and online presence detection. The protocol functions
between or among servers and facilitates near-real-time operation.
Open vSwitch Database Management Protocol (OVSDB) is an OpenFlow configuration protocol that is
meant to manage Open vSwitch implementations. Open vSwitch is a virtual switch that enables network
automation and the support of standard management interfaces and protocols, such as NetFlow.
MPLS Transport Profile (MPLS-TP) is the transport profile for Multiprotocol Label Switching. It is designed to be
used as a network layer technology in transport networks. The protocol extensions to MPLS are being designed by
the IETF based on requirements provided by service providers.
21. Simulators used for SDN
⁂ NS3: It supports OpenFlow switches which are restricted to be
simulation only.
⁂ MININET: Network emulation software that allows you to launch a
virtual network with switches, hosts and an SDN controller all with a
single command. Mininet supports research, development, learning,
prototyping, testing, debugging, and any other tasks that could benefit
from having a complete experimental network on a laptop or other PC.
22. Challenges with mentionedsimulators
• Basically, in NS3 we have an OpenFlow switch model that does not speak the actual switch -
controller protocol, but instead, it talks to a sole object that implements the controller behaviour.
There have been discussions around fixing this so that one may run a controller inside a VM,
connect the VM to an NS3 node using a tap-bridge device, and then run NS3 in emulation mode.
This would allow switching the controller logic from simulation to emulation and then to actual
test.
• In Mininet-based systems, the CPU or data transfer capacity accessible on a remote controller
can't (presently) be exceeded. Non-Linux-compatible OpenFlow switches or applications likewise
can't (at present) be run; in any case, this has not been a noteworthy issue by and by.
23. Controllers Used With
SDN
Open Daylight
Ryu Controller
Project Floodlight
Faucet
Open Contrail
Cherry
Vneio/sdnc
The Fast Data Project
Beacon
Open vSwitch
NOX/POX
ONOS
Project Calico
24. Why Do we Choose Floodlight Project and Open vSwitch Controller
The Floodlight Controller can be advantageous for developers, because it offers them the ability to
easily adapt software and develop applications and is written in Java. Included are
Representational State Transfer Application Program Interfaces (REST APIs) that make it easier
to program interface with the product, and the Floodlight website offers coding examples that aid
developers in building the product.
It can work in a variety of environments (i.e. tested with both physical and virtual OpenFlow-
compatible switches); it is compatible with OpenStack, a set of software tools that help build and
manage cloud computing platforms for both public and private clouds.
The OVS Controller is a production-quality open-source implementation of a distributed virtual
multilayer switch. The main purpose of Open vSwitch is to provide a switching stack for
hardware virtualization environments, while supporting multiple protocols and standards used in
computer networks.
Provides features like link aggregation, support for shortest path bridging MAC and LLDP,
bidirectional forwarding detection and spanning tree protocol, and many other features.
26. Controller scalability
multi-controller
reduce messages sent to
controller
switch/CPU design
approaches
Network Updates
Programming
Testing/Debugging
Traffic Management/QoS
flow scheduling
Load balancing
Transport protocol
Monitoring
Security
SDNarchitecture
SDNapplications
28. Simulator’s installation
• SDN has been implemented using the following tools:
Linux operating system_ Ubuntu 16.04.1 LTS
Oracle VirtualBox version 5.0.24_Ubuntur108355
Mininet emulator v2.2.1
Floodlight Controller v1.2 with OpenFlow v1.4
Java 8 on eclipse neon1
Python v2.7.12
FNSS Toolchain
Networkx v2.0
Pulp v1.6.1
VLC Media Player
29. Topologies implementation
• The default topology is the minimal topology, which includes one
OpenFlow kernel switch connected to two hosts, plus the OpenFlow
reference controller.
• $sudo mn or $sudo mn --topo=minimal
• Other topologies
1. Centralized network provisioning.
Software defined networks provide a centralized view of the entire network, making it easier to centralize enterprise management and provisioning. For example, more VLANs are becoming part of physical LANs, creating a Gordian knot of links and dependencies. By abstracting the control and data planes, SDN can accelerate service delivery and provide more agility in provisioning both virtual and physical network devices from a central location.
2. Holistic enterprise management.
Enterprise networks have to set up new applications and virtual machines on demand to accommodate new processing requests such as those for big data. SDN allows IT managers to experiment with network configuration without impacting the network. SDN also supports management of both physical and virtual switches and network devices from a central controller; something you can’t do with SNMP. SDN provides a single set of APIs to create a single management console for physical and virtual devices.
3. More granular security.
One of the advantages of security defined networking that appeals most to IT managers is centralized security. Virtualization has made network management more challenging. With virtual machines coming and going as part of physical systems, it’s more difficult to consistently apply firewall and content filtering polices. When you add in complexities such as securing BYOD devices, the security problem is compounded.
The SDN Controller provides a central point of control to distribute security and policy information consistently throughout the enterprise. Centralizing security control into one entity, like the SDN Controller, has the disadvantage of creating a central point of attack, but SDN can effectively be used to manage security throughout the enterprise if it is implemented securely and properly.
4. Lower operating costs.
Administrative efficiency, improvements in server utilization, better control of virtualization, and other benefits should result in operational savings. Although it is still early to show real proof of savings, SDN should lower overall operating costs and result in administrative savings since many of the routine network administration issues can be centralized and automated.
5. Hardware savings and reduced capital expenditures.
Adopting SDN also gives new life to existing network devices. SDN makes it easier to optimize commoditized hardware. Existing hardware can be repurposed using instructions from the SDN controller and less expensive hardware can be deployed to greater effect since new devices essentially become “white box” switches with all the intelligence centered at the SDN controller.
6. Cloud abstraction.
Cloud computing is here to stay and it is evolving into a unified infrastructure. By abstracting cloud resources using software defined networking, it’s easier to unify cloud resources. The networking components that make up massive data center platforms can all be managed from the SDN controller.
7. Guaranteed content delivery.
The ability to shape and control data traffic is one of the primary advantages of software defined networking. Being able to direct and automate data traffic makes it easier to implement quality of services (QoS) for voice over IP and multimedia transmissions. Streaming high quality video is easier because SDN improves network responsiveness to ensure a flawless user experience.
The specific advantages of software defined networking will vary from network to network, but there are benefits from network abstraction and the agility it offers for network administration and automation. The best way to get the most out of SDN is to assess the network components and infrastructure to determine if SDN can help address issues such as resource availability, virtualization, and network security. Software defined networking isn’t the right approach for every network environment, but when there are clear benefits, SDN could be just the solution you need to optimize your data center.