wiki:GENIEducation/SampleAssignments

Version 62 (modified by Vic Thomas, 6 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.

1. Introduction to GENI

Lab Zero: My first GENI Experiment

Link to exercise (highly recommended as a first lab that the students do in the class with help of an instructor)
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)
Duration: 1h
POC: Experimenter support, GENI Project Office

Lab One: 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:4 VMs (IG)
Duration: 1h
POC: Experimenter support, GENI Project Office

GENI Desktop Basics

Link to exercise
Type: Self-guided tutorial
Purpose: Teach the basics of instrumenting a slice and viewing measurement data using the GENI Destop
Resources: 2 VMs (IG)
Duration: 1h
POC: Jay Aikat, University of North Carolina, Chapel Hill

2. Networking Basics

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
POC: Mike Zink, University of Massachusetts, Amherst

TCP Congestion Control

Link to exercise
Type: Assignment or in-class demo
Purpose: Give students experience generating and analyzing TCP flows. Students will use iperf to create a flow and view the sawtooth behavior. A second flow will then be introduced to show how TCP flows share a link.
Resources: 2 VMs (IG). Uses the GENI Desktop to visualize flows.
Duration: 20 minutes for in-class demo
Difficulty: Easy/Moderate
POC: Jay Aikat, University of North Carolina, Chapel Hill

Effect of RTT and Window Size on TCP Throughput

Link to exercise
Type: Assignment or in-class demo
Purpose: Experiment with how RTT and TCP window size affect TCP throughput. Learn how to adjust the RTT of a TCP connection by adding delay, as well as how to adjust the window size of an iperf TCP flow
Resources: 2 VMs (IG). Uses the GENI Desktop to visualize flows.
Duration: 20 minutes for in-class demo
Difficulty:Moderate
POC: Jay Aikat, University of North Carolina, Chapel Hill

Traffic analysis

to exercise
Type: Assignment
Purpose: Learn to use tcpdump to capture and analyze network traffic
Resources: 2 VMs (IG). Uses the GENI Desktop to visualize flows.
Duration: 1 hour
Difficulty:Moderate
POC: Jay Aikat, University of North Carolina, Chapel Hill

Learning Switch

Contact Mike Zink, U. of Mass
Type: Assignment
Purpose: Implementation of the learning switch capability that is used by Ethernet switches. Develop a five-port learning switch using a software-based OpenFlow switch. This exercise uses the LabWiki tool.
Difficulty: Moderate/advanced
POC: Mike Zink, University of Massachusetts, Amherst

3. Advanced Networking

OpenFlow based Load Balancing Router

Contact Mike Zink, U. of Mass
Type: Assignment
Purpose: Implement of a load balancer using OpenFlow switches (OVS switches) and a controller capable of collecting flow stats. The exercise includes a template for a Trema-based controller. Only a few methods need to implemented to get the required functionality. Resources: 6 VMs. Difficulty: Moderate/advanced
POC: Mike Zink, University of Massachusetts, Amherst

OpenFlow based Load Balancing Router

Contact Mike Zink, U. of Mass
Type: Assignment
Purpose: Implement of a load balancer using OpenFlow switches (OVS switches) and a controller capable of collecting flow stats. The exercise includes a template for a Treme-based controller. Only a few methods need to implemented to get the required functionality.
Resources: 7 VMs (including a VM for the OpenFlow controller)
Difficulty: Moderate/advanced
POC: Mike Zink, University of Massachusetts, Amherst

VLC/Dynamic Adaptive Streaming over HTTP

Contact Mike Zink, U. of Mass
Type: Assignment
Purpose: Give students a better understanding of how Dynamic Adaptive Streaming over Http (DASH) works. It builds on the "Load Balancing Router" exercise and uses the same topology. VLC parameters such as VLC decision bit rate (actual measured bit rate), VLC empirical rate (instant measured throughput) are measured and displayed using GIMI tools.
Resources: 7 VMs (including a VM for the OpenFlow controller)
Difficulty: Moderate/advanced
POC: Mike Zink, University of Massachusetts, Amherst

Content Centric Networking

Link to exercise
Type: Assignment
Purpose: Students learn about Content Centric networking and get to experiment with a non-IP routing protocol.
Resources: 4 VMs
Tools: The GENI Portal. Option to use the GENI Desktop to visualize information caching and retreival in a content centric network.
Difficulty: moderate
POC: Experimenter support, GENI Project Office

Network Function Virtualization: OpenFlow based Firewall

Link to exercise
Type: Assignment
Purpose: Introduce NFV concepts by making an OpenFlow controlled OVS switch function as a network firewall. Much of the code for the Ryu-based controller is provided. Uses the same topology as the OpenFlow-based NAT exercise.
Resources: 4 VMs
Difficulty: Moderate/advanced
POC: Experimenter support, GENI Project Office

Network Function Virtualization: OpenFlow based NAT

Link to exercise
Type: Assignment
Purpose: Introduce NFV concepts by making an OpenFlow controlled OVS switch function as a network firewall. Much of the code for the Ryu-based controller is provided. Uses the same topology as the OpenFlow-based NAT exercise.
Resources: 4 VMs
Difficulty: Moderate/advanced
POC: Experimenter support, GENI Project Office

Distributed Systems

Cloud Computing

Wireless Networking

GENI-based MOOCs

New Course Modules

Recently developed course modules: New Course Modules