Changes between Version 30 and Version 31 of GENIExperimenter/Tutorials/OpenFlowOVS


Ignore:
Timestamp:
02/27/15 14:22:04 (5 years ago)
Author:
rrhain@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/Tutorials/OpenFlowOVS

    v30 v31  
    1 = Intro to OpenFlow using OVS =
     1= Intro to OpenFlow Tutorial =
    22
    3 Tiny URL: http://tinyurl.com/geniof
    43
    54== Overview: ==
    65This is a simple OpenFlow tutorial that will guide you through the writing of simple !OpenFlow controllers to showcase some of the !OpenFlow capabilities. We are going to write three different controllers:
    76  1. Write a controller that will '''duplicate all the traffic''' of the !OpenFlow switch out a specific port
    8   2. ''' TCP Port Forward''' controller. Diverge all traffic destined to host A on TCP port X to TCP port Y
    9   3. '''Proxy Controller'''. Write a controller that will diverge all traffic destined to host A, TCP port X to host B, TCP port Y
     7  2. ''' TCP Port Forward''' controller. Divert all traffic destined to host A on TCP port X to TCP port Y
     8  3. '''Proxy Controller'''. Write a controller that will divert all traffic destined to host A, TCP port X to host B, TCP port Y
    109
    11 In this tutorial we are going to use [http://openvswitch.org/ Open vSwitch (OVS)] as an !OpenFlow switch connected to three hosts.
    12 OVS is a software switch running on a compute resource. The other three hosts can only communicate through the OVS switch. The controller for the switch can run anywhere in the Internet.
    13 For this tutorial we are going to use the [http://www.noxrepo.org/pox/about-pox/ POX controller], this is just an example of [wiki:OpenFlow/Controllers many controllers].
     10In this tutorial we have a choice of using an '''''!OpenFlow Software Switch''''', [http://openvswitch.org/ Open vSwitch (OVS)], or using an '''''!OpenFlow-Capable Hardware Switch'''''.  The general topology is as pictured below. In general, the controller just needs to have a public IP address, so that it can exchange messages with the !OpenFlow switch. The controller for the switch can run anywhere in the Internet.
     11For this tutorial we are going to use a [http://www.noxrepo.org/pox/about-pox/ POX based controller], this is just an example of [wiki:OpenFlow/Controllers many controllers].
    1412
    15 [[Image(GENIExperimenter/Graphics:simple_ovs.png)]]
     13[[Image(GENIExperimenter/Graphics:SimpleOpenFlow.jpg,40%)]]
    1614
    1715== Prerequisites: ==
     
    2119      * Reserving resources using Omni [wiki:GENIExperimenter/Tutorials/HelloOmni tutorial]
    2220   - Familiarity with [wiki:HowTo/LoginToNodes logging in to GENI compute resources].
    23    - Basic understanding of OpenFlow. If you are going over this tutorial at home, flip through the [attachment:IntroToOpenFlow_140123.pptx  tutorial's slides]
    24    - Familiarity with Unix Command line
    25    - Familiarity with python programming language.  We are going to use the [http://www.noxrepo.org/pox/about-pox/ POX controller], this is just an example of [wiki:OpenFlow/Controllers many controllers], and POX is written in python.
     21   - Basic understanding of OpenFlow. If you are doing this tutorial at home, flip through the [attachment:IntroToOpenFlow_140123.pptx  tutorial's slides]
     22   - Familiarity with the Unix Command line
     23   - Familiarity with the python programming language.  We are going to use the [http://www.noxrepo.org/pox/about-pox/ POX controller], which is just one example of [wiki:OpenFlow/Controllers many controllers], and POX is written in python.
    2624     
    2725== Tools: ==
    28    - [http://openvswitch.org/ Open vSwitch]. OVS is already be installed on your host. Installation was completed as described [http://groups.geni.net/geni/wiki/HowTo/InstallOVSInProtoGENI here].
    29    - [http://www.noxrepo.org/pox/about-pox/ POX controller]. POX controller is installed in your host as part of the sliver creation.
     26   - [http://openvswitch.org/ Open vSwitch]. OVS will be be installed. Installation was completed as described [http://groups.geni.net/geni/wiki/HowTo/InstallOVSInProtoGENI here].
     27   - [http://www.noxrepo.org/pox/about-pox/ POX controller]. POX controller is installed as part of the resource reservation.
    3028
    3129== Where to get help: ==
     
    4644        <tr>
    4745                <td>
    48                         <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/DesignSetup"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/design.png?format=raw" width="152" height="152" alt="Design/Setup"></a>
     46                        <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowSW/DesignSetup"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/design.png?format=raw" width="152" height="152" alt="Design/Setup"></a>
    4947               </td>
    5048               <td>
     
    5250             <li>Part I: Design/Setup</li>
    5351             <ul>
    54                  <li>Single Rack, OVS:  <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/DesignSetup"> Reserve topology in one rack [Recommended] </a></li>
    55                  <li>Single Rack, Hardware OpenFlow  <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/Appendix"> Reserve topology in one rack using the HW OF switch </a></li>
     52                 <li>Step 1:  Reserve Resources </li>
     53                 <ul>
     54                 <li>OpenFlow using Open vSwitch (OVS): <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowSW/DesignSetup"> Reserve topology in one rack [Recommended] </a></li>
     55                 <li>OpenFlow using a Hardware Switch: <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowHW/DesignSetup"> Reserve topology in one rack using the HW OF switch </a></li>
     56                </ul>
     57                 <li>Step 2:  Configure and Initialize Services </li>
    5658             </ul></ul>
    5759               </td>
     
    6365                <td>
    6466             <ul>
    65 <li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/Execute">Part II: Execute</a></li>
     67<li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowShared/Execute">Part II: Execute</a></li>
    6668             <ul>
    67                  <li>Step 2:  Configure and Initialize Services </li>
    6869                 <li>Step 3:  Execute Experiment </li>
    6970             </ul></ul>
     
    7273        <tr>
    7374                <td>
    74                         <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/Finish"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/finish.png?format=raw" width="152" height="114" alt="Finish"></a>
     75                        <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowShared/Finish"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/finish.png?format=raw" width="152" height="114" alt="Finish"></a>
    7576                </td>
    7677
    7778                <td>
    7879             <ul>
    79              <li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/Finish">Part III: Finish</a></li>
     80             <li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowShared/Finish">Part III: Finish</a></li>
    8081             <ul>
    8182                 <li>Step 4:  Teardown Experiment</li>