| 1 | = NFV Tutorial: Managing a Virtual Network Function using SDN and Control Theory = |
| 2 | == Overview == |
| 3 | This is a basic tutorial that guides you through an experiment using OpenFlow and Network Function Virtualization (NFV). It is recommended that you first read about [http://archive.openflow.org OpenFlow] and go over a basic [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS OpenFlow tutorial] on GENI. The goal of this tutorial is to give you a hands-on experience with OpenFlow, and how it can be used for NFV deployment. Using a basic topology, which contains two sources, a destination, two virtual network functions (IDS), an OVS and a controller, we will show how different OpenFlow rules can be used for NFV management. ''' Once resources are reserved for this topology, the tutorial should take about 45-60 minutes to complete. ''' |
| 4 | |
| 5 | [[Image(http://csr.bu.edu/rina/grw-bu2016/tutorial_files/image002.gif)]] [[BR]] |
| 6 | Figure 1: The image above depicts the network topology used in this tutorial. |
| 7 | |
| 8 | === Prerequisites: === |
| 9 | |
| 10 | - A GENI account, if you don't have one sign up! [[BR]] |
| 11 | - Familiarity with how to reserve GENI resources (we will be using the GENI Experimenter Portal as our tool).[[BR]] |
| 12 | - Familiarity with [wiki:HowTo/LoginToNodes logging into GENI compute resources].[[BR]] |
| 13 | - Basic understanding of OpenFlow. An OpenFlow tutorial is [wiki:GENIExperimenter/Tutorials/OpenFlowOVS here]! [[BR]] |
| 14 | - Familiarity with the Unix command line.[[BR]] |
| 15 | - Familiarity with the Python programming language. We will use a controller (POX controller) written in Python for this tutorial.[[BR]] |
| 16 | - You will need to be a member of a project.[[BR]] |
| 17 | |
| 18 | |
| 19 | === Tools === |
| 20 | |
| 21 | - [http://openvswitch.org/ Open vSwitch] [[BR]] |
| 22 | - [http://www.noxrepo.org/pox/about-pox/ POX controller] |
| 23 | |
| 24 | '''Both of the tools are already installed on the machines''' where the resources are provided. If it happens not to be installed, take a look at the following tutorials to learn how to install these tools: [[BR]] |
| 25 | [wiki:HowTo/InstallOVSInProtoGENI Open vSwitch][[BR]] |
| 26 | [http://networkstatic.net/pox-openflow-controller-installation-screencast/ POX controller] [[BR]] |
| 27 | |
| 28 | Where to get help: |
| 29 | |
| 30 | [https://openflow.stanford.edu/display/ONL/POX+Wiki POX Wiki] [[BR]] |
| 31 | [http://openvswitch.org/support/ Open vSwitch] [[BR]] |
| 32 | [http://groups.geni.net/geni GENI Wiki] [[BR]] |
| 33 | |
| 34 | == Tutorial Instruction == |
| 35 | {{{ |
| 36 | #!html |
| 37 | |
| 38 | |
| 39 | <table id="Table_01" height="409" border="0" cellpadding="0" cellspacing="0"> |
| 40 | <tr> |
| 41 | <td> |
| 42 | <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/NFV/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> |
| 43 | </td> |
| 44 | <td> |
| 45 | <ul> |
| 46 | <li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/NFV/DesignSetup">Part I: Design/Setup</a></li> |
| 47 | <ul> |
| 48 | <li>Step 1: Design the experiment</li> |
| 49 | <li>Step 2: Establish the environment</li> |
| 50 | <li>Step 3: Obtain resources</li> |
| 51 | </ul></ul> |
| 52 | </td> |
| 53 | </tr> |
| 54 | <tr> |
| 55 | <td> |
| 56 | <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/NFV/Execute"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/execute.png?format=raw" width="152" height="143" alt="Execute"></a> |
| 57 | </td> |
| 58 | <td> |
| 59 | <ul> |
| 60 | <li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/NFV/Execute">Part II: Execute</a></li> |
| 61 | <ul> |
| 62 | <li>Step 4: Login to VMs </li> |
| 63 | <li>Step 5: Configure and initialize services </li> |
| 64 | <li>Step 6: Execute expriment </li> |
| 65 | </ul></ul> |
| 66 | </td> |
| 67 | </tr> |
| 68 | <tr> |
| 69 | <td> |
| 70 | <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/NFV/Finish"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/finish.png?format=raw" width="152" height="114" alt="Finish"></a> |
| 71 | </td> |
| 72 | |
| 73 | <td> |
| 74 | <ul> |
| 75 | <li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/NFV/Finish">Part III: Finish</a></li> |
| 76 | <ul> |
| 77 | <li>Step 7: Teardown Experiment</li> |
| 78 | <li>Step 8: Release resources</li> |
| 79 | </ul></ul> |
| 80 | </td> |
| 81 | |
| 82 | </tr> |
| 83 | </table> |
| 84 | |
| 85 | |
| 86 | |