SlideShare une entreprise Scribd logo
1  sur  20
OpenFlow Controller




http://floodlight.openflowhub.org
About Us
Big Switch Networks


 Big Switch Networks builds and promotes Open
     Software Defined Networking Solutions



 We use and help support Floodlight and a number of
     other OpenFlow tools



 Yes, you can contact us about jobs and internships at
     careers@bigswitch.com



 ©2012 – Big Switch Networks Inc.                         2
Introduction

 Floodlight overview
 Floodlight architecture
 Demo!




 ©2012 – Big Switch Networks Inc.   3
Floodlight Overview




          Floodlight is a completely open,
          free, Apache-licensed Java-based
          OpenFlow controller.




©2012 – Big Switch Networks Inc.             4
Floodlight Controller
A great platform for OpenFlow




            Research and                        Easy to build, run, and
            commercial friendly                develop



                                    Toolchain


            Rich set of build and               Community of OpenFlow
            debugging tools                     experts, access to commercial
                                                upgrades, and frequent testing
 ©2012 – Big Switch Networks Inc.                                                5
Building Floodlight
Fast…an easy…

Download from Github
$ git clone git://github.com/floodlight/floodlight.git

$ sudo apt-get install build-essential default-jdk ant python-
dev

$ cd floodlight; ant

$ java –jar target/floodlight.jar


Get the VM (including
mininet)
$ wget http://floodlight.openflowhub.org/files/floodlight-
vm.zip

(login as “floodlight” user, no password)

 ©2012 – Big Switch Networks Inc.                                6
Other Floodlight Highlights

                                                                   REST-      Static    2
 1                                                                 based      Flow
                                                                    App      Pusher     Java event APIs



                                               Jython App
 Active work in
                                    Java App
     defining                                                                           REST-based APIs
     standard
     “Northbound”
     APIs                                                                               Ability to push flows




                                                            Floodlight Controller
                                                                                                     3
                                                              Switch                                  Support for
                                                                                       OF Switch         integrating with
                                                                                                         non-OpenFlow
                                                                       OF Switch                         networks
                                OF Switch


                                                      OF Switch
 ©2012 – Big Switch Networks Inc.                                                                                           7
OpenFlowHub
A community of open source OpenFlow developers

What it is:                                Get involved:

1. A community of open source               Submit a project
       OpenFlow developers
                                            Write a blog post
2. An OpenFlow Blog (available for
       guest authors)                       http://www.openflowhub.org
3. Free hosting, tools, and marketing       Contact:
      for open source projects
                                             mike.cohen@openflowhub.org
      Wiki, forums, bug tracking tools,
        logos, etc.
 Projects:




 ©2012 – Big Switch Networks Inc.
Internals
Architecture Overview

 Everything is a module: modules export services
      Synchronous service calls
      Asynchronous publish/subscribe events
      Automatic dependency resolution
 Programming environment
      Core and all current modules written in Java
      Rich, extensible REST API
      Recently added Jython: could dev in Python
 Main Module: Floodlight “Provider”
      Manages OpenFlow switch I/O with Netty
      Translates OpenFlow messages to Floodlight Events

 ©2012 – Big Switch Networks Inc.                          10
IFloodlightModule Interface

1. getModuleDependencies()
Function                                   Description

       What services does this moduleWhat services does this
getModuleDependencies()
                                       require?
                                           module require?
2. getModuleServices(), getServiceImpls()
       Services does this module provide and how?
getModuleServices()                        Services does this module
                                           provide and how?
3. init(FloodlightModuleContext context)
       Internal, before dependencies have init()’d
init(FloodlightModuleContext context)      Internal, before dependencies
                                           have init()’ed
4. startup(FloodlightModuleContext context)
       External, with dependencies initialization
startup(FloodlightModuleContext context)   External, with dependencies
                                           initialization
Netty

An asynchronous event-driven network application
framework




 ©2012 – Big Switch Networks Inc.                  12
Threading Model

 All inter-module communication is through services
      Inter-service calls need to be thread safe
 Event handling happens in publisher’s thread context
      Don’t block, use a bottom half handler
 Thread pool executer service exists
      Allows modules to share threads
 Number of shared data structures protected by locks
      Any Java object can be an event
      Standard locks apply : synchronized


 ©2012 – Big Switch Networks Inc.                        13
