Upload
afrah-salman
View
14
Download
1
Embed Size (px)
Citation preview
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
Project Theory
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
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”.
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.
In recent years, an attempts to overcome these problems have beenmade through the use of a new paradigm in networkingarchitectures 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.
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.
• 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.
Advantages of SDN
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
• The Open Networking Foundation defines OpenFlow as the firststandard communications interface between the control and forwardinglayers of an SDN architecture.
• OpenFlow is a protocol that allows a server to tell network switcheswhere to send packets. In a conventional network, each switch hasproprietary software that tells it what to do. With OpenFlow, thepacket-moving decisions are centralized, so that the network can beprogrammed independently of the individual switches and data centergear.
Protocols Used for SDN
• An OpenFlow switch separates the data path from the control path.The data path portion resides on the switch itself; a separate controllermakes high-level routing decisions. The switch and controllercommunicate by means of the OpenFlow protocol. This methodology,known as software-defined networking (SDN), allows for moreeffective use of network resources than is possible with traditionalnetworks. OpenFlow has gained favor in applications such as VM(virtual machine) mobility, mission-critical networks, and nextgeneration IP-based mobile networks.
• With all of its promise, OpenFlow also poses a slew of challengesfrom scalability to security.
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.
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.
Challenges with mentioned simulators
• 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.
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
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.
How Floodlight and OVS Controllers
work in SDN Environments
Controller scalabilitymulti-controllerreduce messages sent to
controllerswitch/CPU design
approaches
Network Updates
Programming
Testing/Debugging
Traffic Management/QoSflow schedulingLoad balancingTransport protocol
Monitoring
Security
SDN
arch
itectu
re
SDN
appl
icatio
ns
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
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
Topology_1: 2 hosts & 4 OpenFlow links
Topology 2: 8 switches & 2 hosts
Shortest Path Algorithms
Regular Algorithms
• Dijkstra’s algorithm, which is the default
shortest path algorithm used in floodlight and
OVS controllers.
• Bellman-Ford algorithm
• A* search Algorithm
• Floyd-Warshall algorithm
• Johnson’s algorithm
• Viterbi algorithm
Adaptive Algorithms
• Neural Network
• Genetic Algorithm
• Swarm Algorithm
• Ant Algorithm
• Fuzzy Algorithm
compute ordered paths using
genetic flowchart
Resource Management Optimization Based on Statistical Approach
OVS Controller Experiments
Floodlight Controller Experiments
The first published
Paper
The second published
Paper
The third published
Paper
Thanks for Your Attention