Introduction to OpenFlow

MEULLE Michael, DAAR Waqas
CORE-TPN-RIV
23 July 2010




                   recherche & développement
Outline

     Background
        Motivation

     OpenFlow overview
        OpenFlow Concept

        OpenFlow protocol

        OpenFlow Messages

     How OpenFlow works?
     Conclusion




2                            recherche & développement
Background

     Internet is closed for Innovations
     We like to do new experiments
           Mobility management
           New naming/address schemes
           Network access control
           ……




3                                recherche & développement
What is OpenFlow?

     Put an open platform in hands of researchers/students to test
      new ideas at scale through production networks.
     An open development environment for all researchers
     Give access to flow tables in switches
           lookup tables, access control list, etc..
           Control packet forwarding in routers and switches.




4                                    recherche & développement
OpenFlow Architecture




            Figure 1: OpenFlow Architecute [1]
5                       recherche & développement
OpenFlow Protocol
        Support three message types
                                                                      Controller
    
            Controller-to-switch messages                                  OpenFlow
                                                                            protocol
              • Configuring the switch
              • Exchanging switch capabilities
              • Managing the Flow table
            Symmetric messages
                                                                          OpenFlow switch
              • Send in either direction
              • Diagnose problems in switch controller connection
            Asynchronous messages
              • From switch to the controller
              • Announce change in network state, swtich state etc.




6                                       recherche & développement
OpenFlow Controller

     Openflow controller is a centralized entity for the entire
      OpenFlow network.
     NOX [4] is an open source OpenFlow controller.
            simplified platform for writing network control software in C++/
             Python.
       Researchers can write a software and plugin to NOX for
        testing their idea.




7                                     recherche & développement
Packet processing in OpenFlow Network




        Figure 2: Processing of a packet in Openflow network [1]




8                          recherche & développement
OpenFlow Table Entry




              Figure 3: OpenFlow Table Entry [2]

9                     recherche & développement
OpenFlow switching mechanism




           Figure 4: Switching of packets in OpenFlow network [3]
10                           recherche & développement
Conclusion
        Test environment for future Internet technologies
             Setup experiments at the flow level
             Setup experiments at the packet level




11                                     recherche & développement
Reading Material

      OpenFlow switch specification; URL:
       www.openflowswitch.org/documents/openflow-spec-v0.8.9.pdf
      N McKeown; ‘OpenFlow: Enabling Innovation in Campus Networks’; URL:
       http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.2269
      Labsetup of Openflow network; URL:
       http://www.openflowswitch.org/foswiki/bin/view/OpenFlow/Deployment/HOWTO
       /LabSetup#4_Controller_Setup
      NOX controller; URL: http://noxrepo.org/noxwiki/index.php/Main_Page




12                                 recherche & développement
References
     1.   Nick McKeown;“Clean state design for Internet”; URL:
          www.openflowswitch.org/documents/FOpenFlow.ppt&ei=K3xITN3cHIqOjAfo7Li0Dg&usg=AFQjCNGBQJM8
          FlhrVJAF7iy_BcehOKkqqw&sig2=WFzjw1dzcG_Hwy3lxSMAZg
     2.   Peter Sjodin, Markus Heidell, Georgia Kontesidou, Kyriakos Zarifis, “Network virtualization based on flows”
     3.   HIDEyuki Shimonishi; „Virtualized Network Infrastructure using Openflow‟;
     4.   NOX; URL: http://noxrepo.org/wp/




13                                               recherche & développement

Introduction To Openflow

  • 1.
    Introduction to OpenFlow MEULLEMichael, DAAR Waqas CORE-TPN-RIV 23 July 2010 recherche & développement
  • 2.
    Outline  Background  Motivation  OpenFlow overview  OpenFlow Concept  OpenFlow protocol  OpenFlow Messages  How OpenFlow works?  Conclusion 2 recherche & développement
  • 3.
    Background  Internet is closed for Innovations  We like to do new experiments  Mobility management  New naming/address schemes  Network access control  …… 3 recherche & développement
  • 4.
    What is OpenFlow?  Put an open platform in hands of researchers/students to test new ideas at scale through production networks.  An open development environment for all researchers  Give access to flow tables in switches  lookup tables, access control list, etc..  Control packet forwarding in routers and switches. 4 recherche & développement
  • 5.
    OpenFlow Architecture Figure 1: OpenFlow Architecute [1] 5 recherche & développement
  • 6.
    OpenFlow Protocol Support three message types Controller   Controller-to-switch messages OpenFlow protocol • Configuring the switch • Exchanging switch capabilities • Managing the Flow table  Symmetric messages OpenFlow switch • Send in either direction • Diagnose problems in switch controller connection  Asynchronous messages • From switch to the controller • Announce change in network state, swtich state etc. 6 recherche & développement
  • 7.
    OpenFlow Controller  Openflow controller is a centralized entity for the entire OpenFlow network.  NOX [4] is an open source OpenFlow controller.  simplified platform for writing network control software in C++/ Python.  Researchers can write a software and plugin to NOX for testing their idea. 7 recherche & développement
  • 8.
    Packet processing inOpenFlow Network Figure 2: Processing of a packet in Openflow network [1] 8 recherche & développement
  • 9.
    OpenFlow Table Entry Figure 3: OpenFlow Table Entry [2] 9 recherche & développement
  • 10.
    OpenFlow switching mechanism Figure 4: Switching of packets in OpenFlow network [3] 10 recherche & développement
  • 11.
    Conclusion  Test environment for future Internet technologies  Setup experiments at the flow level  Setup experiments at the packet level 11 recherche & développement
  • 12.
    Reading Material  OpenFlow switch specification; URL: www.openflowswitch.org/documents/openflow-spec-v0.8.9.pdf  N McKeown; ‘OpenFlow: Enabling Innovation in Campus Networks’; URL: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.2269  Labsetup of Openflow network; URL: http://www.openflowswitch.org/foswiki/bin/view/OpenFlow/Deployment/HOWTO /LabSetup#4_Controller_Setup  NOX controller; URL: http://noxrepo.org/noxwiki/index.php/Main_Page 12 recherche & développement
  • 13.
    References 1. Nick McKeown;“Clean state design for Internet”; URL: www.openflowswitch.org/documents/FOpenFlow.ppt&ei=K3xITN3cHIqOjAfo7Li0Dg&usg=AFQjCNGBQJM8 FlhrVJAF7iy_BcehOKkqqw&sig2=WFzjw1dzcG_Hwy3lxSMAZg 2. Peter Sjodin, Markus Heidell, Georgia Kontesidou, Kyriakos Zarifis, “Network virtualization based on flows” 3. HIDEyuki Shimonishi; „Virtualized Network Infrastructure using Openflow‟; 4. NOX; URL: http://noxrepo.org/wp/ 13 recherche & développement