Floodlight Provider Module

 Manages I/O from OF Switches
      Tracks switch add/removes
      Translates OF messages to Floodlight events
 IFloodlightProvider Service
      addOFMessageListener(OFType type)
        Ordering defined by caller with OFMessageListener iface
      Map<dpid,Switches> getSwitches();
      addOFSwitchListener();
      injectOfMessage(IOFSwitch sw, OFMessage msg);
        Used for recirculation-style hacks


 ©2012 – Big Switch Networks Inc.                                  14
Topology Module
Floodlight Automatically discover topologies


 OpenFlow and non-OF networks
      SwitchClusters – managing OF-islands
 Controller sends active probes via packet out/in
      Probes are formatted to look like LLDPs


 ITopologyService interface
           getLinks()
           addListeners()
           inSameCluster(switch1, switch2)
           Set<Switches> getSwitchesInCluster(switch1)

 ©2012 – Big Switch Networks Inc.                         15
Device Manager Module
Host location tracking


 Tracks End-Host Locations in the network
      Mac to ( Switch, Port) mapping
      Mac to IP
      IP to Mac
 IDeviceManager Service
           List<Device> getDevices()
           addListener()
           Device getDeviceByIPv4Address(ip)
           Device getDeviceByDataLayerAddress(mac)

 TODO: Extend Device definition, include Vlan?

 ©2012 – Big Switch Networks Inc.                     16
REST API Module
Any module can export via REST

 Implementation uses Restlets internally
      www.restlets.org

 IRestAPI Service
      addRestletRoutable(RestletRoutable rr)

 Your module implements RestletRoutable
      String basePath()
        “/rest/version1/myMod”
      Restlet getRestlet(Context)
        New Router(context).attach(“/switch/all/{statType}/json”,
                 MyStatClass.class}

 MyStatClass extends org.restlet.resources.ServerResource

 ©2012 – Big Switch Networks Inc.                                    17
Demo
Demo

Problem:

Track the last N Packet-Ins seen by the controller and
expose it via a REST API


What you will see:

1. Adding a new module
2. Creating a REST API
3. Running Floodlight


 ©2012 – Big Switch Networks Inc.                        19
Interested in Learning More?

 Check out the website
      http://floodlight.openflowhub.org


 Join the mailing list:
      http://groups.google.com/a/openflowhub.org/group/floodli
       ght-dev/topics
      Or just email floodlight-dev@openflowhub.org


 Get the code:
      http://floodlight.openflowhub.org/download

 ©2012 – Big Switch Networks Inc.

Contenu connexe

Tendances

Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlowrjain51
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networkingsuniltomar04
 
Introduction To Openflow
Introduction To OpenflowIntroduction To Openflow
Introduction To OpenflowWaqas Daar
 
Introduction to Reactive Streams and Reactor 2.5
Introduction to Reactive Streams and Reactor 2.5Introduction to Reactive Streams and Reactor 2.5
Introduction to Reactive Streams and Reactor 2.5Stéphane Maldini
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDxCentral
 
Modern Software Architecture
Modern Software Architecture Modern Software Architecture
Modern Software Architecture Ahmed Marzouk
 
Tutorial on SDN data plane evolution
Tutorial on SDN data plane evolutionTutorial on SDN data plane evolution
Tutorial on SDN data plane evolutionAntonio Capone
 
API Management for Software Defined Network (SDN)
API Management for Software Defined Network (SDN)API Management for Software Defined Network (SDN)
API Management for Software Defined Network (SDN)Apigee | Google Cloud
 
Implementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfileImplementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfileKevin Sutter
 
Sdn and open flow tutorial 4
Sdn and open flow tutorial 4Sdn and open flow tutorial 4
Sdn and open flow tutorial 4UmaMahesh Sistu
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & EcosystemKingston Smiler
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorialopenflow
 
How to build a Neutron Plugin (stadium edition)
How to build a Neutron Plugin (stadium edition)How to build a Neutron Plugin (stadium edition)
How to build a Neutron Plugin (stadium edition)Salvatore Orlando
 
Practical and Incremental Convergence between SDN and Middleboxes
Practical and Incremental Convergence between SDN and MiddleboxesPractical and Incremental Convergence between SDN and Middleboxes
Practical and Incremental Convergence between SDN and MiddleboxesOpen Networking Summits
 
opendayight loadBalancer
opendayight loadBalancer opendayight loadBalancer
opendayight loadBalancer Khubaib Mahar
 
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionOpenlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionCcie Light
 
Presentation11
Presentation11Presentation11
Presentation11KellyCheah
 
