"Helium" is the second release of OpenDaylight made on Oct 2, 2014. This release has more expanded support for Yang, modeling and autogeneration of REST API, improved performance of MD-SAL datastore using Tree-based Akka storage, better integration with OpenStack Neutron API, support for Group-based Policy and support for Service Function Chaining.
2. Problem in Today’s Ossified Network
2
Routing, management, mobility management,
access control, VPNs, …
Million of lines
of source code
6000+ RFCs Barrier to entry
Feature Feature
Operating
System
Specialized Packet Billions of gates Bloated Power Hungry
Forwarding Hardware
Many complex functions baked into the infrastructure
OSPF, BGP, multicast, differentiated services,
Traffic Engineering, NAT, firewalls, MPLS, redundant layers, …
3. Solution: “Software-defined Network”
3
Simple Packet
Forwarding
Hardware
Simple Packet
Forwarding
Hardware Simple Packet
Simple Packet
Forwarding
Hardware
Simple Packet
Forwarding
Hardware
Forwarding
Hardware
Network Operating System
OpenFlow or
other API
North-bound
interface API
Unchanged mgmt API
LB
service
FW
service
IP routing
service
Legacy Router
This is the purist view
with clear separation
of data and control
4. Expanded View of SDN in OpenDaylight
Hybrid approaches supported
1. FIB programmable through OpenFlow,
irrespective of whether there is an
onboard control plane
2. Programmable exclusively through
embedded control plane: e.g., Yang
modeled NetConf, OpFlex
3. Programming both embedded control
plane and FIB: e.g., Open vSwitch
Mgmt plane
Orchestration
Extnl. Control plane
Intl. Control
plane
Data
plane
Hybrid control
plane where the
hardware contains
a more open
platform for
adding logic
6. SDN Killer App #2: Service Function Chaining
6
Internet Internet
NFV
7. Business Potential of SDN
Business potential How?
Reduced time to revenue Speed up of service provisioning
New revenue Through new business models centered around
7
on-demand usage
Improved policy compliance Ensure that cloud workload is compliant with
enterprise policies (e.g., access control)
OpEx saving Automated operations and easier management
of resources
Reduced OpEx during upgrades Introduce new functions and service by
replacing just software stack
9. OpenDaylight Consortium
► Heavy industry involvement and backing
► Focused on having an open framework for building
upon SDN/NFV innovations
Not limited to OpenFlow innovations, but in fact decoupled
from it allowing the two to evolve independently
9
10. Hydrogen Release
10
Base Network Service Functions
Management
GUI/CLI
Controller Platform
Southbound Interfaces
& Protocol Plugins
DDoS
Protection
OpenDaylight APIs (REST)
OpenStack Service
DOVE Mgr
Data Plane Elements
(Virtual Switches,
Physical Device
Interfaces)
Network
Config
Service Abstraction Layer (SAL)
(plug-in mgr., capability abstractions, flow programming, inventory, …)
OpenFlow
1.0 1.3
LISP
Topology
Mgr
Stats
Mgr
Switch
Mgr
Host
Tracker
Shortest
Path
Forwarding
VTN
Coordinator
Affinity
Service
Network Applications
Orchestration & Services
OpenStack
Neutron
VTN
Manager
VTN: Virtual Tenant Network
DOVE: Distributed Overlay Virtual Ethernet
DDoS: Distributed Denial Of Service
LISP: Locator/Identifier Separation Protocol
OVSDB: Open vSwitch DataBase Protocol
BGP: Border Gateway Protocol
PCEP: Path Computation Element Communication Protocol
SNMP: Simple Network Management Protocol
LISP
Service
NETCONF SNMP BGP-LS
OVSDB PCEP
OpenFlow Enabled
Devices
Main difference from other OpenFlow-centric
controller platforms
Devices with Proprietary
control plane
OVSDB enabled devices
11. Helium Release
11
Dlux UI
Base Network Service Functions
Controller
Platform
Southbound
Interfaces
& Protocol Plugins
OpenDaylight APIs (REST)
Data Plane Elements
(Virtual Switches,
Physical Device
Interfaces)
OpenStack Service
Service Abstraction Layer (SAL)
(plug-in mgr., capability abstractions, flow programming, inventory, …)
OpenFlow
1.0 1.3
LISP
Topology
Mgr
Stats
Mgr
Switch
Mgr
Host
Tracker
Flow Rules
Mgr
VTN
Coordinator
AAA
Network Applications
Orchestration &
Services
OpenStack
Neutron
OVSDB PCEP
OpenFlow Enabled
Devices
VTN: Virtual Tenant Network
DDoS: Distributed Denial Of Service
LISP: Locator/Identifier Separation Protocol
OVSDB: Open vSwitch DataBase Protocol
BGP: Border Gateway Protocol
PCEP: Path Computation Element Communication Protocol
PCMM: Packet Cable MultiMedia
SNMP: Simple Network Management Protocol
LISP
Service
NETCONF BGP-LS
Devices with Proprietary
control plane
SNMP
DDoS
Protection
OVSDB enabled devices
Main difference from other OpenFlow-centric
controller platforms
SDNi
Wrapper
GBP
Service
SFC
TTP
SNBI
PCMM/
COPS
OPEN
CONTRAIL
GBP
renderer
OVSDB
Neutron
VTN
Mgr
Open
Contrail
L2
switch
SNBI
service
DOCSIS
SDNI
aggreg
AAA – AuthN filter
12. Java, Interface, Maven, OSGi, Karaf
► Java chosen as an enterprise-grade,
cross-platform compatible language
► Java Interfaces are used for event listening,
specifications and forming patterns
► Maven – build system for Java
► OSGi:
Allows dynamically loading bundles
Allows registering dependencies and
services exported
For exchanging information across bundles
Feature
Feature
A B …
SAL
Karaf
OSGi Framework
► Karaf: Light-weight Runtime for loading modules/bundles
OSGi based. Primary distribution mechanism for Helium
12
(Equinox)
13. Active projects based on phone calls
OpenFlowPlugin
MD-SAL
LISP Flow Mapping
OVSDB
Documentation
SNBI
Integration, SFC
► OVSDB – Southbound plugin and OpenStack Neutron integration
► SNBI – Secure Network Bootstrapping Infrastructure
► GBP – Group Based Policy
► SFC – Service Function Chaining (NSH)
► Dlux – OpenDaylight UI
Security analysis
AAA, Dlux
GBP
OpFlex
PacketCable
Full project list here: https://wiki.opendaylight.org/view/Main_Page#Projects
14. Helium: Full List of Projects
opflex OpFlex protocol
ovsdb OVSDB protocol and OpenStack integration
packetcable PacketCable PCMM/COPS
plugin2oc Southbound plugin to the OpenContrail platform
reservation Dynamic Resource Reservation project
sdninterfaceapp SDNi Cross-controller interface
sfc Service Function Chaining
snbi Secure Network Bootstrap Infrastructure
snmp4sdn SNMP4SDN Plugin
tcpmd5 TCP-MD5 Support library
toolkit Quickstart Toolkit
ttp TTP Project
vtn VTN (Virtual Tenant Network)
yangtools YANG Tools
Project keyword Description
aaa AAA Project
bgpcep BGP/PCEP protocol library
controller OpenDaylight Controller
defense4all Radware Defense4All
discovery Discovery Service
dlux OpenDaylight UI
docs Documentation Project
groupbasedpolicy Group Based Policy Plugin
integration Integration Framework
l2switch Separate Layer 2 switching
lispflowmapping LISP Mapping Service
openflowjava OpenFlow Protocol Library
openflowplugin OpenFlow Plugin
16. Helium: Running Karaf distribution
$ wget
http://nexus.opendaylight.org/content/groups/public/org/op
endaylight/integration/distribution-karaf/0.2.0-
Helium/distribution-karaf-0.2.0-Helium.zip
$ unzip distribution-karaf-0.2.0-Helium.zip
$ cd distribution-karaf-0.2.0-Helium
$ ./bin/karaf
opendaylight-user@root> feature:list (get all apps available)
opendaylight-user@root> feature:install odl-dlux-core
opendaylight-user@root> feature:install odl-openflowplugin-all
opendaylight-user@root> feature:install odl-l2switch-all
opendaylight-user@root> bundle:list | grep Active
Now your controller is ready to connect to switches and
handle incoming flows.
17. Helium: REST APIs
► Using REST APIs are much easier with
Helium
► Restconf allows for checking config
and operational state
feature:install odl-restconf
http://localhost:8181/restconf/....
► List of exposed Northbound APIs are
autogenerated using swagger.
feature:install odl-mdsal-apidocs
http://localhost:8181/apidoc/explorer
18. OpenDaylight Hands-on Exploration
► Tutorial at: http://sdnhub.org/tutorials/opendaylight
► Dependency chart:
18
Legend: Blue = Feature, Green = Bundle
20. Orchestration
North-bound
API
Application
Controller
South-bound
API
Dataplane
elements
OpenStack Network Mgmt
20
Typical workflow
1. Create a network
2. Associate a subnet
with the network
3. Boot a VM and
attach it to the
network
4. Delete the VM
5. Delete any ports
6. Delete the
network
ML2 Plugin
ODL Mech driver
Network Virtualization App
SDN Controller
OpenFlow OVSDB
pSwitch
pSwitch
vSwitch
vSwitch
Neutron API