== GENI Experiment and Assignment Repository == A small but growing repository for archived and example experiments and classroom materials, plus some material for your not-too-serious reading enjoyment. You may also find the list of [wiki:GENIEducation/SampleAssignments classroom exercises] of interest (especially [wiki:GENIExperimenter/Tutorials/GettingStarted_PartI/AtHome Lab Zero] and [wiki:GENIEducation/SampleAssignments/UnderstandAMAPI/AtHome Lab One]). || [wiki:GENIExperimenter/Tutorials/RunHelloGENI First GENI Experience: Hello, GENI!] || [[Image(http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/Images/HelloGENIServerScreen.png, nolink, 20%)]] || In this introductory GENI experiment, you will walk step-by-step through the process of setting up and running your first GENI experiment. || || [wiki:GENIExperimenter/Tutorials/RunHelloOmni First Omni Experience: Hello, Omni!] || [[Image(http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/Omni/omni-pic.png, nolink, 20%)]] || In this introductory [http://trac.gpolab.bbn.com/gcf/wiki/Omni 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. || || [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartI/Procedure Lab Zero: A First Experiment Using GENI and Jacks Tool] || [[Image(http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/Images/JacksScreen.png, nolink, 20%)]] || 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 [http://portal.geni.net GENI Experimenter Portal] and Jacks. || || [wiki:GENIExperimenter/Tutorials/jFed/GettingStarted_PartI/Procedure Lab Zero: A First Experiment Using GENI and jFed Tool] || [[Image(http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/Images/JacksScreen.png, nolink, 20%)]] || 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 [http://portal.geni.net GENI Experimenter Portal] and jFed. || || [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartII_ccn/Procedure Lab One: Understanding the AM API using Named Data Networking] || [[Image(http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/Images/JacksScreen.png, nolink, 20%)]] || 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. || || [wiki:GENIExperimenter/Tutorials/OpenFlowIntro Introduction to OpenFlow using POX] || [[Image(http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/Images/JacksScreen.png, nolink, 20%)]] || 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: write a controller that will duplicate all the traffic of the OpenFlow switch out a specific port; a TCP Port Forward controller will divert all traffic destined to host A on TCP port X to TCP port Y; 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. || || [wiki:GEC21Agenda/LabWiki Experiment Orchestration and Instrumentation using LabWIKI] || [[Image(http://groups.geni.net/geni/raw-attachment/wiki/GENIExperimenter/Tutorials/Images/LabWikiScreen.png, nolink, 20%)]] || 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. ||