A Novel Use of Openflow and Its Applications in Connecting Docker and Dummify...
A Novel Use of Openflow and Its Applications in Connecting Docker and Dummify...A Novel Use of Openflow and Its Applications in Connecting Docker and Dummify...
A Novel Use of Openflow and Its Applications in Connecting Docker and Dummify...DaoliCloud Ltd
 

Tendances (20)

Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlow
 
Naveen nimmu sdn future of networking
Naveen nimmu sdn   future of networkingNaveen nimmu sdn   future of networking
Naveen nimmu sdn future of networking
 
OpenFlow
OpenFlowOpenFlow
OpenFlow
 
Introduction To Openflow
Introduction To OpenflowIntroduction To Openflow
Introduction To Openflow
 
Introduction to Reactive Streams and Reactor 2.5
Introduction to Reactive Streams and Reactor 2.5Introduction to Reactive Streams and Reactor 2.5
Introduction to Reactive Streams and Reactor 2.5
 
SDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined NetworkingSDN Basics – What You Need to Know about Software-Defined Networking
SDN Basics – What You Need to Know about Software-Defined Networking
 
Modern Software Architecture
Modern Software Architecture Modern Software Architecture
Modern Software Architecture
 
Tutorial on SDN data plane evolution
Tutorial on SDN data plane evolutionTutorial on SDN data plane evolution
Tutorial on SDN data plane evolution
 
API Management for Software Defined Network (SDN)
API Management for Software Defined Network (SDN)API Management for Software Defined Network (SDN)
API Management for Software Defined Network (SDN)
 
Implementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfileImplementing Microservices with Jakarta EE and MicroProfile
Implementing Microservices with Jakarta EE and MicroProfile
 
Sdn and open flow tutorial 4
Sdn and open flow tutorial 4Sdn and open flow tutorial 4
Sdn and open flow tutorial 4
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & Ecosystem
 
OpenFlow tutorial
OpenFlow tutorialOpenFlow tutorial
OpenFlow tutorial
 
How to build a Neutron Plugin (stadium edition)
How to build a Neutron Plugin (stadium edition)How to build a Neutron Plugin (stadium edition)
How to build a Neutron Plugin (stadium edition)
 
Practical and Incremental Convergence between SDN and Middleboxes
Practical and Incremental Convergence between SDN and MiddleboxesPractical and Incremental Convergence between SDN and Middleboxes
Practical and Incremental Convergence between SDN and Middleboxes
 
SDN Project PPT
SDN Project PPTSDN Project PPT
SDN Project PPT
 
opendayight loadBalancer
opendayight loadBalancer opendayight loadBalancer
opendayight loadBalancer
 
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionOpenlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sion
 
Presentation11
Presentation11Presentation11
Presentation11
 
A Novel Use of Openflow and Its Applications in Connecting Docker and Dummify...
A Novel Use of Openflow and Its Applications in Connecting Docker and Dummify...A Novel Use of Openflow and Its Applications in Connecting Docker and Dummify...
A Novel Use of Openflow and Its Applications in Connecting Docker and Dummify...
 

Similaire à OpenFlow Controller Architecture and Demo

Floodlight - Overview
Floodlight - OverviewFloodlight - Overview
Floodlight - Overviewopenflowhub
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN ControllerSumit Arora
 
Software Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight ProjectSoftware Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight ProjectGreat Wide Open
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiHui Cheng
 
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...David Meyer
 
OpenFlow Controllers and Tools
OpenFlow Controllers and ToolsOpenFlow Controllers and Tools
OpenFlow Controllers and Toolsrjain51
 
SDN: Network Agility in the Cloud
SDN: Network Agility in the CloudSDN: Network Agility in the Cloud
SDN: Network Agility in the CloudSebastien Goasguen
 
PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg
PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg
PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg PROIDEA
 
SDN (Software Defined Networking) Controller
SDN (Software Defined Networking) ControllerSDN (Software Defined Networking) Controller
SDN (Software Defined Networking) ControllerVipin Gupta
 
Software Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable NetworksSoftware Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable NetworksMyNOG
 
Node summit workshop
Node summit workshopNode summit workshop
Node summit workshopShubhra Kar
 
Learn OpenStack from trystack.cn
Learn OpenStack from trystack.cnLearn OpenStack from trystack.cn
Learn OpenStack from trystack.cnOpenCity Community
 
The Power of Enterprise Java Frameworks
The Power of Enterprise Java FrameworksThe Power of Enterprise Java Frameworks
The Power of Enterprise Java FrameworksClarence Ho
 
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDKHow to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDKDominik Renzel
 
Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Ian Skerrett
 
Android presentation
Android presentationAndroid presentation
Android presentationImam Raza
 
