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) High level data model that captures the relationships between managed resource. (Yang modeling language) RESTful (representational state transfer) API Secure TCP control session between controller with network elements. Provide standard protocol of application network state on network elements. Must has service discovery mechanism. ex (discovery : devices, topology), path computational system.

2. 3. 4. 5. 6.

Lists of Controller
1. 2. 3. 4. 5. 6. 7. VMware Nicira Mininet NOX/POX Trema Ryu Big Switch Networks/Floodlight 8. Juniper Network 9. Plexxi 10. Cisco One PK

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

Niciras 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 plugin 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. 2. 3. 4. Provides a C++ Programming language Provides fast, asynchronous IO Is targeted at recent Linux distributions (particularly Ubuntu 11.10 and 12.04, but Debian is also easy, and RHEL 6 is possible) 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. 2. 3. 4. Runs anywhere Can bundle with install-free PyPy runtime for easy deployment Specifically targets Linux, Mac OS, and Windows Supports the same GUI and visualization tools as NOX 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. 2. 3. 4. Trema is a OpenFlow controller framework that includes everything needed to create OpenFlow controllers in Ruby and C. Open Source supported by NEC Trema now supports OpenFlow version 1.3.X via a repository called TremaEdge. Modular.

https://github.com/trema/trema-edge latest commit ? 4 days ago. 13 contributors.

1.

2. 3.

4.

The Trema core does not provide any state management or database storage structure. The infrastructure provides a command-line interface (CLI) Managing messaging and filters, and configuring virtual networks via Network Domain Specific Language (DSL, a Trema-specific configuration language). 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, OFconfig, etc. About OpenFlow, Ryu supports fully 1.0, 1.2, 1.3, 1.4 and Nicira Extensions. Open Source supported by NTT Labs Python Has OpenStack Quantum plugin support Support a REST interface.

2. 3. 4. 5.

https://github.com/osrg/ryu latest commit? 8 days ago , 32 contributors.

About
1. 2. 3. 4. Floodlight is a very popular SDN controller contribution from Big Switch Networks to the open source community Floodlight is based on Beacon from Stanford University. Java-based OpenFlow controller. API interface is shared with Big Switch Networks commercial enterprise offering Big Network Controller (BNC) Developed into both SQL and NoSQL backend storage abstractions for a third-party open source storage solution http://www.projectfloodlight.org/ Floodlight offers an OpenStack Quantum plug-in https://github.com/floodlight/floodlight
latest commit ? 12 days ago, 41 contributors.

5.

6.

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. 2. Controllers supporting L3VPN 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 The communication/messaging between Control Node and vRouter Agent is intended to be an open standard using XMPP (Extensible Messaging and Presence Protocol).

3.

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/controllermerge/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 .