OpenDaylight:The Open Source SDN Controller...

31

Transcript of OpenDaylight:The Open Source SDN Controller...

Page 1: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...
Page 2: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

OpenDaylight:The Open Source SDN Controller Platform

Jan Medved, Distinguished Engineer CTAO

PSOSDN-2761

Page 3: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

• What is SDN and OpenDaylight?

• OpenDaylight Architecture

• Use Cases

• Resources

Agenda

Page 4: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 5: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 6: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 7: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 8: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 9: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 10: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 11: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 12: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

OpenDaylight Architecture

Page 13: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 14: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 15: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 16: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 17: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 18: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 19: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 20: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 21: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

Use Cases

Page 22: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 23: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

Satellite Network

PSOSDN-2761 23

Page 24: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 25: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 26: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

Resources

Page 27: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 28: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 29: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

© 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

Page 30: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...

Thank you

Page 31: OpenDaylight:The Open Source SDN Controller Platformd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/PSOSDN-… ·  · 2016-07-13OpenDaylight:The Open Source SDN Controller Platform ...