devnet-1175opendaylight service function chaining

24
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public Presentation ID OpenDaylight Service Function Chaining

Upload: cisco-devnet

Post on 08-Aug-2015

192 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

OpenDaylight Service Function Chaining

Page 2: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

• OpenDaylight Overview• Service Function Chaining Overview• OpenDaylight Implementation

Agenda

Page 3: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 3

What is OpenDaylight

• Multi-project

• Multi-party

• Open Source

• Platform (not SDK)

Page 4: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

4

Who is ODL – Corporate VersionODL Member Companies

Page 5: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

5

42(!) Projects in Lithium

gbpmdsal

lisp

yangtools

neutron

persistence

plugin2oc

topoprocessing

bgp

sxp

snmp

didm

alto

opflex sdni

openflow

l2switch

dlux

vpn

tsdr

lacp

nic

pcmm

ttp

ovsdb vtn

usc

reservation

iotdm

autorelease

tutorials

defense4all

documentation

integration

sfc

builder

capwap

snmp4sdn

netconf

pcep

restconf

Kernel Protocol Plugins Applications Support

Page 6: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

Core Tenets• ODL is a platform (not an SDK)

• Develop, load and run applications

• Innovative, vibrant community• Everyone is welcome• “Sideways” extension

• Model driven• YANG modeling language • Auto generated APIs

• Common north-bound API, but many south-bound protocols• REST/RESTCONF NB• OF, NC/YANG, SNMP, etc. SB

Page 7: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

OpenDaylight: Open Source SDN Controller

Controller

Service Adaptation Layer

Inventory Manager

Base Network Functions

Topology Exporter Statistics

ManagerForwarding

Rules ManagerTopology Exporter Topology

Exporter Inventory ManagerInventory

Manager

OpenFlow1.0/1.3 BGP-LS PCEP Netconf

Client OVSDB

REST APIs

...

Service Functions

SFC...Configuration

Subsystem

NETCONF

LISP

Network Devices

ApplicationsNetwork Applications

Orchestration & Services

Controller Platform

Southbound Interfaces& Protocol Plugins

Page 8: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 8

Yangtools – What is Yang?• Yang is a modeling language

• Text based• Simple Compact

• Models semantics and data organization

• Models can be ‘augmented’

• Can model:• Config/Operational data as a tree• RPCs• Notifications

• Standard based (RFC 6020)

Page 9: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID 9

Yangtools – What does Yangtools do?• Generates Java code from Yang

• Provides ‘codecs’ to convert• Generated Java classes to DOM• DOM to various formats

• XML• JSON• Etc

• ‘Codecs’ make possible automatic:• RESTCONF• Netconf• Other bindings (AMQP expected

this summer)

Java code

xml

json

exi

Page 10: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

Evolving Service Deployment• Service functions are used in almost all networks

• Deployment techniques haven’t changed in over a decade!• Require network configuration changes: VLANs, PBR• Static: no dynamic, horizontal or vertical scaling, and requires network changes• Operationally disjoint: no “whole stack” view or orchestration

• Major impediment to application deployment• How long does it take to deploy a new application or service?• How much of that is due to network services?

• Service Function Chaining changes all that!• Embraces the transitions taking places all over the network

• Virtualization• Programmatic interfaces• Overlays• Abstraction

Page 11: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

SFC Architectural Principles

1. Topology independent

2. Transport independent

3. Simplifies provisioning and orchestration

4. Provide clear visibility and OAM to operators

5. Unburden the service functions

6. Centralized and distributed control plane support

7. Metadata support

Page 12: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

Service Classifier Determines which traffic requires service and forms the logical start of a

service path

Service Path A service path is the actual forwarding path used to realize a service chain Think of service chain as the “intent”; service path the actual instantiation of

the chain in the network

Service Function Forwarder (SFF) Responsible for delivering traffic received from the network to one or more

connected service functions according to information carried in the network service header as well as handling traffic coming back from the SF

Service Function Proxy Component used to process network service headers on-behalf of an

attached SF

SFC Data Plane Components NSH Powered

Page 13: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

Orchestration Define service chains &

build service paths

Control / Policy Planes Instantiate service chains

adhering to policy

Data Plane Traffic steering & metadata

Services Function Chaining PrimerHigh-level Component Structure

Service Chaining Orchestration

SF(VM)

Service

