SlideShare una empresa de Scribd logo
1 de 24
OpenDaylight Service Function
Chaining
• OpenDaylight Overview
• Service Function Chaining Overview
• OpenDaylight Implementation
Agenda
What is OpenDaylight
• Multi-project
• Multi-party
• Open Source
• Platform (not SDK)
Who is ODL – Corporate Version
ODL Member Companies
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
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
OpenDaylight: Open Source SDN Controller
Controller
Service Adaptation Layer
Inventory
Manager
Base Network Functions
Topology
ExporterStatistics
Manager
Forwarding
Rules Manager
Topology
ExporterTopology
Exporter
Inventory
ManagerInventory
Manager
OpenFlow
1.0/1.3 BGP-LS PCEP Netconf
Client OVSDB
REST APIs
...
Service Functions
SFC
...Configuration
Subsystem
NETCONF
LISP
Network Devices
Applications
Network Applications
Orchestration & Services
Controller Platform
Southbound Interfaces
& Protocol Plugins
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)
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
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
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
 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
 Orchestration
 Define service chains &
build service paths
 Control / Policy Planes
 Instantiate service chains
adhering to policy
 Data Plane
 Traffic steering & metadata
Services Function Chaining Primer
High-level Component Structure
Service Chaining
Orchestration
SF
(VM)
Servi
ce
(v)switch
Forwar
ding
Servi
ce
Servic
e
Classif
ier
SF
(Physical
)
Service1VLAN
Service
Function
Forwarder
(SFF)
Control
Plane
Policy Plane
SF
(VM)
Servi
ce
(v)switch
Forwar
ding
Servi
ce
SF
(Physical
)
Service1VLAN
Service
Function
Forwarder
(SFF)
Servic
e
Classif
ier
Network
Overlay +
Service Header
Service Header
 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_C
haining:Main
Opendaylight SFC Main Components
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
 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
Opendaylight SFC Architecture
SF SFF
SFC Provider
DataStore
SFP
Openflow
Listener
REST
Listener
LISP
Listener
1
2 3
4RSP
SF = Service Function
SFF = Service Function Forwarder
SFP = Service Function Path
RSP = Rendered Service Path
Opendaylight
Open vSwitch Python NSH
Switch
GUI REST
 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
SFC Front End
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",
}
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
}
"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
 https://github.com/opendaylight/sfc
 https://wiki.opendaylight.org/view/Service_Function_
Chaining:Main
 https://wiki.opnfv.org/service_function_chaining
References
Thank you.

Más contenido relacionado

La actualidad más candente

Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
nvirters
 
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
nvirters
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
Thomas Graf
 
Service Function Chaining in Openstack Neutron
Service Function Chaining in Openstack NeutronService Function Chaining in Openstack Neutron
Service Function Chaining in Openstack Neutron
Michelle Holley
 

La actualidad más candente (20)

Container Service Chaining
Container Service ChainingContainer Service Chaining
Container Service Chaining
 
L4-L7 services for SDN and NVF by Youcef Laribi
L4-L7 services for SDN and NVF by Youcef LaribiL4-L7 services for SDN and NVF by Youcef Laribi
L4-L7 services for SDN and NVF by Youcef Laribi
 
Tech Talk by Louis Fourie: SFC: technology, trend and implementation
Tech Talk by Louis Fourie: SFC: technology, trend and implementationTech Talk by Louis Fourie: SFC: technology, trend and implementation
Tech Talk by Louis Fourie: SFC: technology, trend and implementation
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
 
DEVNET-1006 Getting Started with OpenDayLight
DEVNET-1006	Getting Started with OpenDayLightDEVNET-1006	Getting Started with OpenDayLight
DEVNET-1006 Getting Started with OpenDayLight
 
SDN Project PPT
SDN Project PPTSDN Project PPT
SDN Project PPT
 
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
 
Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16
 
The Third Network: LSO, SDN and NFV
The Third Network: LSO, SDN and NFVThe Third Network: LSO, SDN and NFV
The Third Network: LSO, SDN and NFV
 
OpenStack and OVS: From Love-Hate to Match Made in Heaven
OpenStack and OVS: From Love-Hate to Match Made in HeavenOpenStack and OVS: From Love-Hate to Match Made in Heaven
OpenStack and OVS: From Love-Hate to Match Made in Heaven
 
