SlideShare una empresa de Scribd logo
1 de 41
OpenFlow



     (@oshothebig)
•
•
    •
•
    •               , GMPLS, VLAN tag swapped
        Ethernet,               , etc.
OpenFlow
• Galibier OpenFlow Controller
  • https://github.com/oshothebig/galibier
•
    • 300                     Java    OpenFlow
             (http://bit.ly/qXoMGM)

    • OpenFlow                               Java
     (http://bit.ly/pbI3Or)
OpenFlow
Application      Application      Application



                 Controller
                                   OpenFlow



Switch        Switch     Switch       Switch
OpenFlow

                  • NEC UNIVERGE PF5240/
                   PF5820
• Reference       • Pronto Systems
 Implementation
                   3240/3290
• Open vSwitch    • IBM RackSwitch G8264
                  • HP 3500/5400/8200
OpenFlow

      NOX                   NEC
     Trema            Nicira Networks
Beacon/Floodlight   Big Switch Networks
      Ryu                Midokura
   NodeFlow              NTT Data
      etc.                   etc.
NOX
•   http://noxrepo.org/
•   GPL v3
•   Nicira Networks
•   C++/Python
•
    •
•
    • 2011/1/1            53
Trema
•   https://github.com/trema/trema
•   GPL v2
•   NEC
•   C/Ruby
•
    • 1      PC
•
Beacon/Floodlight
• http://www.beaconcontroller.net/ (Beacon)
    http:// oodlight.open owhub.org/ (Floodlight)

            Beacon                         Floodlight

                     GPL v2        Apache License Version 2.0

                                Java

    David Erickson (Stanford)          Big Switch Networks

•          IO
    600   Flow req/sec        @4                  (Beacon)
Ryu
• http://www.osrg.net/ryu/
• GPL v3
• NTT(                       ?) VA Linux
• Pure Python
• OpenStack
NodeFlow
•   http://github.com/gaberger/NodeFLow
•   MIT Licenes
•   Gary Berger
•   JavaScript (for Node.js)
Trema
   NEC
             UNIVERGE PF


Big Switch    Floodlight   BigController?


                NOX
  Nicira
                NVP?
Floodlight
• 12
    https://github.com/ oodlight/ oodlight
• Beacon
  •
  • OSGi
  • Netty
•                →T
Floodlight
• 12
    https://github.com/ oodlight/ oodlight
• Beacon
  •
  • OSGi
  • Netty
•                →T
Nicira Networks
• 2                                    (by Publickey)
    http://www.publickey1.jp/blog/11/nicira_networks.html
• NTT
    http://www.ntt.co.jp/news2011/1108/110802a.html
•   Nicira Virtualization Platform (NVP)
    http://cn.teldevice.co.jp/product/nicira/nicira_nvp/
    index.html
Onix
• OSDI’10
    Onix: A Distributed Control Platform for Large-scale
    Production Networks
    http://www.usenix.org/event/osdi10/tech/full_papers/
    Koponen.pdf
•   Nicira Networks, Google, NEC, UC Berkeley
•
    • Zookeeper
• 15         C++
Onix
                             Server 1                                                         Server N

                     Network Control Logic                                          Network Control Logic


                                  NIB                                                           NIB
  Onix




         Switch Import / Export           Distribution I / E             Distribution I / E           Switch Import / Export




                                        Management Connectivity Network Infrastructure

                                           Managed Physical Network Infrastructure




Figure 1: There are four components in an Onix controlled
network:                managed physical infrastructure, connectivity
Onix
• Network Information Base (NIB)
  •
                               Forwarding   1   n   Forwarding                  Category
                   Host                                                  Link
                                                      Table
                                 Engine
                                                                                Query
                                                                                Create, dest
                                                                     1
                                                                 2

                  Network        Node
                                            1   n
                                                       Port
                                                                                Access attri
                                                                                Notification
              Figure 2: The default network entity classes provided by          Synchronize
•           Onix’s API. Solid lines represent inheritance,DB dashed lines
                                                          while
                                                                             Configuratio
            correspond to referential relation between entity instances. The
    •   Transactionalthe dashed linesdatabase
            numbers on persistent show the quantitative mapping
            relationship (e.g., one Link maps to two Ports, and two          Pull
    •   One-hop, can map to the same Link). Nodes, ports and links DHT
            Ports eventually-consistent, memory-only
            constitute the network topology. All entity classes inherit the
            same base class providing generic key-value pair access.          Table 1: Fu
OpenFlow
•
•
•
•
• Symmetric Message
  • Hello, Echo,       ,

• Controller/Switch Message
  •                ,           ,

• Async Message
  • Packet in,             ,
Header
ver.   type      length        xid           payload


       22
• length (2 bytes)
• Netty       LengthFieldBasedFrameDecoder

  • Floodlight
Floodlight
ChannelPipeline                     Controller


        OFChannelHandler          OpenFlow


        OFMessageEncoder


       OFMessageDecoder



     Netty Internal I/O Threads
Switch   Controller
Switch   Controller
Switch           Controller


         HELLO
         HELLO
Switch                     Controller


             HELLO
             HELLO

         FEATURE_REQUEST

          FEATURE_REPLY
Switch   Controller
Switch                  Controller


         ECHO_REQUEST
          ECHO_REPLY
Switch                  Controller


         ECHO_REQUEST
          ECHO_REPLY


         ECHO_REQUEST
          ECHO_REPLY
Controller.java (          OFChannelHandler)


protected void processOFMessage(OFMessage m)
        throws IOException, SwitchStateException {
  switch (m.getType()) {
    case HELLO: ....
    case ECHO_REQUEST: ....
    case FEATURES_REPLY: ....
    default: ....
}
※ Trema       src/switch_manager/ofpmsg_recv.c:
ofpmsg_recv()
Switch   Controller
Switch   Controller
Switch               Controller



         PACKET_IN
Switch               Controller



         PACKET_IN



   PACKET_OUT or FLOW_MOD
Controller.java

protected void handleMessage(
  IOFSwitch sw, OFMessage m,
  FloodlightContext bContext) {
  switch (m.getType()) {
    case PACKET_IN: ....
    default: ....
}

default
OpenFlow
• OpenFlow 1.1
  •                   1.0
• Ver. 1.1
  • Ver. 1.1
  •
•          Ver. 1.2
  •
• OpenFlow
•
• OpenFlow
    • Floodlight
•   Open vSwitch
Openflow勉強会 「OpenFlowコントローラを取り巻く状況とその実装」

Más contenido relacionado

La actualidad más candente

OpenStack Neutron Liberty Updates
OpenStack Neutron Liberty UpdatesOpenStack Neutron Liberty Updates
OpenStack Neutron Liberty Updatesmestery
 
How to write a Neutron Plugin - if you really need to
How to write a Neutron Plugin - if you really need toHow to write a Neutron Plugin - if you really need to
How to write a Neutron Plugin - if you really need tosalv_orlando
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack NetworkingIlya Shakhat
 
Openflow overview
Openflow overviewOpenflow overview
Openflow overviewopenflowhub
 
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2Adam Dunkels
 
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
2014 OpenStack Summit - Neutron OVS to LinuxBridge MigrationJames Denton
 
OpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute NodesOpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute Nodesclayton_oneill
 
An Overview of Linux Networking Options
An Overview of Linux Networking OptionsAn Overview of Linux Networking Options
An Overview of Linux Networking OptionsScott Lowe
 
Introduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronIntroduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronSana Khan
 
Openstack Quantum Security Groups Session
Openstack Quantum Security Groups SessionOpenstack Quantum Security Groups Session
Openstack Quantum Security Groups SessionDavid Lapsley
 
IPSN 2009 Contiki / uIP tutorial
IPSN 2009 Contiki / uIP tutorialIPSN 2009 Contiki / uIP tutorial
IPSN 2009 Contiki / uIP tutorialadamdunkels
 
OpenStack Neutron Advanced Services by Akanda
OpenStack Neutron Advanced Services by AkandaOpenStack Neutron Advanced Services by Akanda
OpenStack Neutron Advanced Services by AkandaSean Roberts
 
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 YANGTail-f Systems
 
Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantumMiguel Lavalle
 

La actualidad más candente (20)

OpenStack Neutron Liberty Updates
OpenStack Neutron Liberty UpdatesOpenStack Neutron Liberty Updates
OpenStack Neutron Liberty Updates
 
How to write a Neutron Plugin - if you really need to
How to write a Neutron Plugin - if you really need toHow to write a Neutron Plugin - if you really need to
How to write a Neutron Plugin - if you really need to
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 
Openflow overview
Openflow overviewOpenflow overview
Openflow overview
 
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
 
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
 
OpenFlow
OpenFlowOpenFlow
OpenFlow
 
OpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute NodesOpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute Nodes
 
An Overview of Linux Networking Options
An Overview of Linux Networking OptionsAn Overview of Linux Networking Options
An Overview of Linux Networking Options
 
Open Network Operating System
Open Network Operating SystemOpen Network Operating System
Open Network Operating System
 
Training open stack networking -neutron
Training open stack networking -neutronTraining open stack networking -neutron
Training open stack networking -neutron
 
Introduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronIntroduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack Neutron
 
Networking in Openstack - Neutron 101
Networking in Openstack - Neutron 101Networking in Openstack - Neutron 101
Networking in Openstack - Neutron 101
 
Openstack Quantum Security Groups Session
Openstack Quantum Security Groups SessionOpenstack Quantum Security Groups Session
Openstack Quantum Security Groups Session
 
IPSN 2009 Contiki / uIP tutorial
IPSN 2009 Contiki / uIP tutorialIPSN 2009 Contiki / uIP tutorial
IPSN 2009 Contiki / uIP tutorial
 
OpenStack Neutron Advanced Services by Akanda
OpenStack Neutron Advanced Services by AkandaOpenStack Neutron Advanced Services by Akanda
OpenStack Neutron Advanced Services by Akanda
 
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
 
Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantum
 
OpenStack sdn
OpenStack sdnOpenStack sdn
OpenStack sdn
 
03 Make Things Talk
03 Make Things Talk03 Make Things Talk
03 Make Things Talk
 

Similar a Openflow勉強会 「OpenFlowコントローラを取り巻く状況とその実装」

FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerHolger Winkelmann
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiHui Cheng
 
Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1Yongyoon Shin
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosBrent Salisbury
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_updateAkihiro Motoki
 
software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllerssoftware defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllersIsaku Yamahata
 
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...Cloud Native Day Tel Aviv
 
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 NetworkingThomas Graf
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingDigicomp Academy AG
 
Presentation11
Presentation11Presentation11
Presentation11KellyCheah
 
Openstack Networking Internals - first part
Openstack Networking Internals - first partOpenstack Networking Internals - first part
Openstack Networking Internals - first partlilliput12
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstacksalv_orlando
 
NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus Hirofumi Ichihara
 
Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13Dan Wendlandt
 
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...Cloud Native Day Tel Aviv
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introductionopenstackindia
 

Similar a Openflow勉強会 「OpenFlowコントローラを取り巻く状況とその実装」 (20)

FlowER Erlang Openflow Controller
FlowER Erlang Openflow ControllerFlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-torii
 
CloudStack and SDN
CloudStack and SDNCloudStack and SDN
CloudStack and SDN
 
Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow Demos
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_update
 
software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllerssoftware defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllers
 
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
 
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
 
Network Virtualization & Software-defined Networking
Network Virtualization & Software-defined NetworkingNetwork Virtualization & Software-defined Networking
Network Virtualization & Software-defined Networking
 
Introduction to SDN
Introduction to SDNIntroduction to SDN
Introduction to SDN
 
OpenFlow Tutorial
OpenFlow TutorialOpenFlow Tutorial
OpenFlow Tutorial
 
Presentation11
Presentation11Presentation11
Presentation11
 
Openstack Networking Internals - first part
Openstack Networking Internals - first partOpenstack Networking Internals - first part
Openstack Networking Internals - first part
 
Chapter03
Chapter03Chapter03
Chapter03
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstack
 
NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus
 
Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13
 
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
Scaling OpenStack Networking Beyond 4000 Nodes with Dragonflow - Eshed Gal-Or...
 
OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introduction
 

Último

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
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)wesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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...Martijn de Jong
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
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
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
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)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
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...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
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
 

Openflow勉強会 「OpenFlowコントローラを取り巻く状況とその実装」

  • 1. OpenFlow (@oshothebig)
  • 2. • • • • • , GMPLS, VLAN tag swapped Ethernet, , etc.
  • 3. OpenFlow • Galibier OpenFlow Controller • https://github.com/oshothebig/galibier • • 300 Java OpenFlow (http://bit.ly/qXoMGM) • OpenFlow Java (http://bit.ly/pbI3Or)
  • 4. OpenFlow Application Application Application Controller OpenFlow Switch Switch Switch Switch
  • 5. OpenFlow • NEC UNIVERGE PF5240/ PF5820 • Reference • Pronto Systems Implementation 3240/3290 • Open vSwitch • IBM RackSwitch G8264 • HP 3500/5400/8200
  • 6. OpenFlow NOX NEC Trema Nicira Networks Beacon/Floodlight Big Switch Networks Ryu Midokura NodeFlow NTT Data etc. etc.
  • 7. NOX • http://noxrepo.org/ • GPL v3 • Nicira Networks • C++/Python • • • • 2011/1/1 53
  • 8. Trema • https://github.com/trema/trema • GPL v2 • NEC • C/Ruby • • 1 PC •
  • 9. Beacon/Floodlight • http://www.beaconcontroller.net/ (Beacon) http:// oodlight.open owhub.org/ (Floodlight) Beacon Floodlight GPL v2 Apache License Version 2.0 Java David Erickson (Stanford) Big Switch Networks • IO 600 Flow req/sec @4 (Beacon)
  • 10. Ryu • http://www.osrg.net/ryu/ • GPL v3 • NTT( ?) VA Linux • Pure Python • OpenStack
  • 11. NodeFlow • http://github.com/gaberger/NodeFLow • MIT Licenes • Gary Berger • JavaScript (for Node.js)
  • 12.
  • 13. Trema NEC UNIVERGE PF Big Switch Floodlight BigController? NOX Nicira NVP?
  • 14. Floodlight • 12 https://github.com/ oodlight/ oodlight • Beacon • • OSGi • Netty • →T
  • 15. Floodlight • 12 https://github.com/ oodlight/ oodlight • Beacon • • OSGi • Netty • →T
  • 16. Nicira Networks • 2 (by Publickey) http://www.publickey1.jp/blog/11/nicira_networks.html • NTT http://www.ntt.co.jp/news2011/1108/110802a.html • Nicira Virtualization Platform (NVP) http://cn.teldevice.co.jp/product/nicira/nicira_nvp/ index.html
  • 17. Onix • OSDI’10 Onix: A Distributed Control Platform for Large-scale Production Networks http://www.usenix.org/event/osdi10/tech/full_papers/ Koponen.pdf • Nicira Networks, Google, NEC, UC Berkeley • • Zookeeper • 15 C++
  • 18. Onix Server 1 Server N Network Control Logic Network Control Logic NIB NIB Onix Switch Import / Export Distribution I / E Distribution I / E Switch Import / Export Management Connectivity Network Infrastructure Managed Physical Network Infrastructure Figure 1: There are four components in an Onix controlled network: managed physical infrastructure, connectivity
  • 19. Onix • Network Information Base (NIB) • Forwarding 1 n Forwarding Category Host Link Table Engine Query Create, dest 1 2 Network Node 1 n Port Access attri Notification Figure 2: The default network entity classes provided by Synchronize • Onix’s API. Solid lines represent inheritance,DB dashed lines while Configuratio correspond to referential relation between entity instances. The • Transactionalthe dashed linesdatabase numbers on persistent show the quantitative mapping relationship (e.g., one Link maps to two Ports, and two Pull • One-hop, can map to the same Link). Nodes, ports and links DHT Ports eventually-consistent, memory-only constitute the network topology. All entity classes inherit the same base class providing generic key-value pair access. Table 1: Fu
  • 22. • Symmetric Message • Hello, Echo, , • Controller/Switch Message • , , • Async Message • Packet in, ,
  • 23. Header ver. type length xid payload 22 • length (2 bytes) • Netty LengthFieldBasedFrameDecoder • Floodlight
  • 24. Floodlight ChannelPipeline Controller OFChannelHandler OpenFlow OFMessageEncoder OFMessageDecoder Netty Internal I/O Threads
  • 25. Switch Controller
  • 26. Switch Controller
  • 27. Switch Controller HELLO HELLO
  • 28. Switch Controller HELLO HELLO FEATURE_REQUEST FEATURE_REPLY
  • 29. Switch Controller
  • 30. Switch Controller ECHO_REQUEST ECHO_REPLY
  • 31. Switch Controller ECHO_REQUEST ECHO_REPLY ECHO_REQUEST ECHO_REPLY
  • 32. Controller.java ( OFChannelHandler) protected void processOFMessage(OFMessage m) throws IOException, SwitchStateException { switch (m.getType()) { case HELLO: .... case ECHO_REQUEST: .... case FEATURES_REPLY: .... default: .... } ※ Trema src/switch_manager/ofpmsg_recv.c: ofpmsg_recv()
  • 33. Switch Controller
  • 34. Switch Controller
  • 35. Switch Controller PACKET_IN
  • 36. Switch Controller PACKET_IN PACKET_OUT or FLOW_MOD
  • 37. Controller.java protected void handleMessage( IOFSwitch sw, OFMessage m, FloodlightContext bContext) { switch (m.getType()) { case PACKET_IN: .... default: .... } default
  • 38. OpenFlow • OpenFlow 1.1 • 1.0 • Ver. 1.1 • Ver. 1.1 • • Ver. 1.2 •
  • 40. Open vSwitch