Performance Evaluation for Software Defined Networking (SDN) Based on Adaptive Resource Management

Preview:

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

Recommended