OCP Summit 2016 - Transforming Networks to All-IT Network with OCP and Open N...
OCP Summit 2016 - Transforming Networks to All-IT Network with OCP and Open N...OCP Summit 2016 - Transforming Networks to All-IT Network with OCP and Open N...
OCP Summit 2016 - Transforming Networks to All-IT Network with OCP and Open N...
 
ONOS-Based VIM Implementation
ONOS-Based VIM ImplementationONOS-Based VIM Implementation
ONOS-Based VIM Implementation
 
Introduction to Beryllium release of OpenDaylight
Introduction to Beryllium release of OpenDaylightIntroduction to Beryllium release of OpenDaylight
Introduction to Beryllium release of OpenDaylight
 
MENOG-Segment Routing Introduction
MENOG-Segment Routing IntroductionMENOG-Segment Routing Introduction
MENOG-Segment Routing Introduction
 
Software Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architectureSoftware Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architecture
 
Segment Routing
Segment RoutingSegment Routing
Segment Routing
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
Next-gen Network Telemetry is Within Your Packets: In-band OAM
Next-gen Network Telemetry is Within Your Packets: In-band OAMNext-gen Network Telemetry is Within Your Packets: In-band OAM
Next-gen Network Telemetry is Within Your Packets: In-band OAM
 
Openstack Neutron Insights
Openstack Neutron InsightsOpenstack Neutron Insights
Openstack Neutron Insights
 
Service Function Chaining in Openstack Neutron
Service Function Chaining in Openstack NeutronService Function Chaining in Openstack Neutron
Service Function Chaining in Openstack Neutron
 

Destacado

OpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANGOpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANG
Tail-f Systems
 

Destacado (20)

Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN Controller
 
Introduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overviewIntroduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overview
 
Provisioning VPNs on an heterogeneous network with OpenDayLight and NETCONF_bcom
Provisioning VPNs on an heterogeneous network with OpenDayLight and NETCONF_bcomProvisioning VPNs on an heterogeneous network with OpenDayLight and NETCONF_bcom
Provisioning VPNs on an heterogeneous network with OpenDayLight and NETCONF_bcom
 
Opencontrail network virtualization
Opencontrail network virtualizationOpencontrail network virtualization
Opencontrail network virtualization
 
Collaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled CloudCollaborating with OpenDaylight for a Network-Enabled Cloud
Collaborating with OpenDaylight for a Network-Enabled Cloud
 
NFV関連の話題 ~Service Function Chainingを中心に~
NFV関連の話題 ~Service Function Chainingを中心に~NFV関連の話題 ~Service Function Chainingを中心に~
NFV関連の話題 ~Service Function Chainingを中心に~
 
Summit 16: Service Function Chaining: Demo and Usage
Summit 16: Service Function Chaining: Demo and UsageSummit 16: Service Function Chaining: Demo and Usage
Summit 16: Service Function Chaining: Demo and Usage
 
Odl virtualization-20140520
Odl virtualization-20140520Odl virtualization-20140520
Odl virtualization-20140520
 
OpenStack Neutron Service Chaining and Insertion
OpenStack Neutron Service Chaining and InsertionOpenStack Neutron Service Chaining and Insertion
OpenStack Neutron Service Chaining and Insertion
 
OpenDaylight VTN Policy
OpenDaylight VTN PolicyOpenDaylight VTN Policy
OpenDaylight VTN Policy
 
Schedule based network orchestration using opendaylight
Schedule based network orchestration using opendaylightSchedule based network orchestration using opendaylight
Schedule based network orchestration using opendaylight
 
Introduction to OpenDaylight
Introduction to OpenDaylightIntroduction to OpenDaylight
Introduction to OpenDaylight
 
Introduction to Opendaylight
Introduction to OpendaylightIntroduction to Opendaylight
Introduction to Opendaylight
 
OpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANGOpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANG
 
Opendaylight beryllium
Opendaylight berylliumOpendaylight beryllium
Opendaylight beryllium
 
SR-IOV Introduce
SR-IOV IntroduceSR-IOV Introduce
SR-IOV Introduce
 
