Version 40 (modified by 11 years ago) (diff) | ,
---|
This page contains a list of tutorials and assignments that you might consider using in your class. If you would like to include a hands-on tutorial in a GENI event, then you should look for the exercises that are meant to be given during a class.
GENI-Related tutorials and assignments
The purpose of these tutorials are to familiriaze students with GENI and GENI concepts. Based on what is the intended purpose of your class you might decide which ones are more appropriate.
Lab 0: My first GENI Experiment
Link to exercise
Type: Tutorial (Instructor-led mode preferred)
Purpose: Setup students accounts correctly through a simple GENI experiment and familiarize students with the process of setting up an experiment.
Resources: 2VMs (EG, IG, PG)
Duration: 2h
This lab is highly recommended as a first lab that the students do in the class with help from an instructor or as the basic hands-on exercise in a GENI event.
Understanding the AM API and Omni
Link to exercise
Type:Tutorial (Instructor-led mode preferred)
Purpose: Students understand how GENI reservation process work and get familiar with the GENI common Aggregate Manager API (GENI AM API), the students also learn how to use Omni
Resources:2 VMs (EG, IG, PG)
Duration: 2h
Network-understanding
IPv4 Routing
Link to exercise
Type: Assignment
Purpose: Students will understand how IPv4 forwarding works and how to configure static routes.
Resources:3 VMs (EG)
Difficulty: easy
TCP Network Awareness
Link to exercise
Type: Assignment
Purpose: Students explore the difference between different TCP flavors and TCP parameters.
Resources:4 VMs (EG, IG, PG)
Difficulty: medium
FTP vs UDT
Link to exercise
Type: Assignment
Purpose: Students will understand the difference between TCP and UDP by comparing the behavior of two different file transfer applications (FTP, UDT) under varying network conditions.
Resources:3 PCs (PG)
Difficulty: medium
Create a Firewall with OpenFlow
Link to exercise
Type: Assignment
Purpose: Students will understand how network firewalls work and get to write their own OpenFlow controller.
Difficulty: hard
Resources:6 VMs - EG/6PCs-PG
Extra tools: OpenFlow
New Routing Algorithms
Load balancing router using OpenFlow
Link to exercise
Type: Assignment
Purpose: Students will understand how load balancing works and get to write their own OpenFlow controller.
Resources:4 VMs - EG/4PCs-PG
Difficulty: hard
Extra tools: OpenFlow
Content Networking
Link to exercise
This exercise is over a year old and portions of it may not work. Please email tutorials@geni.net if you are considering using it in your class. We are working with the original authors to update it.
Type: Assignment
Purpose: Students will learn about Content Centric networking and get to experiment with a non-IP routing protocol, ccnx.
Difficulty: moderate
Extra tools: ccnx
Distributed systems
Link to exercise
Type: Assignment
Purpose: Students will learn about the client-server model through configuring and writing a webserver
Resources:2 VMs
Difficulty: medium
Example Class assignments
If you would like to use GENI in your classroom, these are some of sample assignments that you can use. If you have used GENI in your classroom, please feel free to add your assignments to this wiki page so that others can use them.
Compare UDT and FTP | In this example experiment, you will compare the behavior of two different transport protocols, UDT and TCP, under varying network conditions. You will use ProtoGENI hosts to build your network. In order to try this example experiment, you should have GENI credentials and be familiar with using either the Flack GUI tool or the omni command line tool. Learn more about credentials at SignMeUp or by sending us mail help@geni.net. |
TCP Network Awareness | The objective of this assignment is to familiarize you with the details of TCP congestion control, and the impact of network conditions on the TCP congestion control algorithms. In order to try this example experiment, you should have GENI credentials and be familiar with using either the Flack GUI tool or the omni command line tool. Learn more about credentials at SignMeUp or by sending us mail help@geni.net. |
Flow Management with OpenFlow | The objective of this assignment is to familiarize you with the software-defined networking, as well OpenFlow technology. A moderately deep understanding of the OpenFlow controller model and API is required for this project. You will design and implement OpenFlow controllers and associated experiment topologies to implement a basic firewall and a simple load balancer. In order to try this example experiment, you should have GENI credentials and be familiar with using either the Flack GUI tool or the omni command line tool. Learn more about credentials at SignMeUp or by sending us mail help@geni.net. |
Build a Web Server | In this assignment you will build a functional web server. This assignment will guide you through the basics of distributed programming, client/server structures, and issues in building high performance servers. You will use ProtoGENI hosts to build your network. In order to try this example experiment, you should have GENI credentials and be familiar with using either the Flack GUI tool or the omni command line tool. Learn more about credentials at SignMeUp or by sending us mail help@geni.net. |
New Assignments
Content Network Assignment This exercise is over a year old and portions of it may not work. Please email tutorials@geni.net if you are considering using it in your class. We are working with the original authors to update it. | ||
OpenFlow FireWall Exercise | ||
OpenFlow Load Balancer Assignment | ||
TCP Assignment |
GENI Tutorials
This is a repository of tutorials that you can use if you want to teach GENI and/or GENI tools. If you need help with putting together a tutorial please contact us at help@geni.net
Intro to Flack Tutorial | 2h. | This is a tutorial for teaching users how to use Flack. Flack is a graphical tool that helps user reserve resources. | GENI Resources: ProtoGENI, GENI Accounts: emulab (e.g. pgeni.gpolab.bbn.com) | |
Intro to Omni Tutorial | 2h. | This is a tutorial for teaching users how to use Omni. Omni is a command line tool for reserving GENI resources, and thus can help users automate their experiments. The tutorial guides the attendees through a very simple layer 2 example while introducing all the omni commands | GENI Resources: ProtoGENI, GENI Accounts: emulab (e.g. pgeni.gpolab.bbn.com) |