Upload
cisco-devnet
View
188
Download
1
Tags:
Embed Size (px)
Citation preview
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID
OpenDaylight Service Function Chaining
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID
• OpenDaylight Overview• Service Function Chaining Overview• OpenDaylight Implementation
Agenda
© 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)
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID
4
Who is ODL – Corporate VersionODL Member Companies
© 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
© 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
© 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
© 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)
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID
Opendaylight SFC Architecture
© 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
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicPresentation ID
SFC Front End
© 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", }
© 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 }
© 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
© 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
Thank you.