Upload
vanphuc
View
229
Download
6
Embed Size (px)
Citation preview
OpenDaylight:The Open Source SDN Controller Platform
Jan Medved, Distinguished Engineer CTAO
PSOSDN-2761
• What is SDN and OpenDaylight?
• OpenDaylight Architecture
• Use Cases
• Resources
Agenda
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
What is SDN?
• Control & Data Planes separation?
• OpenFlow?
• Logically centralized control Plane?
• White label switches?
• This a valid & useful SDN use case, but...
• SDN can be defined more broadly:
• Network is a source of vast amount of other useful data...
• ..that can be utilized by variety of SDN applications
PSOSDN-2761 4
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
SDN and Orchestration: End-to-End Modeling
Forwarding Plane
Control Plane
Network Services
Management and Orchestration
Transport
Network Elements and Abstraction
Analysis and Monitoring, Performance and Security
Application Developer Environment
Harvest
Network
Intelligence
Program for Optimized
Experience
Products
Device Models
Service Models
SDN
PSOSDN-2761 5
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
What Should an SDN Controller Look Like?
• A platform for deploying SDN applications
• Provide an SDN application development environment.
PSOSDN-2761 6
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
SDN Controller: Platform Requirements
• Flexibility:
• Accommodate a variety of diverse applications
• Controller applications SHOULD use a common framework and programming model, and provide consistent APIs to their client
• Scale the development process:
• No infrastructure code hotspots
• Independent development of controller applications & short integration times
• Run-time Extensibility & Modularity:
• Load new protocol and service/application plugins at run-time.
• Adapt to data schemas (models) discovered in the network
• Performance & Scale
PSOSDN-2761 7
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
SDN Controller: App Development Requirements
• A domain-specific modeling language to describe internal and external system behavior
• Modeling tools for the controller aligned with modeling tools for devices
• Code generation from models:
• Enforce standard API contracts
• Generate boilerplate code performing repetitive and error-prone tasks
• Produce functionally equivalent APIs for different language bindings
• Model-to-model adaptations for services and devices
• Consumption of aligned device models
PSOSDN-2761 8
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
What is OpenDaylight?
OpenDaylight is an Open Source Software project under the Linux Foundationwith the goal of furthering the adoption and innovation of Software Defined Networking (SDN) through the creation of a common industry supported platform
Code Acceptance Community
To create a robust,
extensible, open source
code base that covers the
major common
components required to
build an SDN solution
To get broad industry acceptance
amongst vendors and users
• Using OpenDaylight code directly or
through vendor products
• Vendors using OpenDaylight code as part
of commercial products
To have a thriving and growing
technical community
contributing to the code base,
using the code in commercial
products, and adding value
above, below and around.
PSOSDN-2761 9
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
In a Nutshell, OpenDaylight…
... has had 31.388 commits made by 696 contributors representing 2,614,066 lines of code
... is mostly written in Java with an average number of source code comments
... has a well established, mature codebase maintained by a very large development team with stable Y-O-Y commits
... took an estimated 764 years of effort (COCOMO model)
PSOSDN-2761 10
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
OpenDaylight• The biggest networking OSS project by any measure (www.openhub.net):
150+ known* deployments by 20+ companies SW / Equipment vendors, SPs, … Networking, entertainment, energy management, …
* = reported to Linux Foundation
OVS:306,888
FD.io: 276,133
Floodlight: 86
RYU:95
FD.io: 90
Floodlight: 2,722
RYU:2,783
FD.io: 1,418
Floodlight: 93,198
PSOSDN-2761 11
OpenDaylight Architecture
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
SDN Controllers: Modularity & Layering
Service Adaptation Layer / Core
Protocol Plugin
NetconfClient
Network Devices
Applications
Network DevicesNetwork Devices
ApplicationsOSS/BSS, External Apps
Protocol Plugin
Protocol Plugin...
ApplicationNetconfServer RESTCONF ... Application
Adapters
Core
Apps REST
Products
Device Models
Service Models
API
API
For years we thought SDN was all about this piece of the
puzzle and then realized the protocols were limiting innovation
PSOSDN-2761 13
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
OpenDaylight: From Layers to Microservices
Controller
SAL/Core
Protocol Plugin
Protocol Plugin
...
Application ... Application
Northbound API
Southbound API
Controller
ProcessingProcessing
SAL/Core
Application
Protocol Plugin
Model
API
Application(Processing)
API
Model
ProductsDevice Models
Service ModelsService
ModelsService ModelsService
Models
PSOSDN-2761 14
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Software Architecture
Model-Driven SAL(MD-SAL)
NetconfClient
Network DevicesNetwork DevicesNetwork Devices
Protocol Plugin
...NetconfServer RESTCONF ApplicationApplication
REST
ApplicationsApplicationsOSS/BSS, External Apps
DataStore
RPCs
Notifications Namespace
“Kernel”
Apps/Services
Data Change
Notifications
Yang Model
PSOSDN-2761 15
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Data Store Sharding
• Select data subtrees• Currently, can
only pick a subtree directly under the root
• Working on subtrees at arbitrary levels
• Map subtreesonto shards
• Map shards onto nodes
Data tree root
Shard1.1 Shard1.2 Shard1.3 Shard2.1 ShardN.1...
...
Node1 Node2 NodeM
Shard Layout Algorithm:Place shards on M nodes
...
Shard Hash Function: Divide the tree into n shards
ShardX.Y:X: Service XY: Shard y within Service x
PSOSDN-2761 16
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Example Processing Pipeline: BGP
Controller
RibIn PolicyRibIn Policy
SAL/Core
RibIn Policy
Effective RibInAdjRibIn AdjRibOut
BGP PeerBGP PeerBGP Peer
AdjRibInAdjRibIn
Effective RibInEffective RibIn
LocRib AdjRibOutAdjRibOut
LocRib Writer
BGP PDU In BGP PDU Out
Outbound policy
Data Change Notification
Data Store Write
RPCs/Notifications
PSOSDN-2761 17
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Example Processing Pipeline: OpenFlow
Controller
SAL/Core
OF Inventory(Operational)
Forwarding Rules Manager
OpenFlow Java
OF Plugin
Data Change Notification
Data Store Write
OF SwitchOF SwitchOF Switch
OF Topology
Topology Manager
OF Inventory(Configuration)
NETCONF
RESTCONF
OF SwitchOF SwitchApps
RPCs/Notifications
OpenFlow 1.0/1.3
Inventory
PSOSDN-2761 18
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Streamlining the App Development Process
EMS
Programmers
Product Owners
Bag of developed
integrated software
components
Informal Models
(UML, SID, ...)
Informal Models
(UML, SID, ...)
Product Owners
Auto-generated code from
models;
APIs rendered at run-time
Programmers
SDN App
Formal Data Models
Information Models YANG
YANG
PSOSDN-2761 19
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Simplified Network Application Life CycleEnd-to-End Model-Driven Architecture
NetworkNetwork Element
…
API
Network Element
…
API
Controller
API
API
… …
Network
Representation
Application Application Application
Feature change
Application change
Load NE Model
Autogenerate code
Auto-update API
PSOSDN-2761 20
Use Cases
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Generic Fast Data Stack Architecture
OpenStack Neutron
ODL Neutron Northbound
GBP Neutron Mapper
VPP Renderer(Attachment
point control)
Overlay TopologyManager
(Tunnels & I/Fs)
L2 ForwardingManager
(VBD)
L3 ForwardingManager
(Unicast/Multicast)
Honeycomb
VPP
DPDK
Honeycomb
VPP
DPDK
NC/Y
GPB, NC/Y
NC/Y
PaNDA
Raw
• GBP Neutron Mapper:
- Translate Neutron calls to generic GBP
• VPP Renderer:
- Manage attachments (VMs, taps, etc.)
• Overlay Topology Mgr
- Manage overlay tunnels: VXLAN, NSH,
SR, …
• L2 Forwarding Mgr (VBD):
- Manage forwarding over tunnels
(incl. end-point reachability) for L2
• L3 Forwarding Mgr
- Manage underlay and overlay L3
forwarding
• Route Server:
- routing for underlay
- routing for overlay MPLS/VPN
- peering with external networks
• Honeycomb:
- VPP config and oper data (via NC/Y)
- propagate routing information
(IGP, BGP) to XRv
- propagate interface up/down
to VBD and XRv
Key Components
GPB
LISP Map Server,
Map Resolver
REST
GUI, CLI, REST
NC/YNC/Y NC/Y
Calico
Felix
BGP RR
NC/YBGP
FelixFelixco-lo
with VPP
Orchestrator Plugin
etcdRoute Server
(XRv)(Rt-Bricks)(Quagga)
NC/Y
BGP
TelemetryCollection
andIngestion
REST
Collector
R3 ConfigServer
NC/Y
Honeycomb
VPP
DPDK
Honeycomb
VPP
DPDK
PSOSDN-2761 22
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Satellite Network
PSOSDN-2761 23
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Data Collection / Analytics with PaNDA
Data
sources
Data
Distribution
Data Store
& Processing
Publishers:
Data aggregation
Master Data
Store
Data analysis
Applications
Data Platform
SNMPEvent
aggregation
LogsLog
Aggregation
Metric aggregation
SNMP
Monit,
Collectd,
Logstash,
Ceilometer
NetflowNetwork
Telemetry
Batch
Processing
Stream
processing
Live stream
Capacity Analytics
Billing (Mediation)
Business Intelligence
Log Search
Security and Threat Analysis
Inventory
Real Time
Data Store
Deep H
isto
rical Q
uery
Real T
ime Q
uery
Hig
h p
erf
orm
ance p
ub/s
ub b
us
Fault Analysis
PerfAnalysis
Data
sources
CMTS/VCMTS
Modem
App
GUI
K ODL Kafka plugin
ModemModem
STBSTB
STB
CMTS/VCMTS
ModemModem
Modem
STBSTB
STBMetric
aggregation
...
Collector(ODL)Collector
(ODL)Collector(ODL)
K
(ODL)AppK
SNMP, CLI AppApp
PSOSDN-2761 24
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Iot Controller & Data Collector
IoT/SDN Controler
DeviceManagementConsole
Policy Push(Krikkit)
Device Policies
Select Data
IoT Data Collector
IoTDMoneM2M
IoT Dashboard
PSOSDN-2761 25
Resources
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Resources
• More information and to join:
• http://wiki.opendaylight.org
• Keep informed and join the conversation
• IRC: #opendaylight on Freenone
• Open mailing lists:
• lists.opendaylight.org
• @openDaylightSDN
• #OpenDaylight
27
PSOSDN-2761 27
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Complete Your Online Session Evaluation
Don’t forget: Cisco Live sessions will be available for viewing on-demand after the event at CiscoLive.com/Online
• Give us your feedback to be entered into a Daily Survey Drawing. A daily winner will receive a $750 Amazon gift card.
• Complete your session surveys through the Cisco Live mobile app or from the Session Catalog on CiscoLive.com/us.
PSOSDN-2761 28
© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public
Continue Your Education
• Demos in the Cisco campus
• Walk-in Self-Paced Labs
• Lunch & Learn
• Meet the Engineer 1:1 meetings
• Related sessions
PSOSDN-2761 29
Thank you