Download as pdf or txt
Download as pdf or txt
You are on page 1of 63

SDN Controller

Rischan Mafrur

Advanced Network System Lab, Chonnam National University March 25, 2014
SDN Controller must provides:
1. Management of network state (ex: database) database serve as
repository about information from the controlled network elements. (ex:
network state, topology, etc)
2. High level data model that captures the relationships between
managed resource. (Yang modeling language)
3. RESTful (representational state transfer) API
4. Secure TCP control session between controller with network elements.
5. Provide standard protocol of application network state on network
elements.
6. Must has service discovery mechanism. ex (discovery : devices,
topology), path computational system.
Lists of Controller
1. VMware 8. Juniper Network
2. Nicira 9. Plexxi
3. Mininet 10. Cisco One PK
4. NOX/POX
5. Trema
6. Ryu
7. Big Switch Networks/Floodlight
About
1. VMware, pioneer in virtualization, the industry-leading
virtualization software company.
2. Virtualizing infrastructure, from the data center to the
cloud to mobile devices.
3. Deliver value to more than 500,000 customers.
more : http://www.vmware.com/
vSphere : Manage Hypervisor (ESX)
integrated vswitch.
vCloud Director & Connector:
primary app for compute, storage,
image resource management, public
cloud extension.
vCenter Chargeback Collector : for
collecting the all data.
vCenter Chargeback interacts with the
vCenter Server and vCenter Server database
through a data collector. The data collector
synchronizes the information in the vCenter
Chargeback database with that in the vCenter
Server database.
About
Nicira was a company focused on software-defined networking (SDN) and network virtualization. It
was founded in 2007 by Martin Casado, Nick McKeown and Scott Shenker. Nicira created OpenFlow,
OpenvSwitch, and the OpenStack networking project.
On July 23, 2012, VMware announced they intended to acquire Nicira for $1.26 billion
more:
http://en.wikipedia.org/wiki/Nicira
http://www.vmware.com/products/nsx
● Nicira’s network virtualization platform
(NVP) was released in 2011,NVP now
works in conjunction with the other
cloud virtualization services for
compute, storage, and image
management.
● NVP can works with Open vSwitch
(OVS).
● OVS is supported in just about every
hypervisor (OVS is shipping as part of
the Linux 3.3 build.)
● Nicira supports an OpenStack plug-
in to broaden its capabilities in data
center or resource management.
About
MiniNet is An Instant Virtual Network on your Laptop (or other PC)
Mininet creates a realistic virtual network, running real kernel, switch and application code, on a
single machine (VM, cloud or native), in seconds, with a single command.
more :
http://mininet.org/download/
https://github.com/mininet/mininet

latest commit ? 3 days ago. 21 contributors


About
1. Provides a C++ Programming language
2. Provides fast, asynchronous IO
3. Is targeted at recent Linux distributions (particularly Ubuntu 11.10 and 12.04, but Debian
is also easy, and RHEL 6 is possible)
4. Includes sample components for:
❖ Topology discovery
❖ Learning switch
Details
http://www.noxrepo.org/
https://github.com/noxrepo/nox
latest commit? 2 months ago.
6 contributors.
About

1. “Runs anywhere” – Can bundle with install-free PyPy runtime for easy deployment
2. Specifically targets Linux, Mac OS, and Windows
3. Supports the same GUI and visualization tools as NOX
4. Performs well compared to NOX applications written in Python (especially when run under PyPy)
more:
http://www.noxrepo.org/
https://github.com/noxrepo/pox
latest commit ? 5 months ago, 17 contributors.
Trema
About
1. Trema is a OpenFlow controller framework that includes everything needed to create
OpenFlow controllers in Ruby and C.
2. Open Source supported by NEC
3. Trema now supports OpenFlow version 1.3.X via a repository called TremaEdge.
4. Modular.