OpenFlow/SDN activities of NTT Communications
OpenFlow/SDN activities of NTT CommunicationsOpenFlow/SDN activities of NTT Communications
OpenFlow/SDN activities of NTT CommunicationsOpen Networking Summits
 
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingOSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingMark Hinkle
 

Similaire à OpenFlow Controller Architecture and Demo (20)

Floodlight - Overview
Floodlight - OverviewFloodlight - Overview
Floodlight - Overview
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN Controller
 
Software Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight ProjectSoftware Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight Project
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-torii
 
SDN_Gustaf_Nilstadius
SDN_Gustaf_NilstadiusSDN_Gustaf_Nilstadius
SDN_Gustaf_Nilstadius
 
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
 
OpenFlow Controllers and Tools
OpenFlow Controllers and ToolsOpenFlow Controllers and Tools
OpenFlow Controllers and Tools
 
SDN: Network Agility in the Cloud
SDN: Network Agility in the CloudSDN: Network Agility in the Cloud
SDN: Network Agility in the Cloud
 
PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg
PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg
PLNOG15: The Power of the Open Standards SDN API’s - Mikael Holmberg
 
SDN (Software Defined Networking) Controller
SDN (Software Defined Networking) ControllerSDN (Software Defined Networking) Controller
SDN (Software Defined Networking) Controller
 
Software Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable NetworksSoftware Defined Networking/Openflow: A path to Programmable Networks
Software Defined Networking/Openflow: A path to Programmable Networks
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Node summit workshop
Node summit workshopNode summit workshop
Node summit workshop
 
Learn OpenStack from trystack.cn
Learn OpenStack from trystack.cnLearn OpenStack from trystack.cn
Learn OpenStack from trystack.cn
 
The Power of Enterprise Java Frameworks
The Power of Enterprise Java FrameworksThe Power of Enterprise Java Frameworks
The Power of Enterprise Java Frameworks
 
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDKHow to Build & Develop Responsive Open Learning Environments with the ROLE SDK
How to Build & Develop Responsive Open Learning Environments with the ROLE SDK
 
Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
OpenFlow/SDN activities of NTT Communications
OpenFlow/SDN activities of NTT CommunicationsOpenFlow/SDN activities of NTT Communications
OpenFlow/SDN activities of NTT Communications
 
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingOSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
 

Dernier

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 

