wiki:GENIEducation/SampleAssignments

Version 79 (modified by Vic Thomas, 9 years ago) (diff)

--

GENI-Based Classroom Exercises

This page lists exercises that help students develop a deeper understanding of networking concepts taught in the classroom by running experiments on GENI. Instructors may also want to look at the tutorials for experimenters as many of them can be easily adapted for use as student labs/exercises.

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 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 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. Link Jay Aikat, University of North Carolina, Chapel Hill
Effect of RTT and Window Size on TCP Throughput 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 Assignment or 20-min in-class demo Moderate 2 VMs (IG). Uses the GENI Desktop to visualize flows. Link Jay Aikat, University of North Carolina, Chapel Hill
Exploring Queues Explore the effects of queues on packet loss and delay using UDP traffic. Use iperf to send UDP traffic from a source to a destination through an intermediate bottleneck router which will develop a queue. Assignment or 15-min in-class demo Easy/moderate 3 VMs (IG) Link Jay Aikat, University of North Carolina, Chapel Hill
OSPF Experiment with the OSPF routing protcol, observing how it updates it's neighbor table, and how it dynamically routes around downed links. Assignment or in-class demo Easy 4 VMs (IG) Link Jay Aikat, University of North Carolina, Chapel Hill
Traffic Analysis Learn to use tcpdump to capture and analyze network traffic Assignment Moderate 2 VMs (IG). Uses the GENI Desktop to visualize flows. Link Jay Aikat, University of North Carolina, Chapel Hill
Learning Switch Implement the learning switch capability used by Ethernet switches. Develop a five-port learning switch using a software-based OpenFlow switch. Uses the LabWiki tool. Assignment Moderate/advanced 6 VMs Contact Mike Zink, U. of Mass Mike Zink, University of Massachusetts, Amherst

3. Advanced Networking

Exercise Objective Type Difficulty Resources Link to Exercise Contact
Content Centric Networking (CCN) Run an application over a CCN protocol stack and observe how content is fetched. Optional: Use GENI Desktop to view traffic flows in the CCN Assignment Easy/moderate 4 VMs (IG) Link Experimenter support, GENI Project Office
Network Function Virtualization: OpenFlow based Firewall 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. Assignment Moderate/advanced 4 VMs (IG) Link Experimenter support, GENI Project Office
Network Function Virtualization: OpenFlow based NAT 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 Firewall exercise. Assignment Moderate/advanced 4 VMs (IG) Link Experimenter support, GENI Project Office
Traffic Generation Learn principles of traffic generation using Tmix, a tool for generating realistic network traffic Assignment or 15-min in-class demo Easy/Moderate 2 VMs (IG) Link Jay Aikat, University of North Carolina, Chapel Hill
OpenFlow based Load Balancing Router 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. Uses the LabWiki tool. Assignment Moderate/advanced 7 VMs (including a VM for the OpenFlow controller) Contact Mike Zink, U. of Mass Mike Zink, University of Massachusetts, Amherst

4. Distributed Systems

Exercise Objective Type Difficulty Resources Link to Exercise Contact
Web Server Get hands-on experience installing and interacting with a web server. Assignment Easy 2 VMs (IG) Link Jay Aikat, University of North Carolina, Chapel Hill
VLC/Dynamic Adaptive Streaming over HTTP 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. Assignment Moderate/advanced 7 VMs (including a VM for the OpenFlow controller) Contact Mike Zink, U. of Mass Mike Zink, University of Massachusetts, Amherst

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.

Contacts: Thanasis Korakis and Fraida Fund.

6. Cloud Computing

Prasad Calyam of the University of Missouri has used GENI for his Cloud Computing classes and will be happy to share his ideas for labs on GENI. Information regarding the class exercises utilizing GENI can be found here. Please feel free to email him for further information.

7. GENI-based MOOCs

NYU Poly has developed a set of course modules for teaching basic networking concepts for those with very little to no background in Computer Science or networking. These modules are in in Massive Open Online Course (MOOC) format. These modules include hands-on exercises that teach networking concepts without the need for programming. Topics covered include the Internet routing, adaptive video streaming, net neutrality and big data with Hadoop and MapReduce.

Website: http://hyperion.poly.edu

Contacts: Thanasis Korakis and Fraida Fund.