GENIEducation/SampleAssignments

THIS PAGE IS NO LONGER USED

Please use  this new page instead

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
Adaptive video policies for DASH video Explores the tradeoff between different metrics of video quality (average rate, interruptions, and variability of rate) in an adaptive video delivery system. This exercise is a good starting point for having students design, implement, and test their own adaptive video policies. Self-guided tutorial Moderate/advanced 2 VMs  Link (via Run My Experiment on GENI blog)  Fraida Fund, NYU
Two queues or not two queues? The benefit of statistical multiplexing Reproduces a classic result in queueing theory, statistical multiplexing gain in queues. It answers the basic question: is it faster to serve a set of requests with one fast server, or many slower servers? Self-guided tutorial Easy 5 VMs  Link (via Run My Experiment on GENI blog)  Fraida Fund, NYU
Average length of an M/M/1 queue This experiment reproduces a classic result in queueing theory: the length of the M/M/1 queue as its utilization approaches 100%. Self-guided tutorial Easy, but long (runs overnight without user intervention) 3 VMs (IG)  Link (via Run My Experiment on GENI blog)  Fraida Fund, NYU

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
Bitcoin: reaching consensus in distributed systems Explores the problem of consensus in distributed systems in the context of Bitcoin, a distributed currency. Self-guided tutorial or demo Easy 5 VMs (IG)  Link (via Run My Experiment on GENI blog)  Fraida Fund, NYU

5. Wireless

Exercise Objective Type Duration Resources Link to Exercise Contact
Adaptive modulation and coding in cellular networks Shows how adaptive modulation and coding profiles are assigned to wireless clients in a (WiMAX) cellular network Self-guided tutorial 2 hours WITest  Link (via Run My Experiment on GENI blog) For instructors:  Fraida Fund, for students:  WITest help
Channel access delay of wireless networks under different loads Highlights the difference in channel access delay between a contention-based WiFi network and a scheduled WiMAX network. Self-guided tutorial 2 hours WITest  Link (via Run My Experiment on GENI blog) For instructors:  Fraida Fund, for students:  WITest help
TCP congestion control in lossy wireless networks Shows some of the basic issues affecting TCP congestion control in lossy wireless networks. Self-guided tutorial 2 hours WItest  Link (via Run My Experiment on GENI blog) For instructors:  Fraida Fund, for students:  WITest help
Capture and decode FM radio Teaches the basics of FM signal processing using software-defined radio. Self-guided tutorial 1 hour ORBIT grid  Link (via Run My Experiment on GENI blog) For instructors:  Fraida Fund,for students:  ORBIT help
Open-ended cognitive radio design challenge Students learn about wireless communications and software radio in the context of a Spectrum Challenge-like cognitive radio competition. Advanced project Semester-long project WITest  Link for more information. Contact Fraida Fund if you're interested in running this course. For instructors:  Fraida Fund

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. Security

Exercise Objective Type Duration Resources Link to Exercise Contact
Run a Man-in-the-Middle attack on a WiFi hotspot Shows how an attacker can capture traffic on a WiFi hotspot with a simple man-in-the-middle attack. Self-guided tutorial 1-2 hours ORBIT grid  Link (via Run My Experiment on GENI blog) For instructors:  Fraida Fund, for students:  ORBIT help
Layer 7 DoS attack with slowloris This experiment explores slowloris, a Layer 7 denial of service attack that requires very little bandwidth and causes vulnerable web servers to stop accepting connections to other users. Self-guided tutorial 1 hour 2 VMs  Link (via Run My Experiment on GENI blog)  Fraida Fund, NYU

8. 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.