Accelerating Neutron with Intel DPDK
Accelerating Neutron with Intel DPDKAccelerating Neutron with Intel DPDK
Accelerating Neutron with Intel DPDK
 
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. GrayOVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
 
Open daylight and Openstack
Open daylight and OpenstackOpen daylight and Openstack
Open daylight and Openstack
 
Nfv primer v2
Nfv primer v2Nfv primer v2
Nfv primer v2
 

Similar a DEVNET-1175 OpenDaylight Service Function Chaining

TechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the DatacenterTechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the Datacenter
Robb Boyd
 

Similar a DEVNET-1175 OpenDaylight Service Function Chaining (20)

Current & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylightCurrent & Future Use-Cases of OpenDaylight
Current & Future Use-Cases of OpenDaylight
 
Light Reading BTE_SDNtoolbox_June_2015
Light Reading BTE_SDNtoolbox_June_2015Light Reading BTE_SDNtoolbox_June_2015
Light Reading BTE_SDNtoolbox_June_2015
 
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
Software Innovations and Control Plane Evolution in the new SDN Transport Arc...
 
SDN Framework and APIs
SDN Framework and APIsSDN Framework and APIs
SDN Framework and APIs
 
Accelerating the Deployment of Practical, Programmable Transport Networks
Accelerating the Deployment of Practical, Programmable Transport NetworksAccelerating the Deployment of Practical, Programmable Transport Networks
Accelerating the Deployment of Practical, Programmable Transport Networks
 
F14_Class1.pptx
F14_Class1.pptxF14_Class1.pptx
F14_Class1.pptx
 
ONAP - Open Network Automation Platform
ONAP - Open Network Automation PlatformONAP - Open Network Automation Platform
ONAP - Open Network Automation Platform
 
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
 
Virtual Transport Network Service SDN-Based Optical Network Virtualization
Virtual Transport Network Service SDN-Based Optical Network VirtualizationVirtual Transport Network Service SDN-Based Optical Network Virtualization
Virtual Transport Network Service SDN-Based Optical Network Virtualization
 
lect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptxlect4_SDNbasic_openflow.pptx
lect4_SDNbasic_openflow.pptx
 
Introductionto SDN
Introductionto SDN Introductionto SDN
Introductionto SDN
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Transport SDN & NFV - What does it mean for Optical Networking?
Transport SDN & NFV - What does it mean for Optical Networking?Transport SDN & NFV - What does it mean for Optical Networking?
Transport SDN & NFV - What does it mean for Optical Networking?
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlow
 
Openstack Overview
Openstack OverviewOpenstack Overview
Openstack Overview
 
OpenDaylight Update (June 2018)
OpenDaylight Update (June 2018)OpenDaylight Update (June 2018)
OpenDaylight Update (June 2018)
 
Moving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journeyMoving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journey
 
Introducing ONAP for OpenStack St Louis Meetup
Introducing ONAP for OpenStack St Louis MeetupIntroducing ONAP for OpenStack St Louis Meetup
Introducing ONAP for OpenStack St Louis Meetup
 
Integrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing PlatformsIntegrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing Platforms
 
TechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the DatacenterTechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the Datacenter
 

Más de Cisco DevNet

NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
Cisco DevNet
 

Más de Cisco DevNet (20)

How to Contribute to Ansible
How to Contribute to AnsibleHow to Contribute to Ansible
How to Contribute to Ansible
 
Rome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsRome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat bots
 
How to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and ChatbotsHow to Build Advanced Voice Assistants and Chatbots
How to Build Advanced Voice Assistants and Chatbots
 
Cisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable WebCisco Spark and Tropo and the Programmable Web
Cisco Spark and Tropo and the Programmable Web
 
Device Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play SolutionDevice Programmability with Cisco Plug-n-Play Solution
Device Programmability with Cisco Plug-n-Play Solution
 
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap APIBuilding a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
Building a WiFi Hotspot with NodeJS: Cisco Meraki - ExCap API
 
Application Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible NetflowApplication Visibility and Experience through Flexible Netflow
Application Visibility and Experience through Flexible Netflow
 
WAN Automation Engine API Deep Dive
WAN Automation Engine API Deep DiveWAN Automation Engine API Deep Dive
WAN Automation Engine API Deep Dive
 
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open Discussion
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
 
NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network Devices
 
UCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep DiveUCS Management APIs A Technical Deep Dive
UCS Management APIs A Technical Deep Dive
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
NetDevOps for the Network Dude: How to get started with API's, Ansible and Py...
 
Getting Started: Developing Tropo Applications
Getting Started: Developing Tropo ApplicationsGetting Started: Developing Tropo Applications
Getting Started: Developing Tropo Applications
 
Cisco Spark & Tropo API Workshop
Cisco Spark & Tropo API WorkshopCisco Spark & Tropo API Workshop
Cisco Spark & Tropo API Workshop
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using SparkCoding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using Spark
 
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer ConferenceCisco APIs: An Interactive Assistant for the Web2Day Developer Conference
Cisco APIs: An Interactive Assistant for the Web2Day Developer Conference
 
DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016DevNet Express - Spark & Tropo API - Lisbon May 2016
DevNet Express - Spark & Tropo API - Lisbon May 2016
 
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
DevNet @TAG - Spark & Tropo APIs - Milan/Rome May 2016
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 

DEVNET-1175 OpenDaylight Service Function Chaining

  • 2. • OpenDaylight Overview • Service Function Chaining Overview • OpenDaylight Implementation Agenda
  • 3. What is OpenDaylight • Multi-project • Multi-party • Open Source • Platform (not SDK)
  • 4. Who is ODL – Corporate Version ODL Member Companies
  • 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
  • 6. 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
  • 7. OpenDaylight: Open Source SDN Controller Controller Service Adaptation Layer Inventory Manager Base Network Functions Topology ExporterStatistics Manager Forwarding Rules Manager Topology ExporterTopology Exporter Inventory ManagerInventory Manager OpenFlow 1.0/1.3 BGP-LS PCEP Netconf Client OVSDB REST APIs ... Service Functions SFC ...Configuration Subsystem NETCONF LISP Network Devices Applications Network Applications Orchestration & Services Controller Platform Southbound Interfaces & Protocol Plugins
  • 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)
  • 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
  • 10. 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
  • 11. 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
  • 12.  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
  • 13.  Orchestration  Define service chains & build service paths  Control / Policy Planes  Instantiate service chains adhering to policy  Data Plane  Traffic steering & metadata Services Function Chaining Primer High-level Component Structure Service Chaining Orchestration SF (VM) Servi ce (v)switch Forwar ding Servi ce Servic e Classif ier SF (Physical ) Service1VLAN Service Function Forwarder (SFF) Control Plane Policy Plane SF (VM) Servi ce (v)switch Forwar ding Servi ce SF (Physical ) Service1VLAN Service Function Forwarder (SFF) Servic e Classif ier Network Overlay + Service Header Service Header
  • 14.  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_C haining:Main Opendaylight SFC Main Components
  • 15. 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
  • 16.  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
  • 17. Opendaylight SFC Architecture SF SFF SFC Provider DataStore SFP Openflow Listener REST Listener LISP Listener 1 2 3 4RSP SF = Service Function SFF = Service Function Forwarder SFP = Service Function Path RSP = Rendered Service Path Opendaylight Open vSwitch Python NSH Switch GUI REST
  • 18.  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
  • 20. 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", }
  • 21. 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 }
  • 22. "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

Notas del editor

  1. Provider is equiv of main() Datastore is idependent Datastore send notifications Listeners register to receive notifications (based on YANG tree) from datastore ALWAYS true Notifications are internal: same YANG model but encoding: json or java object Point to multi point: Provider = point Renders/listeners are multipoints Providers gets something from UI or REST, pushed to datastore The listener get notification, and act on them, independently “A path was created, an SFF was created” If SFF has OVS augmentation data in YANG (with data)  the listener looks for it Datastore: has it’s tree in the datastore OVS listener: communicates  write ovs listener writes to ovs db datastore Ovsdbplugin, gets notification, then acts OF uses API/RPC REST listener NC listener uses NC plugin, same as OVSDB BUT does not write to datastore, when it puts, SFC NC listener, sends NC command  protocol plug and send to device EACH listener acts in it’s own environment, optimizes as it should Provider is the main entry point for ALL “external” access REST, UI via REST and GBP RPC all use SAME YANG models Different encoding (http vs java objects)