wiki:GENIExperimenter/RTutorials

Version 76 (modified by rrhain@bbn.com, 5 years ago) (diff)

--

GENI Experiment and Assignment Repository

First GENI Experience: Hello, GENI! http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/Images/HelloGENIServerScreen.png In this introductory GENI experiment, you will walk step-by-step through the process of setting up and running your first GENI experiment.
First Omni Experience: Hello, Omni! http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/Omni/omni-pic.png In this introductory Omni experiment, you will walk step-by-step through the process of setting up and running your first GENI experiment, using this command line tool.
Lab Zero: A First Experiment Using GENI
Versions: Jacks or jFed Tools
http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/Images/JacksScreen.png http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/Images/jFedScreen.png This is a first, simple experiment on GENI useful for familiarizing new experimenters with GENI and the tools for using GENI. The high levels goals for this exercise are to:

1. Do a simple but complete GENI experiment.
2. Learn and use 5 GENI terms: experimenter, project, slice, resource, and aggregate.
3. Use the GENI Experimenter Portal and Jacks or jFed.
Lab One: Understanding the AM API using Named Data Networking http://groups.geni.net/geni/raw-attachment/wiki/GENIEducation/SampleAssignments/LabZero/Graphics/ccn_topology.png This is a first, simple experiment on GENI useful for familiarizing new experimenters with GENI and the tools for using GENI. The high levels goals for this exercise are to:

1. Understand what happens behind the scenes when you run and experiment in GENI
2. Learn about RSpecs and the GENI AM API
3.Learn about the Omni experimenter tool.

You will learn these concepts by running an experiment based on the Named Data Networking (NDN) Future Internet Architecture. NDN software will be installed on the nodes in your network and you will run an application on top of the NDN software that fetches content by name. Optionally, you can instrument you application using the GENI Desktop to see graphs of traffic on the network links. This will give you greater insight into when application data is fetched from a cache and when it comes all the way from a data source.
Introduction to OpenFlow using POX? http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Graphics/SimpleOpenFlow.jpg This 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:

1. A controller that will duplicate all the traffic of the OpenFlow switch out a specific port.
2. A TCP Port Forward controller will divert all traffic destined to host A on TCP port X to TCP port Y.
3. And a Proxy Controller will divert all traffic destined to host A, TCP port X to host B, TCP port Y.

In this tutorial we have a choice of using an OpenFlow Software Switch (Open vSwitch (OVS)) or using an OpenFlow-Capable Hardware Switch.
Experiment Orchestration and Instrumentation using LabWIKI http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/Images/LabWikiScreen.png Learn how to use the LabWiki tool to plan, prepare, and execute experiments in GENI testbeds. Learn these steps by creating a simple star topology in which the central node will implement an OF-based learning switch and the functionality of that switch will be verified through an experiment script.
Running a WebServer http://groups.geni.net/geni/raw-attachment/wiki/WebServerExample/WebsrvIndex.png The goal of this assignment is to build a functional web server. This assignment will guide you through you the basics of distributed programming, client/server structures, and issues in building high performance servers.
Stitching Tutorial http://groups.geni.net/geni/raw-attachment/wiki/WebServerExample/WebsrvIndex.png This tutorial will guide you through a stitching experiment where you will:

1. Use Jacks to modify an existing experiment RSpec to generate a stitching RSpec.
2. Create a sliver with 3 hosts with one stitched link.
3. Run an experiment to compare performance between a stitched link connecting two sites and a local link connecting two hosts in the same rack.

See the Index of All GENI Tutorials.