= NFV Tutorial: Managing a Virtual Network Function using SDN and Control Theory = == Overview == 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. ''' [[Image(http://csr.bu.edu/rina/grw-bu2016/tutorial_files/image002.gif)]] [[BR]] Figure 1: The image above depicts the network topology used in this tutorial. === Prerequisites: === - A GENI account, if you don't have one sign up! [[BR]] - Familiarity with how to reserve GENI resources (we will be using the GENI Experimenter Portal as our tool).[[BR]] - Familiarity with [wiki:HowTo/LoginToNodes logging into GENI compute resources].[[BR]] - Basic understanding of OpenFlow. An OpenFlow tutorial is [wiki:GENIExperimenter/Tutorials/OpenFlowOVS here]! [[BR]] - Familiarity with the Unix command line.[[BR]] - Familiarity with the Python programming language. We will use a controller (POX controller) written in Python for this tutorial.[[BR]] - You will need to be a member of a project.[[BR]] '''Note''': Another version of this tutorial using the [https://osrg.github.io/ryu/ Ryu controller ] is also provided, and details can be found [wiki:GENIExperimenter/Tutorials/NFV/Ryu here]. [[BR]] === Tools === - [http://openvswitch.org/ Open vSwitch] [[BR]] - [http://www.noxrepo.org/pox/about-pox/ POX controller] '''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]] [wiki:HowTo/InstallOVSInProtoGENI Open vSwitch][[BR]] [http://networkstatic.net/pox-openflow-controller-installation-screencast/ POX controller] [[BR]] Where to get help: [https://openflow.stanford.edu/display/ONL/POX+Wiki POX Wiki] [[BR]] [http://openvswitch.org/support/ Open vSwitch] [[BR]] [http://groups.geni.net/geni GENI Wiki] [[BR]] == Tutorial Instruction == {{{ #!html
Design/Setup
  • Part I: Design/Setup
    • Step 1: Design the experiment
    • Step 2: Establish the environment
    • Step 3: Obtain resources
Execute
  • Part II: Execute
    • Step 4: Login to VMs
    • Step 5: Configure and initialize services
    • Step 6: Execute expriment
Finish