Sunteți pe pagina 1din 5

Chapter 5

Development Environment
5.1 Introduction
The domain of the project being networking required us to work on a SDN
enabled physical environment with support for the OpenFlow protocol. But in
absence of the aforementioned environment, we shifted our focus to the use of
software simulation and emulation tools. Which enabled us to analyse network
models and understand OpenFlow protocol functioning by creating the desired
networks virtually.

5.2 The Network Controller


5.2.1 Need for A Controller
An OpenFlow controller is an application that manages flow control in a SDN
environment. Most current
SDN controllers are based on the
OpenFlow protocol. The SDN controller serves as a sort of operating system
(OS) for the network. All communications between applications and devices
have to go through the controller. The OpenFlow protocol connects controller
software to network devices so that the server software can tell switches where
to send packets.

5.2.2 Choice of Controller


With increase in adoption of SDN networks the variety of controller software
available for use is quite diverse.
Various controller software available today are

Floodlight
Open Daylight
NOX
POX

Out of the available software we decided to use Open Daylight as our controller
software due to the availability of SDNi interface app. Which enables us to get
topology information in multi-controller environments. Thereby making Open
Daylight an obvious choice for our domain of work.

5.2.3 Open Daylight


Hosted by the Linux Foundation, Open Daylight Project (ODL) is an open
source SDN project aimed at enhancing software-defined networking (SDN) by
offering a community-led and industry-supported framework for the Open
Daylight Controller. It includes support for the OpenFlow protocol, but can also
support other open SDN standards. The Open Daylight Controller can be
deployed in a variety of network environments. It can support a modular
controller framework, but can provide support for other SDN standards and
upcoming protocols. The modular frame work allows the controller to be open
to change dynamically wherein services can be deployed and removed from the
network at runtime, without affecting the basic network connectivity.
The Open Daylight Controller exposes open northbound APIs, which are used
by applications. These applications use the Controller to collect information
about the network, run algorithms to conduct analytics, and then use the Open
Daylight Controller to create new rules throughout the network. The Open
Daylight Controller is implemented solely in software, and is kept within its
own Java Virtual Machine (JVM). This means it can be deployed on hardware
and operating system platforms that support Java.

5.2.4 Controller Usage


The controller can be downloaded as a zip file from the following URL:
https://www.opendaylight.org/downloads
The directory structure of the controller is contained within a folder
named distribution.
The controller needs no installation on the system and can be run
independently.
To run the controller, go to directory /target/assembly/bin and execute the
file named karaf.

5.3 The Network Emulator


5.3.1 What is Network Emulation
Network emulation is a technique for testing the performance of real
applications over a virtual network. This is different from network
simulation where purely mathematical models of traffic, network models,
channels and protocols are applied. The aim is to assess performance, predict
the impact of change, or otherwise optimize technology decision-making.

5.3.2 Need for Emulation


The domain of our project required considerable testing and analysis of network
parameters which required either the presence of a physical network with
support for OpenFlow or an emulation environment which could provide us
with a virtual platform for fulfilment of our analysis needs. Thereby making
emulation necessary.

5.3.3 Mininet
Mininet is a software emulator for prototyping a large network on a single
machine. Mininet can be used to quickly create a realistic virtual network
running actual kernel, switch and software application code on a personal
computer. Mininet allows the user to quickly create, interact with, customize
and share a software-defined network (SDN) prototype to simulate a network
topology that uses OpenFlow switches.

Provides a simple and inexpensive network testbed for developing


OpenFlow applications

Enables multiple concurrent developers to work independently on the


same topology

Supports system-level regression tests, which are repeatable and easily


packaged

Enables complex topology testing, without the need to wire up a physical


network

Includes a CLI that is topology-aware and OpenFlow-aware, for


debugging or running network-wide tests

5.3.4 The CPqD Switch


OpenFlow has brought the opportunity to perform a wide range of new
experiments in a network. Currently there is a good number of hardware
switches to try OpenFlow, but most of them still implements only the version
1.0 of the protocol, lacking the new features from the most recent versions. So,
in order to not have innovation dependent of hardware software switches are
being deployed since the most primitive OpenFlow versions. The OpenFlow 1.3
software switch is built upon the Stanford OpenFlow 1.0 reference
switch and Ericsson's Traffic Lab OpenFlow 1.1 switch and is intended for fast
experimentation purposes.
The following components are available in it:

Ofdatapath: the switch implementation

Oflib: a library for converting to/from 1.3 wire format

Dpctl: a tool for configuring the switch from the console


We used the CPqD switch for the support it provides for OpenFlow 1.3 protocol
and in particular for supporting insertion of meters into the switches for
limiting bandwidth.

5.3.5 Environment Setup


Mininet is available as
http://mininet.org/download/

virtual

machine

from

the

URL

The provided virtual image needs to be imported into any hypervisor


software, which in our case was virtual box.

In order for the host to communicate with Mininet we need to setup a


host only network which acts as a dedicated interface for host , Mininet
communication on virtual box.
In order to setup the host only network on Mininet run command: sudo
dhclient ethx . where x is the host only interface number.
To install CPqD switches into Mininet we referred to the URL
https://github.com/CPqD/ofsoftswitch13/wiki

S-ar putea să vă placă și