wiki:GENIEducation/SampleAssignments

Version 66 (modified by Vic Thomas, 7 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. Getting Started with GENI

Exercise Objective Type Duration Resources Link to Exercise Contact
Lab Zero: My first GENI Experiment Verify accounts and environment are set up correctly; familiarize students with the process of running an experiment on GENI (highly recommended as a first lab that students do in the class with help of an instructor) Tutorial (preferably Instructor-led) 1 hour 2 VMs (EG or IG) Link Experimenter support, GENI Project Office
Lab One: Understanding the AM API and Omni Understand how the GENI reservation process works, get familiar with the GENI Aggregate Manager API (GENI AM API), learn to use Omni. Tutorial (preferably Instructor-led) 1 hour 4 VMs (IG) Link Experimenter support, GENI Project Office
GENI Desktop Basics Learn the basics of instrumenting a slice and viewing measurement data using the GENI Desktop. The GENI Desktop is used by some of the exercises listed below. Self-guided tutorial 1 hour 2 VMs (IG) Link to exercise Jay Aikat, University of North Carolina, Chapel Hill

2. Networking Basics

Exercise Objective Type Difficulty Resources Link to Exercise Contact
IPv4 Routing Understand how IPv4 forwarding works and how to configure static routes Assignment Easy 3 VMs (EG) Link to exercise Mike Zink, University of Massachusetts, Amherst
TCP Congestion Control 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. Assignment or 20-min in-class demo Easy/Moderate 2 VMs (IG). Uses the GENI Desktop to visualize flows. http://www.cs.unc.edu/Research/geni/geniEdu/03-TcpTraffic.html 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

OSPF

Link to exercise
Type: Assignment or in-class demo
Purpose: experiment with the OSPF routing protcol, observing how it updates it's neighbor table, and how it dynamically routes around downed links.
Resources: 4 VMs (IG).
Duration: 20 minutes for in-class demo, 1 hour as assignment
Difficulty:Easy
POC: Jay Aikat, University of North Carolina, Chapel Hill

Traffic analysis

Link 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

4. Distributed Systems

Web Server

Link to exercise
Type: Assignment
Purpose: Get hands-on experience installing and interacting with a web server.
Resources: 2 VMs (IG).
Duration: 1 hour
Difficulty:Easy
POC: Jay Aikat, University of North Carolina, Chapel Hill

5. Wireless Networking

NYU Poly has developed a set of wireless exercises that use GENI wireless resources. They have a fully hosted Classroom-as-a-Service for instructors to set up class specific web pages for students to log in and run experiments, for instructors to monitor how the class is doing, and to grade the exercises.

POC: Thanasis Korakis and Fraida Fund.

6. Cloud Computing

7. GENI-based MOOCs

New Course Modules

Recently developed course modules: New Course Modules