SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
©2015 Extreme Networks, Inc. All rights reserved.
EMEA & LATAM PARTNER CONFERENCE
Lisbon | October 2014
The Power of The Open Standards API’s
Mikael Holmberg
Senior Global Consulting Engineer
mikael@extremenetworks.com
September 2015
©2015 Extreme Networks, Inc. All rights reserved.
If I get an email with
a PowerPoint
attachment then
save it to Google
Drive
My stock portfolio went up.
Send me an alert to sell.
If I send a text msg to IFTTT
containing the string ‘#help’
then ring my cell phone
Wikipedia: IFTTT is a web-based service that allows users to create chains of simple conditional statements
If I’m within 500m from
home, then open the
garage door, set the heat
to 20C and turn on the
kitchen light
©2015 Extreme Networks, Inc. All rights reserved.
So what does this have to do
with SDN?
“Codify”yourITknowledgeintoyournetwork
©2015 Extreme Networks, Inc. All rights reserved.
DNS/DHCP
SDN
AAA
Topology
Services
Firewall
Skype for
Business
Analytics
SIEM SIP/Voice Services
Business
Applications
Location
Services
VPN
©2015 Extreme Networks, Inc. All rights reserved.
DNS/DHCP
SDN
AAA
Topology
Services
Firewall
Skype for
Business
Analytics
SIEM SIP/Voice Services
Business
Applications
Location
Services
VPN
If a medical device
connects to the
network then send
its traffic through the
firewall
If a Skype (Lync) video call
is initiated then apply
dynamic priority and
optimal network path for
the call.
If network demand from
business applications is
high then rate limit any
Netflix traffic
If a device is found
with a vulnerability
then automatically
redirect traffic to
remediation server.
©2015 Extreme Networks, Inc. All rights reserved.
OpenDaylight Basics: Overview
§  ODL is an Open Source project under the Linux
Foundation with the goal of furthering the adoption
and innovation of SDN through the creation of a
common industry supported platform.
§  OpenDaylight provides a common platform to
which applications and networking hardware can
communicate with each other to provide a service
to users.
§  Crucial component between network elements is
communications.
–  Forwarding plane elements and controller
–  Controller and the applications or business logic.
©2015 Extreme Networks, Inc. All rights reserved.
OpenDaylight Basics: Modules & Bundles
§  Java chosen as an enterprise-grade, cross-platform
compatibility language.
§  Java Interfaces are used for event listening,
specifications and forming patterns
§  Maven – build system for Java
§  OSGi:
–  Allows dynamic loading bundles
–  Allows registering dependencies and services
exported
–  For exchanging information across bundles
§  Karaf: Light-weight runtime for loading modules &
bundles.
–  OSGi based. Primary distribution mechanism for
Helium Release.
Feature
A
Feature
B
SAL
Karaf
OSGi Framework
(Equinox)
…
©2015 Extreme Networks, Inc. All rights reserved.
Southbound/Northbound API
§  Northbound – Interacts with the controller
–  Six constraints an API must follow to
communicate with the controller designed to:
§  Maximize scalability
§  Independence and interoperability
–  Application generally written to interface at this
level
–  Web based (REST)
§  Southbound - Interacts with network elements
–  Lower level interface
§  Modular approach
–  Communicates via open protocols to hardware.
§  Openflow
§  OVSDB
–  MD-SAL (Model Driven Service Abstraction Layer)
–  AD-SAL deprecated in this version but still used.
Service Abstraction Layer (SAL)
©2015 Extreme Networks, Inc. All rights reserved.
REST API Constraints
§  REST API maps HTTP operations (PUT, POST, GET,
DELETE, HEAD) into CRUD operations
§  URLs identify objects that the CRUD operations apply to
§  URLs can also trigger actions (e.g. Backup, Restore,
Upgrade)
§  The actual commands and data are in the URL itself or in
accompanying data files (usually JSON or XML)
accompanying the URL on its way to the server
§  Reponses from the server can just by standard HTTP return
codes or can include additional data (messages, requested
files, etc).
§  Pretty much every programming language has libraries for
consuming REST APIs
§  REST API access (for platform, except for account mgmt.)
Six Constraints
Client/
Server
Stateless
Caching
Layered
System
Uniform
Interface
Code on
Demand
©2015 Extreme Networks, Inc. All rights reserved.
Service Abstraction Layer (SAL)
§  Abstraction is part of the key philosophies on which OpenDaylight has been modeled.
§  SAL distinguishes among various plugins based on the service they provide and consume
–  Service Providers or producers (Protocol Plugins)
–  Service consumers (Applications)
–  Inter-plugin communications.
§  As a framework, the key OpenDaylight aspires to provide developers is independence from
device specifications.
–  Allows developers to focus on application logic and business problems.
©2015 Extreme Networks, Inc. All rights reserved.
Service Abstraction Layer (SAL)
MD-SAL vs AD-SAL
§  Request (RPC) and notification routing
§  Data Storage
§  Request routing
§  Service Adaption
©2015 Extreme Networks, Inc. All rights reserved.
Service Abstraction Layer (SAL)
AD-SAL
1.  A packet arriving at Switch 1 will be sent to the
appropriate plugin managing the switch
2.  The plugin will parse the packet, generate an event
for SAL
3.  SAL will dispatch the packet to the modules
listening for Data Packet.
4.  Modules handles packet and sends packet_out
through IDataPacketService
5.  SAL dispatches the packet to the modules listening
for Data Packet
6.  Openflow message sent to appropriate switch
ARP Handler L2 Learning s/w
Service Abstraction Layer (SAL)
Openflow
Protocol plugin
OPenFlowJ
Switch
1
Switch
2
Switch
3
(1)
(2)
(3)
(4)
(5)
(6)
IListenDataPacket
IDataPacketService
IListenDataPacket
IPluginOutDataPacketService
IPluginIntDataPacketService
OpenFlow
©2015 Extreme Networks, Inc. All rights reserved.
Service Abstraction Layer (SAL)
MD-SAL
§  Allows developers to work in a silo, agnostic of
the service interface exposed by the modules
providing services.
§  Designed to glue together the modules
horizontally by allowing developers to use
generic interfaces for service discovery and
consumption.
§  Key differences from AD-SAL
–  Providers create model of the data or service
they expose.
–  Models are in the form of YANG definitions.
–  YANG complier is used to create uniform APIs
–  APIS are tool generated, high level of
uniformity between each in terms of usage and
definitions.
©2015 Extreme Networks, Inc. All rights reserved.
Service Abstraction Layer
MD-SAL
Packet sent
to Controller
OpenFlow
parses the
packet
OpenFlow
translates
it to
MD-SAL
MD-SAL
routes
notification
MD-SAL
Routes the
RPC to
OpenFlow
plugin
Plugin
process
packet
Programm
Flow
Update
MD-SAL
Database
Flowmode
sent to
switch
©2015 Extreme Networks, Inc. All rights reserved.
MD-SAL “Add Flow”
1.  Registrations are performed when the controller and its plugins or
applications are started. a)The Flow Programmer Service registers with
the MD SAL for Flow configuration data notifications, and b) The OF
Plugin registers (among others) the ‘AddFlow’ RPC implementation with
the SAL. Note that the RPC is defined in the OF Plugin model, and that
the API is generated during build time.
2.  A client application requests a flow add through the REST API of the
controller. (Note that in the AD-SAL, there is a dedicated NB REST API
on top of the Flow Programming Service. The MD-SAL provides a
common infrastructure where data and functions defined in models can
be accessed by means of a common REST API. The client application
provides all parameters for the flow in the REST call.
3.  Data from the ‘Add Flow’ request is deserialized, and a new flow is
created in the Flow Service configuration data tree. (Note that in this
example, the configuration and operational data trees are separated;
this may be different for other services). Note also that the REST call
returns success to the caller as soon as the flow data is written to the
configuration data tree.
4.  Since the Flow Programmer Service is registered to receive notifications
for data changes in the Flow Service data tree, the MD-SAL generates
a ‘data changed’ notification to the Flow Programmer Service.
©2015 Extreme Networks, Inc. All rights reserved.
MD-SAL “Add Flow” Contd..
5.  The Flow Programmer Service reads the newly added flow, and
performs a flow add operation (which is basically the same as in the AD-
SAL).
6.  At some point during the flow addition operation, the Flow Programmer
Service needs to tell the OF Plugin to add the flow in the appropriate
switch. The Flow Programmer Service uses the OF Plugin generated
API to create the RPC input parameter DTO for the “AddFlow” RPC of
the OF Plugin.
7.  The Flow Programmer Service gets the service instance (actually, a
proxy), and invokes the “AddFlow” RPC on the service. The MD-SAL
will route the request to the appropriate OF Plugin (which implements
the requested RPC).
8.  The “AddFlow” RPC request is routed to the OF Plugin, and the
implementation method of the “AddFlow” RPC is invoked.
9.  The “AddFlow” RPC implementation uses the OF Plugin API to read
values from the DTO of the RPC input parameter. (Note that the
implementation will use the getter methods of the DTO generated from
the yang model of the RPC to read the values from the received DTO.)
10.  The "AddFlow" RPC is further processed (pretty much the same as in
the AD-SAL) and at some point, the corresponding flowmod is sent to
the corresponding switch.
©2015 Extreme Networks, Inc. All rights reserved.
SDN Demo at Euro IX Forum
SDN MPLS Java App§  Show IXIA
–  Traffic tx,
–  No traffic rx
§  Go to switches
–  Show OpenFlow flows & groups
–  None exist
§  Show ODL
–  Switches have been discovered
§  Run SDNMPLS.jar
§  Look at IXIA
–  Traffic rx after flows installed.
§  Go to switches:
–  Show OpenFlow flows & groups:
–  Flows & groups exist
§  Show ODL
–  Switch names appear.
17
§  MPLS Pseudo-wire support is being added to enable users to
control a Pseudo-wire overlay network. The primary reference
network for this would be an IXP Internet Exchange use case.
The goals for this network is to use Software Defined
Networking (SDN) to do the following:
§  Increase the Scale of a IXP Network
–  A flow based MPLS architecture provides more
granular control than traditional solution.
§  Support Rapid Service Turn-Up
–  Using centralized SDN controller and application.
§  Enable New Services
–  Use SDN to enable full control over communications
across the network.
©2015 Extreme Networks, Inc. All rights reserved.
Skype for Business with an Open SDN Platform
18
Skype for Business with an Open SDN Platform
§  Leverages Extreme Networks Open Daylight Controller
‘OneController’
§  Support for OpenFlow, OVSDB and other protocols
§  Delivers QoS Prioritization across mixed infrastructures
§  Frees customers from proprietary lock-in
§  SDN solution designed for broaden market applicability
©2015 Extreme Networks, Inc. All rights reserved.

Más contenido relacionado

La actualidad más candente

Oracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA Suite
Oracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA SuiteOracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA Suite
Oracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA Suite
Douwe Pieter van den Bos
 

La actualidad más candente (20)

Charlotte meetup anypointmonitoring_v3
Charlotte meetup anypointmonitoring_v3Charlotte meetup anypointmonitoring_v3
Charlotte meetup anypointmonitoring_v3
 
MuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_CharlotteMuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_Charlotte
 
MuleSoft Meetup Charlotte 2019 - Dec 10
MuleSoft Meetup Charlotte  2019 - Dec 10MuleSoft Meetup Charlotte  2019 - Dec 10
MuleSoft Meetup Charlotte 2019 - Dec 10
 
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
 
Mule soft meetup_virtual_ charlotte_2020_final1
Mule soft meetup_virtual_ charlotte_2020_final1Mule soft meetup_virtual_ charlotte_2020_final1
Mule soft meetup_virtual_ charlotte_2020_final1
 
MuleSoft meetup_sg_no2_may19
MuleSoft meetup_sg_no2_may19MuleSoft meetup_sg_no2_may19
MuleSoft meetup_sg_no2_may19
 
MuleSoft Meetup 3 Charlotte Presentation Slides
MuleSoft Meetup 3 Charlotte Presentation SlidesMuleSoft Meetup 3 Charlotte Presentation Slides
MuleSoft Meetup 3 Charlotte Presentation Slides
 
Creating APIs with the WSO2 Platform
Creating APIs with the WSO2 PlatformCreating APIs with the WSO2 Platform
Creating APIs with the WSO2 Platform
 
Embracing SOA and the Cloud
Embracing SOA and the CloudEmbracing SOA and the Cloud
Embracing SOA and the Cloud
 
MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft Madrid Meetup #3 slides 2nd July 2020MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft Madrid Meetup #3 slides 2nd July 2020
 
Meet up slides_mumbai_05022020_final
Meet up slides_mumbai_05022020_finalMeet up slides_mumbai_05022020_final
Meet up slides_mumbai_05022020_final
 
Pivotal spring boot-cloud workshop
Pivotal   spring boot-cloud workshopPivotal   spring boot-cloud workshop
Pivotal spring boot-cloud workshop
 
Oracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA Suite
Oracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA SuiteOracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA Suite
Oracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA Suite
 
Meet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_finalMeet up slides_mumbai_21032020_final
Meet up slides_mumbai_21032020_final
 
Oracle SOA Development - Hands-On from Start to Finish
Oracle SOA Development - Hands-On from Start to FinishOracle SOA Development - Hands-On from Start to Finish
Oracle SOA Development - Hands-On from Start to Finish
 
Mule soft meetup_virtual_ 3_charlotte_07july_2021__final
Mule soft meetup_virtual_ 3_charlotte_07july_2021__finalMule soft meetup_virtual_ 3_charlotte_07july_2021__final
Mule soft meetup_virtual_ 3_charlotte_07july_2021__final
 
MSB Deep Dive
MSB Deep DiveMSB Deep Dive
MSB Deep Dive
 
MuleSoft Clustring, Okta, CI/CD Integration with Jenkins
MuleSoft Clustring, Okta, CI/CD Integration with JenkinsMuleSoft Clustring, Okta, CI/CD Integration with Jenkins
MuleSoft Clustring, Okta, CI/CD Integration with Jenkins
 
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
 
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.ioMuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
MuleSoft Surat Virtual Meetup#4 - Anypoint Monitoring and MuleSoft dataloader.io
 

Destacado

Integrated soil fertility management systems and Striga in Western Kenya
 Integrated soil fertility management systems and Striga in Western Kenya Integrated soil fertility management systems and Striga in Western Kenya
Integrated soil fertility management systems and Striga in Western Kenya
SIANI
 
Interpolation wikipedia
Interpolation   wikipediaInterpolation   wikipedia
Interpolation wikipedia
hort34
 
Men & Women Top 5 Trends for Your Sartorial Wardrobe
Men & Women Top 5 Trends for Your Sartorial WardrobeMen & Women Top 5 Trends for Your Sartorial Wardrobe
Men & Women Top 5 Trends for Your Sartorial Wardrobe
Dedicatedfolloweroffashion
 
4Developers 2015: Startup - czy masz szansę? - Krzysztof Daniel
4Developers 2015: Startup - czy masz szansę? - Krzysztof Daniel4Developers 2015: Startup - czy masz szansę? - Krzysztof Daniel
4Developers 2015: Startup - czy masz szansę? - Krzysztof Daniel
PROIDEA
 
PLNOG15: G-IKEv2 - Salah Gherdaoui, Praveena Shanubhogue
PLNOG15: G-IKEv2 - Salah Gherdaoui,  Praveena Shanubhogue PLNOG15: G-IKEv2 - Salah Gherdaoui,  Praveena Shanubhogue
PLNOG15: G-IKEv2 - Salah Gherdaoui, Praveena Shanubhogue
PROIDEA
 

Destacado (18)

JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
 
Integrated soil fertility management systems and Striga in Western Kenya
 Integrated soil fertility management systems and Striga in Western Kenya Integrated soil fertility management systems and Striga in Western Kenya
Integrated soil fertility management systems and Striga in Western Kenya
 
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
 
4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...
4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...
4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...
 
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
4Developers 2015: CQRS - Prosta architektura dla nieprostego systemu! - Mateu...
 
Interpolation wikipedia
Interpolation   wikipediaInterpolation   wikipedia
Interpolation wikipedia
 
Incredible seminar on marketing
Incredible seminar on marketingIncredible seminar on marketing
Incredible seminar on marketing
 
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak   CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
 
CONFidence2015: Who put the backdoor in my modem? - Ewerson (Crash) Guimaraes
CONFidence2015: Who put the backdoor in my modem? - Ewerson (Crash) Guimaraes CONFidence2015: Who put the backdoor in my modem? - Ewerson (Crash) Guimaraes
CONFidence2015: Who put the backdoor in my modem? - Ewerson (Crash) Guimaraes
 
JDD2015: Yes We Scan! Software Analysis Using jQAssistant And Neo4j - Dirk Ma...
JDD2015: Yes We Scan! Software Analysis Using jQAssistant And Neo4j - Dirk Ma...JDD2015: Yes We Scan! Software Analysis Using jQAssistant And Neo4j - Dirk Ma...
JDD2015: Yes We Scan! Software Analysis Using jQAssistant And Neo4j - Dirk Ma...
 
Introcuction to Malta
Introcuction to MaltaIntrocuction to Malta
Introcuction to Malta
 
PLNOG14: Internet w pojazdach - Paweł Wachelka
PLNOG14: Internet w pojazdach - Paweł WachelkaPLNOG14: Internet w pojazdach - Paweł Wachelka
PLNOG14: Internet w pojazdach - Paweł Wachelka
 
Overview of SIANI Activities in 2014
Overview of SIANI Activities in 2014Overview of SIANI Activities in 2014
Overview of SIANI Activities in 2014
 
Men & Women Top 5 Trends for Your Sartorial Wardrobe
Men & Women Top 5 Trends for Your Sartorial WardrobeMen & Women Top 5 Trends for Your Sartorial Wardrobe
Men & Women Top 5 Trends for Your Sartorial Wardrobe
 
4Developers 2015: Scaling LAMP doesn't have to suck - Sebastian Grodzicki
4Developers 2015: Scaling LAMP doesn't have to suck - Sebastian Grodzicki4Developers 2015: Scaling LAMP doesn't have to suck - Sebastian Grodzicki
4Developers 2015: Scaling LAMP doesn't have to suck - Sebastian Grodzicki
 
4Developers 2015: Startup - czy masz szansę? - Krzysztof Daniel
4Developers 2015: Startup - czy masz szansę? - Krzysztof Daniel4Developers 2015: Startup - czy masz szansę? - Krzysztof Daniel
4Developers 2015: Startup - czy masz szansę? - Krzysztof Daniel
 
PLNOG15: G-IKEv2 - Salah Gherdaoui, Praveena Shanubhogue
PLNOG15: G-IKEv2 - Salah Gherdaoui,  Praveena Shanubhogue PLNOG15: G-IKEv2 - Salah Gherdaoui,  Praveena Shanubhogue
PLNOG15: G-IKEv2 - Salah Gherdaoui, Praveena Shanubhogue
 
4Developers 2015: Couple of words about testing in Java, Spock and BDD - Piot...
4Developers 2015: Couple of words about testing in Java, Spock and BDD - Piot...4Developers 2015: Couple of words about testing in Java, Spock and BDD - Piot...
4Developers 2015: Couple of words about testing in Java, Spock and BDD - Piot...
 

Similar a PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg

Intro to web services
Intro to web servicesIntro to web services
Intro to web services
Neil Ghosh
 

Similar a PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg (20)

MuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP Integration
 
How to Use the CA Application Performance Management Command Center for Appli...
How to Use the CA Application Performance Management Command Center for Appli...How to Use the CA Application Performance Management Command Center for Appli...
How to Use the CA Application Performance Management Command Center for Appli...
 
Explore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration TopicsExplore Advanced CA Release Automation Configuration Topics
Explore Advanced CA Release Automation Configuration Topics
 
Pivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptxPivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptx
 
apidays LIVE Australia 2020 - Data with a Mission by Matt McLarty
apidays LIVE Australia 2020 -  Data with a Mission by Matt McLarty apidays LIVE Australia 2020 -  Data with a Mission by Matt McLarty
apidays LIVE Australia 2020 - Data with a Mission by Matt McLarty
 
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
 
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafkaMuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
 
F5 BigIP LTM Initial, Build, Install and Licensing.
F5 BigIP LTM Initial, Build, Install and Licensing.F5 BigIP LTM Initial, Build, Install and Licensing.
F5 BigIP LTM Initial, Build, Install and Licensing.
 
Apic dc api deep dive
Apic dc api deep dive Apic dc api deep dive
Apic dc api deep dive
 
Sst hackathon express
Sst hackathon expressSst hackathon express
Sst hackathon express
 
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
 
SAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For CordovaSAP Kapsel Plugins For Cordova
SAP Kapsel Plugins For Cordova
 
Hia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyHia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economy
 
sveltekit-en.pdf
sveltekit-en.pdfsveltekit-en.pdf
sveltekit-en.pdf
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Tech Talk: CA Workload Automation Agent Monitor, Agents and Advanced Integrat...
Tech Talk: CA Workload Automation Agent Monitor, Agents and Advanced Integrat...Tech Talk: CA Workload Automation Agent Monitor, Agents and Advanced Integrat...
Tech Talk: CA Workload Automation Agent Monitor, Agents and Advanced Integrat...
 
WAN Automation Engine API Deep Dive
WAN Automation Engine API Deep DiveWAN Automation Engine API Deep Dive
WAN Automation Engine API Deep Dive
 
Google Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data editionGoogle Cloud Next '22 Recap: Serverless & Data edition
Google Cloud Next '22 Recap: Serverless & Data edition
 
Introduction to SAP Gateway and OData
Introduction to SAP Gateway and ODataIntroduction to SAP Gateway and OData
Introduction to SAP Gateway and OData
 
Introduction to OData and SAP NetWeaver Gateway.pptx
Introduction to OData and SAP NetWeaver Gateway.pptxIntroduction to OData and SAP NetWeaver Gateway.pptx
Introduction to OData and SAP NetWeaver Gateway.pptx
 

Último

一比一原版帝国理工学院毕业证如何办理
一比一原版帝国理工学院毕业证如何办理一比一原版帝国理工学院毕业证如何办理
一比一原版帝国理工学院毕业证如何办理
F
 
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
AS
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
一比一原版犹他大学毕业证如何办理
一比一原版犹他大学毕业证如何办理一比一原版犹他大学毕业证如何办理
一比一原版犹他大学毕业证如何办理
F
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
ayvbos
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 

Último (20)

2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
一比一原版帝国理工学院毕业证如何办理
一比一原版帝国理工学院毕业证如何办理一比一原版帝国理工学院毕业证如何办理
一比一原版帝国理工学院毕业证如何办理
 
PIC Microcontroller Structure & Assembly Language.ppsx
PIC Microcontroller Structure & Assembly Language.ppsxPIC Microcontroller Structure & Assembly Language.ppsx
PIC Microcontroller Structure & Assembly Language.ppsx
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
Local Call Girls in Gomati 9332606886 HOT & SEXY Models beautiful and charmi...
Local Call Girls in Gomati  9332606886 HOT & SEXY Models beautiful and charmi...Local Call Girls in Gomati  9332606886 HOT & SEXY Models beautiful and charmi...
Local Call Girls in Gomati 9332606886 HOT & SEXY Models beautiful and charmi...
 
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
一比一原版(Dundee毕业证书)英国爱丁堡龙比亚大学毕业证如何办理
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Call girls Service Canacona - 8250092165 Our call girls are sure to provide y...
Call girls Service Canacona - 8250092165 Our call girls are sure to provide y...Call girls Service Canacona - 8250092165 Our call girls are sure to provide y...
Call girls Service Canacona - 8250092165 Our call girls are sure to provide y...
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girls
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
Leading-edge AI Image Generators of 2024
Leading-edge AI Image Generators of 2024Leading-edge AI Image Generators of 2024
Leading-edge AI Image Generators of 2024
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
一比一原版犹他大学毕业证如何办理
一比一原版犹他大学毕业证如何办理一比一原版犹他大学毕业证如何办理
一比一原版犹他大学毕业证如何办理
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 

PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg

  • 1. ©2015 Extreme Networks, Inc. All rights reserved. EMEA & LATAM PARTNER CONFERENCE Lisbon | October 2014 The Power of The Open Standards API’s Mikael Holmberg Senior Global Consulting Engineer mikael@extremenetworks.com September 2015
  • 2. ©2015 Extreme Networks, Inc. All rights reserved. If I get an email with a PowerPoint attachment then save it to Google Drive My stock portfolio went up. Send me an alert to sell. If I send a text msg to IFTTT containing the string ‘#help’ then ring my cell phone Wikipedia: IFTTT is a web-based service that allows users to create chains of simple conditional statements If I’m within 500m from home, then open the garage door, set the heat to 20C and turn on the kitchen light
  • 3. ©2015 Extreme Networks, Inc. All rights reserved. So what does this have to do with SDN? “Codify”yourITknowledgeintoyournetwork
  • 4. ©2015 Extreme Networks, Inc. All rights reserved. DNS/DHCP SDN AAA Topology Services Firewall Skype for Business Analytics SIEM SIP/Voice Services Business Applications Location Services VPN
  • 5. ©2015 Extreme Networks, Inc. All rights reserved. DNS/DHCP SDN AAA Topology Services Firewall Skype for Business Analytics SIEM SIP/Voice Services Business Applications Location Services VPN If a medical device connects to the network then send its traffic through the firewall If a Skype (Lync) video call is initiated then apply dynamic priority and optimal network path for the call. If network demand from business applications is high then rate limit any Netflix traffic If a device is found with a vulnerability then automatically redirect traffic to remediation server.
  • 6. ©2015 Extreme Networks, Inc. All rights reserved. OpenDaylight Basics: Overview §  ODL is an Open Source project under the Linux Foundation with the goal of furthering the adoption and innovation of SDN through the creation of a common industry supported platform. §  OpenDaylight provides a common platform to which applications and networking hardware can communicate with each other to provide a service to users. §  Crucial component between network elements is communications. –  Forwarding plane elements and controller –  Controller and the applications or business logic.
  • 7. ©2015 Extreme Networks, Inc. All rights reserved. OpenDaylight Basics: Modules & Bundles §  Java chosen as an enterprise-grade, cross-platform compatibility language. §  Java Interfaces are used for event listening, specifications and forming patterns §  Maven – build system for Java §  OSGi: –  Allows dynamic loading bundles –  Allows registering dependencies and services exported –  For exchanging information across bundles §  Karaf: Light-weight runtime for loading modules & bundles. –  OSGi based. Primary distribution mechanism for Helium Release. Feature A Feature B SAL Karaf OSGi Framework (Equinox) …
  • 8. ©2015 Extreme Networks, Inc. All rights reserved. Southbound/Northbound API §  Northbound – Interacts with the controller –  Six constraints an API must follow to communicate with the controller designed to: §  Maximize scalability §  Independence and interoperability –  Application generally written to interface at this level –  Web based (REST) §  Southbound - Interacts with network elements –  Lower level interface §  Modular approach –  Communicates via open protocols to hardware. §  Openflow §  OVSDB –  MD-SAL (Model Driven Service Abstraction Layer) –  AD-SAL deprecated in this version but still used. Service Abstraction Layer (SAL)
  • 9. ©2015 Extreme Networks, Inc. All rights reserved. REST API Constraints §  REST API maps HTTP operations (PUT, POST, GET, DELETE, HEAD) into CRUD operations §  URLs identify objects that the CRUD operations apply to §  URLs can also trigger actions (e.g. Backup, Restore, Upgrade) §  The actual commands and data are in the URL itself or in accompanying data files (usually JSON or XML) accompanying the URL on its way to the server §  Reponses from the server can just by standard HTTP return codes or can include additional data (messages, requested files, etc). §  Pretty much every programming language has libraries for consuming REST APIs §  REST API access (for platform, except for account mgmt.) Six Constraints Client/ Server Stateless Caching Layered System Uniform Interface Code on Demand
  • 10. ©2015 Extreme Networks, Inc. All rights reserved. Service Abstraction Layer (SAL) §  Abstraction is part of the key philosophies on which OpenDaylight has been modeled. §  SAL distinguishes among various plugins based on the service they provide and consume –  Service Providers or producers (Protocol Plugins) –  Service consumers (Applications) –  Inter-plugin communications. §  As a framework, the key OpenDaylight aspires to provide developers is independence from device specifications. –  Allows developers to focus on application logic and business problems.
  • 11. ©2015 Extreme Networks, Inc. All rights reserved. Service Abstraction Layer (SAL) MD-SAL vs AD-SAL §  Request (RPC) and notification routing §  Data Storage §  Request routing §  Service Adaption
  • 12. ©2015 Extreme Networks, Inc. All rights reserved. Service Abstraction Layer (SAL) AD-SAL 1.  A packet arriving at Switch 1 will be sent to the appropriate plugin managing the switch 2.  The plugin will parse the packet, generate an event for SAL 3.  SAL will dispatch the packet to the modules listening for Data Packet. 4.  Modules handles packet and sends packet_out through IDataPacketService 5.  SAL dispatches the packet to the modules listening for Data Packet 6.  Openflow message sent to appropriate switch ARP Handler L2 Learning s/w Service Abstraction Layer (SAL) Openflow Protocol plugin OPenFlowJ Switch 1 Switch 2 Switch 3 (1) (2) (3) (4) (5) (6) IListenDataPacket IDataPacketService IListenDataPacket IPluginOutDataPacketService IPluginIntDataPacketService OpenFlow
  • 13. ©2015 Extreme Networks, Inc. All rights reserved. Service Abstraction Layer (SAL) MD-SAL §  Allows developers to work in a silo, agnostic of the service interface exposed by the modules providing services. §  Designed to glue together the modules horizontally by allowing developers to use generic interfaces for service discovery and consumption. §  Key differences from AD-SAL –  Providers create model of the data or service they expose. –  Models are in the form of YANG definitions. –  YANG complier is used to create uniform APIs –  APIS are tool generated, high level of uniformity between each in terms of usage and definitions.
  • 14. ©2015 Extreme Networks, Inc. All rights reserved. Service Abstraction Layer MD-SAL Packet sent to Controller OpenFlow parses the packet OpenFlow translates it to MD-SAL MD-SAL routes notification MD-SAL Routes the RPC to OpenFlow plugin Plugin process packet Programm Flow Update MD-SAL Database Flowmode sent to switch
  • 15. ©2015 Extreme Networks, Inc. All rights reserved. MD-SAL “Add Flow” 1.  Registrations are performed when the controller and its plugins or applications are started. a)The Flow Programmer Service registers with the MD SAL for Flow configuration data notifications, and b) The OF Plugin registers (among others) the ‘AddFlow’ RPC implementation with the SAL. Note that the RPC is defined in the OF Plugin model, and that the API is generated during build time. 2.  A client application requests a flow add through the REST API of the controller. (Note that in the AD-SAL, there is a dedicated NB REST API on top of the Flow Programming Service. The MD-SAL provides a common infrastructure where data and functions defined in models can be accessed by means of a common REST API. The client application provides all parameters for the flow in the REST call. 3.  Data from the ‘Add Flow’ request is deserialized, and a new flow is created in the Flow Service configuration data tree. (Note that in this example, the configuration and operational data trees are separated; this may be different for other services). Note also that the REST call returns success to the caller as soon as the flow data is written to the configuration data tree. 4.  Since the Flow Programmer Service is registered to receive notifications for data changes in the Flow Service data tree, the MD-SAL generates a ‘data changed’ notification to the Flow Programmer Service.
  • 16. ©2015 Extreme Networks, Inc. All rights reserved. MD-SAL “Add Flow” Contd.. 5.  The Flow Programmer Service reads the newly added flow, and performs a flow add operation (which is basically the same as in the AD- SAL). 6.  At some point during the flow addition operation, the Flow Programmer Service needs to tell the OF Plugin to add the flow in the appropriate switch. The Flow Programmer Service uses the OF Plugin generated API to create the RPC input parameter DTO for the “AddFlow” RPC of the OF Plugin. 7.  The Flow Programmer Service gets the service instance (actually, a proxy), and invokes the “AddFlow” RPC on the service. The MD-SAL will route the request to the appropriate OF Plugin (which implements the requested RPC). 8.  The “AddFlow” RPC request is routed to the OF Plugin, and the implementation method of the “AddFlow” RPC is invoked. 9.  The “AddFlow” RPC implementation uses the OF Plugin API to read values from the DTO of the RPC input parameter. (Note that the implementation will use the getter methods of the DTO generated from the yang model of the RPC to read the values from the received DTO.) 10.  The "AddFlow" RPC is further processed (pretty much the same as in the AD-SAL) and at some point, the corresponding flowmod is sent to the corresponding switch.
  • 17. ©2015 Extreme Networks, Inc. All rights reserved. SDN Demo at Euro IX Forum SDN MPLS Java App§  Show IXIA –  Traffic tx, –  No traffic rx §  Go to switches –  Show OpenFlow flows & groups –  None exist §  Show ODL –  Switches have been discovered §  Run SDNMPLS.jar §  Look at IXIA –  Traffic rx after flows installed. §  Go to switches: –  Show OpenFlow flows & groups: –  Flows & groups exist §  Show ODL –  Switch names appear. 17 §  MPLS Pseudo-wire support is being added to enable users to control a Pseudo-wire overlay network. The primary reference network for this would be an IXP Internet Exchange use case. The goals for this network is to use Software Defined Networking (SDN) to do the following: §  Increase the Scale of a IXP Network –  A flow based MPLS architecture provides more granular control than traditional solution. §  Support Rapid Service Turn-Up –  Using centralized SDN controller and application. §  Enable New Services –  Use SDN to enable full control over communications across the network.
  • 18. ©2015 Extreme Networks, Inc. All rights reserved. Skype for Business with an Open SDN Platform 18 Skype for Business with an Open SDN Platform §  Leverages Extreme Networks Open Daylight Controller ‘OneController’ §  Support for OpenFlow, OVSDB and other protocols §  Delivers QoS Prioritization across mixed infrastructures §  Frees customers from proprietary lock-in §  SDN solution designed for broaden market applicability
  • 19. ©2015 Extreme Networks, Inc. All rights reserved.