https://github.com/trema/trema-edge
latest commit ? 4 days ago. 13 contributors.
1. The Trema core does not provide
any state management or database
storage structure.
2. The infrastructure provides a
command-line interface (CLI)
3. Managing messaging and filters, and
configuring virtual networks via
Network Domain Specific Language
(DSL, a Trema-specific configuration
language).
4. There is also an OpenStack
Quantum plug-in available for the
sliceable switch abstraction.
About
TRULY OPEN, OPENSTACK, WELL
TESTED
1. Supports various protocols for
managing network devices, such
as OpenFlow, Netconf, OF-
config, etc. About OpenFlow,
Ryu supports fully 1.0, 1.2, 1.3,
1.4 and Nicira Extensions.
2. Open Source supported by NTT
Labs
3. Python
4. Has OpenStack Quantum plug- https://github.com/osrg/ryu
in support
5. Support a REST interface. latest commit? 8 days ago , 32 contributors.
About
1. Floodlight is a very popular SDN
controller contribution from Big
Switch Networks to the open source
community
2. Floodlight is based on Beacon from
Stanford University.
3. Java-based OpenFlow controller.
4. API interface is shared with Big
Switch Network’s commercial
enterprise offering Big Network
Controller (BNC)
5. Developed into both SQL and NoSQL
backend storage abstractions for a
third-party open source storage
solution
6. Floodlight offers an OpenStack http://www.projectfloodlight.org/
Quantum plug-in https://github.com/floodlight/floodlight
latest commit ? 12 days ago, 41 contributors.
OpenStack OpenStack
support : AWS EC2 (Elastic Compute Cloud), S3
(Simple Storage Service)

more : http://www.openstack.org/
Github Repo : https://github.com/openstack latest commit 17 hours ago.
more..
Nova : Compute (456
contributors)
Glance : Image Storage
(153 contributors)
Swift : Object Storage(127
contributors)
Cinder : Block storage for
the guest VM(180 contributors)
Horizon : Dashboard Web
GUI(197 contributors)
Keystone :
Identity/Authentication(187
contributors)
Quantum/neutron :
Network (209 contributors)
Installation
http://docs.openstack.org/user-guide-admin/content/ch_dashboard.html
Juniper Networks
1. Controllers supporting L3VPN
2. Like all SDN controllers, the
Juniper solution requires a paired
agent in the network elements,
regardless of whether they are
real devices or virtualized
versions operating in a VM
3. The communication/messaging
between Control Node and
vRouter Agent is intended to be an
open standard using XMPP
(Extensible Messaging and
Presence Protocol).
Plexxi
Plexxi Systems are based around the
concept of affinity networking.
The controller tasks are split between
a controller and co-controller
Central controller maintains central
policy and performs administrative and
the algorithmic fitting tasks, while the
co-controller performs local forwarding
table maintenance and fast repair.
Cisco One PK
The Cisco OnePK(Platform Kit)
controller is a commercial
controller.
Thank you
Experience Sharing

Installing Mininet with Floodlight controller


Installing Mininet with OpenDayLight
controller
Get Started with Mininet
requirements:
Virtual Box ( https://www.virtualbox.org/wiki/Downloads )

Download Mininet VM image


2.1.0 (https://bitbucket.org/mininet/mininet-vm-images/downloads )
2.0.0 (https://github.com/mininet/mininet/downloads/ )

Install mininet virtualization system to your virtual box.


Get Started with Mininet
Mininet with Floodlight
requirements :
JVM (1.7 Oracle)
Linux :
Ubuntu 10.04/ higher include git
Ant version 1.8.1 or lower
OSX :
OSX 10.6 or higher
XCode 4.1 (for 10.7 Lion) or XCode 4.0.2 (10.6 Snow Leopard) : include gcc, make, git
Mininet with Floodlight
Download Floodlight controller & then build

Running Floodlight
Mininet with Floodlight
Open the browser type the url : http://controller-ip:8080
Login to Mininet VM, create topology and add the floodlight controller,

Test to Ping between host and start wireshark to captures the packet.
OpenDayLight

The OpenDaylight Project is a collaborative


open source project hosted by The Linux
Foundation. The goal of the project is to
accelerate the adoption of software-defined
networking (SDN) and create a solid
foundation for Network Functions
Virtualization (NFV).
Mininet with OpenDayLight
requirements :
JVM (1.7 Oracle)
Linux :
Ubuntu 10.04/ higher include git
Ant version 1.8.1 or lower
OSX :
OSX 10.6 or higher
XCode 4.1 (for 10.7 Lion) or XCode 4.0.2 (10.6 Snow Leopard) : include gcc, make, git
Mininet with OpenDayLight
Download OpenDayLight Controller :
https://jenkins.opendaylight.org/controller/job/controller-
merge/lastSuccessfulBuild/artifact/opendaylight/distribution/opendaylight/target/

Running the controller using command run.sh


Open the browser and type URL : http://controller-IP:8080
User : admin
Password : admin
Mininet with OpenDayLight
Login to Mininet VM, create topology and add the OpenDayLight
controller
Test to Ping between host and start wireshark to captures the packet.
I am follow this video ….

You might also like