Upload
sdn-hub
View
1.768
Download
3
Embed Size (px)
DESCRIPTION
"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.
Citation preview
<#>
Problem in Today’s Ossified Network
Million of linesof source code
6000+ RFCs Barrier to entry
Billions of gates Bloated Power HungrySpecialized Packet Forwarding Hardware
OperatingSystem
Feature Feature
Routing, management, mobility management, access control, VPNs, …
Many complex functions baked into the infrastructureOSPF, BGP, multicast, differentiated services,Traffic Engineering, NAT, firewalls, MPLS, redundant layers, …
3
Solution: “Software-defined Network”
Simple Packet Forwarding Hardware
Simple Packet Forwarding Hardware
Simple Packet Forwarding Hardware
Simple Packet Forwarding Hardware Simple Packet
Forwarding Hardware
Network Operating System
OpenFlow or other API
North-boundinterface API
Unchanged mgmt APILB
serviceFW
serviceIP routing
serviceLegacy Router
This is the purist view with clear separation of data and control
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
Extnl. Control plane
Mgmt plane Orchestration
Hybrid control plane where the
hardware contains a more open platform for adding logic
Intl. Control plane
Data plane
5
SDN Killer App #1: Network Virtualization
Dynamic, Programmable, AutomatedComputing Infrastructure
SDN-based Virtualized Network Platform
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 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
8
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
Base Network Service Functions
Management GUI/CLI
Controller Platform
Southbound Interfaces& Protocol Plugins
OpenDaylight APIs (REST)
DOVE Mgr
Data Plane Elements(Virtual Switches,Physical Device
Interfaces)
Service Abstraction Layer (SAL)(plug-in mgr., capability abstractions, flow programming, inventory, …)
OpenFlow
1.0 1.3LISP
Topology Mgr
Stats Mgr
Switch Mgr
Host Tracker
Shortest Path
Forwarding
VTN Coordinator
Affinity Service
Network Applications Orchestration & ServicesOpenStack
Neutron
VTN Manager
VTN: Virtual Tenant NetworkDOVE: Distributed Overlay Virtual EthernetDDoS: Distributed Denial Of ServiceLISP: Locator/Identifier Separation ProtocolOVSDB: Open vSwitch DataBase ProtocolBGP: Border Gateway ProtocolPCEP: Path Computation Element Communication ProtocolSNMP: Simple Network Management Protocol
LISP Service
NETCONF BGP-LSSNMP
DDoS Protection
OVSDB PCEP
OpenStack Service
NetworkConfig
Main difference from other OpenFlow-centric controller platforms
OpenFlow Enabled Devices
Devices with Proprietary control plane
OVSDB enabled devices
11
Helium Release
Base Network Service Functions
Dlux UI
Controller Platform
Southbound Interfaces
& Protocol Plugins
OpenDaylight APIs (REST)
Data Plane Elements(Virtual Switches,Physical Device
Interfaces)
Service Abstraction Layer (SAL)(plug-in mgr., capability abstractions, flow programming, inventory, …)
OpenFlow
1.0 1.3LISP
Topology Mgr
Stats Mgr
Switch Mgr
Host Tracker Flow Rules
Mgr
VTN Coordinator
AAA
Network Applications Orchestration &
Services
OpenStackNeutron
OpenFlow Enabled Devices
VTN: Virtual Tenant NetworkDDoS: Distributed Denial Of ServiceLISP: Locator/Identifier Separation ProtocolOVSDB: Open vSwitch DataBase ProtocolBGP: Border Gateway ProtocolPCEP: Path Computation Element Communication ProtocolPCMM: Packet Cable MultiMediaSNMP: Simple Network Management Protocol
LISP Service
NETCONF BGP-LS
Devices with Proprietary control plane
SNMP
DDoS Protection
OVSDB enabled devices
OVSDB PCEP
Main difference from other OpenFlow-centric controller platforms
SDNi Wrapper
GBP Service
SFC
TTPSNBIPCMM/
COPSOPEN
CONTRAIL
GBPrenderer
OVSDB Neutron
VTN Mgr
OpenStack Service
OpenContrail
L2switch
SNBIservic
e
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
► Karaf: Light-weight Runtime for loading modules/bundles OSGi based. Primary distribution mechanism for Helium
OSGi Framework (Equinox)
FeatureA SAL
FeatureB …
Karaf
Active projects based on phone calls
► OVSDB – Southbound plugin and OpenStack Neutron integration► SNBI – Secure Network Bootstrapping Infrastructure► GBP – Group Based Policy► SFC – Service Function Chaining (NSH)► Dlux – OpenDaylight UI
OpenFlowPlugin
MD-SAL
LISP Flow Mapping
OVSDB
Documentation
SNBI
Integration, SFCSecurity analysis
AAA, Dlux
GBP
OpFlex
PacketCable
Full project list here: https://wiki.opendaylight.org/view/Main_Page#Projects
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
Helium: Feature Dependency Chart
Helium: Running Karaf distribution$ wget http://
nexus.opendaylight.org/content/groups/public/org/opendaylight/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/karafopendaylight-user@root> feature:list (get all apps available)opendaylight-user@root> feature:install odl-dlux-coreopendaylight-user@root> feature:install odl-openflowplugin-allopendaylight-user@root> feature:install odl-l2switch-allopendaylight-user@root> bundle:list | grep Active
Now your controller is ready to connect to switches and handle incoming flows.
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
OpenDaylight Hands-on Exploration► Tutorial at: http://sdnhub.org/tutorials/opendaylight► Dependency chart:
18Legend: Blue = Feature, Green = Bundle
Sample project: OVSDB1) OVSDB southbound-plugin2) OpenStack integration for net-virt
20
Orchestration
North-bound API
Application
Controller
South-bound API
Dataplane elements
OpenStack Network Mgmt
Typical workflow1. Create a network2. Associate a subnet
with the network3. Boot a VM and
attach it to the network
4. Delete the VM5. Delete any ports6. Delete the network
Network Virtualization App
SDN Controller
pSwitch
pSwitch
vSwitch
vSwitch
OVSDBOpenFlow
Neutron API
ODL Mech driver
ML2 Plugin