(v)s

witc

h

Forwarding

Service

Service

Classifier

SF(Physical

)

Serv

ice1

VLAN

Service Function

Forwarder (SFF)

Control Plane

Policy Plane

SF(VM)

Service

(v)s

witc

h

Forwarding

Service

SF(Physical

)

Serv

ice1

VLAN

Service Function

Forwarder (SFF)

Service

Classifier

Network Overlay +

Service Header

Service Header

NSH Powered

Page 14: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

ODL SFC implementation components Provider YANG Models UI Data Plane Data store Listeners and Renderers

REST Openflow LISP

https://wiki.opendaylight.org/view/Service_Function_Chaining:Main

Opendaylight SFC Main Components

Page 15: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

Yang Models

• rendered-service-path.yang

• service-function.yang

• service-function-acl.yang

• service-function-chain.yang

• service-function-classifier.yang

• service-function-description-monitor.yang

• service-function-description-monitor-report.yang

• service-function-forwarder.yang

• service-function-forwarder-ovs.yang

• service-function-path.yang

• service-function-path-metadata.yang

• service-function-type.yang

• service-locator.yang

Page 16: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

ODL SFC in essence a point to multipoint architecture

SFC Provider manages all configuration information provided by orchestration system or admin.

SFC Provider writes constructed Service Function Paths and Rendered Service Path to the datastore

Protocol datastore listeners are notified of service objects creation

These listeners will process RSP information and communicate to their controlled southbound devices

Big Picture

Page 17: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

Opendaylight SFC Architecture

Page 18: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

One stop shop for everything SFC

Provides graphical view and configuration of Rendered Service Paths, Service Chains, Service Functions, etc

Extremely easy to use

Makes configuration and repetitive tasks easy: uses templates, allows copy & replicating configuration, bulk edits, amongst others

UI has built-in diagnostics to tell if SFC components are running, state, pull logs from ODL, amongst others.

SFC-UI

Page 19: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

SFC Front End

Page 20: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

SFC JSON Data

"service-function": [ { "name": "SF5", "sf-data-plane-locator": [ { "name": "vxlan", "ip": "10.0.1.43", "port": 40001, "transport": "service-locator:vxlan-gpe", "service-function-forwarder": "SFF4" } ], "nsh-aware": true, "rest-uri": "http://10.0.1.43:5000", "ip-mgmt-address": "10.0.1.43", "type": "service-function-type:napt44" }

"service-function-forwarder": [ { "name": "SFF4", "sff-data-plane-locator": [ { "name": "eth0", "data-plane-locator": { "port": 4789, "ip": "10.0.1.44", "transport": "service-locator:vxlan-gpe" } } ], "rest-uri": "http://10.0.1.44:5000", "service-function-dictionary": [ { "name": "SF5", "type": "service-function-type:napt44", "sff-sf-data-plane-locator": { "port": 40001, "ip": "10.0.1.43", "transport": "service-locator:vxlan-gpe" } } ], "ip-mgmt-address": "10.0.1.43", }

Page 21: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

SFC JSON Data

"service-function-chain": [ { "name": "SFC2", "sfc-service-function": [ { "name": "firewall-abstract2", "type": "service-function-type:firewall", "order": 0 }, { "name": "napt44-abstract2", "type": "service-function-type:napt44", "order": 1 } ] }

"service-function-path": [ { "name": "Path-2-SFC2", "service-chain-name": "SFC2", "symmetric": true }

Page 22: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

"rendered-service-path": [

{

"name": "Path-2-SFC2",

"parent-service-function-path": "Path-2-SFC2",

"path-id": 9,

"service-chain-name": "SFC2",

"starting-index": 255,

"rendered-service-path-hop": [

{

"hop-number": 0,

"service-function-name": "SF4",

"service-function-forwarder": "SFF3",

"service_index": 255

},

{

"hop-number": 1,

"service-function-name": "SF5",

"service-function-forwarder": "SFF4",

"service_index": 254

}

]

}

Operational Data

Page 23: DEVNET-1175OpenDaylight Service Function Chaining

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID

https://github.com/opendaylight/sfc

https://wiki.opendaylight.org/view/Service_Function_Chaining:Main

https://wiki.opnfv.org/service_function_chaining

References

Page 24: DEVNET-1175OpenDaylight Service Function Chaining

Thank you.