Dernier (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 

OpenFlow Controller Architecture and Demo

  • 2. About Us Big Switch Networks  Big Switch Networks builds and promotes Open Software Defined Networking Solutions  We use and help support Floodlight and a number of other OpenFlow tools  Yes, you can contact us about jobs and internships at careers@bigswitch.com ©2012 – Big Switch Networks Inc. 2
  • 3. Introduction  Floodlight overview  Floodlight architecture  Demo! ©2012 – Big Switch Networks Inc. 3
  • 4. Floodlight Overview Floodlight is a completely open, free, Apache-licensed Java-based OpenFlow controller. ©2012 – Big Switch Networks Inc. 4
  • 5. Floodlight Controller A great platform for OpenFlow Research and Easy to build, run, and commercial friendly  develop Toolchain Rich set of build and Community of OpenFlow debugging tools experts, access to commercial upgrades, and frequent testing ©2012 – Big Switch Networks Inc. 5
  • 6. Building Floodlight Fast…an easy… Download from Github $ git clone git://github.com/floodlight/floodlight.git $ sudo apt-get install build-essential default-jdk ant python- dev $ cd floodlight; ant $ java –jar target/floodlight.jar Get the VM (including mininet) $ wget http://floodlight.openflowhub.org/files/floodlight- vm.zip (login as “floodlight” user, no password) ©2012 – Big Switch Networks Inc. 6
  • 7. Other Floodlight Highlights REST- Static 2 1 based Flow App Pusher  Java event APIs Jython App  Active work in Java App defining  REST-based APIs standard “Northbound” APIs  Ability to push flows Floodlight Controller 3 Switch  Support for OF Switch integrating with non-OpenFlow OF Switch networks OF Switch OF Switch ©2012 – Big Switch Networks Inc. 7
  • 8. OpenFlowHub A community of open source OpenFlow developers What it is: Get involved: 1. A community of open source  Submit a project OpenFlow developers  Write a blog post 2. An OpenFlow Blog (available for guest authors)  http://www.openflowhub.org 3. Free hosting, tools, and marketing  Contact: for open source projects mike.cohen@openflowhub.org  Wiki, forums, bug tracking tools, logos, etc. Projects: ©2012 – Big Switch Networks Inc.
  • 10. Architecture Overview  Everything is a module: modules export services  Synchronous service calls  Asynchronous publish/subscribe events  Automatic dependency resolution  Programming environment  Core and all current modules written in Java  Rich, extensible REST API  Recently added Jython: could dev in Python  Main Module: Floodlight “Provider”  Manages OpenFlow switch I/O with Netty  Translates OpenFlow messages to Floodlight Events ©2012 – Big Switch Networks Inc. 10
  • 11. IFloodlightModule Interface 1. getModuleDependencies() Function Description  What services does this moduleWhat services does this getModuleDependencies() require? module require? 2. getModuleServices(), getServiceImpls()  Services does this module provide and how? getModuleServices() Services does this module provide and how? 3. init(FloodlightModuleContext context)  Internal, before dependencies have init()’d init(FloodlightModuleContext context) Internal, before dependencies have init()’ed 4. startup(FloodlightModuleContext context)  External, with dependencies initialization startup(FloodlightModuleContext context) External, with dependencies initialization
  • 12. Netty An asynchronous event-driven network application framework ©2012 – Big Switch Networks Inc. 12
  • 13. Threading Model  All inter-module communication is through services  Inter-service calls need to be thread safe  Event handling happens in publisher’s thread context  Don’t block, use a bottom half handler  Thread pool executer service exists  Allows modules to share threads  Number of shared data structures protected by locks  Any Java object can be an event  Standard locks apply : synchronized ©2012 – Big Switch Networks Inc. 13
  • 14. Floodlight Provider Module  Manages I/O from OF Switches  Tracks switch add/removes  Translates OF messages to Floodlight events  IFloodlightProvider Service  addOFMessageListener(OFType type)  Ordering defined by caller with OFMessageListener iface  Map<dpid,Switches> getSwitches();  addOFSwitchListener();  injectOfMessage(IOFSwitch sw, OFMessage msg);  Used for recirculation-style hacks ©2012 – Big Switch Networks Inc. 14
  • 15. Topology Module Floodlight Automatically discover topologies  OpenFlow and non-OF networks  SwitchClusters – managing OF-islands  Controller sends active probes via packet out/in  Probes are formatted to look like LLDPs  ITopologyService interface  getLinks()  addListeners()  inSameCluster(switch1, switch2)  Set<Switches> getSwitchesInCluster(switch1) ©2012 – Big Switch Networks Inc. 15
  • 16. Device Manager Module Host location tracking  Tracks End-Host Locations in the network  Mac to ( Switch, Port) mapping  Mac to IP  IP to Mac  IDeviceManager Service  List<Device> getDevices()  addListener()  Device getDeviceByIPv4Address(ip)  Device getDeviceByDataLayerAddress(mac)  TODO: Extend Device definition, include Vlan? ©2012 – Big Switch Networks Inc. 16
  • 17. REST API Module Any module can export via REST  Implementation uses Restlets internally  www.restlets.org  IRestAPI Service  addRestletRoutable(RestletRoutable rr)  Your module implements RestletRoutable  String basePath()  “/rest/version1/myMod”  Restlet getRestlet(Context)  New Router(context).attach(“/switch/all/{statType}/json”, MyStatClass.class}  MyStatClass extends org.restlet.resources.ServerResource ©2012 – Big Switch Networks Inc. 17
  • 18. Demo
  • 19. Demo Problem: Track the last N Packet-Ins seen by the controller and expose it via a REST API What you will see: 1. Adding a new module 2. Creating a REST API 3. Running Floodlight ©2012 – Big Switch Networks Inc. 19
  • 20. Interested in Learning More?  Check out the website  http://floodlight.openflowhub.org  Join the mailing list:  http://groups.google.com/a/openflowhub.org/group/floodli ght-dev/topics  Or just email floodlight-dev@openflowhub.org  Get the code:  http://floodlight.openflowhub.org/download ©2012 – Big Switch Networks Inc.

Notes de l'éditeur

  1. Tools – packetstreamer ,static flow pusher, mininet. All the tools we use here at big switch.Finally, Floodlight is something we use at big switch in the core of our commercial controller. Its an extremely important part of our business. This means
  2. Our topology, device manager know about host attachment points and make it possible to deal with integrating openflow and non openflow networks.
  3. Say “high performance I/O is a PITA to get right. Best practice is to use an off-the-shelf already optimized library, so we’re using Netty. Only affects floodlight provider module, so could easily move to something else”