GENI logo

GENIEducation / SampleAssignments

GENI-Based Classroom Exercises

Topic Title Description Format Level Nodes IG EG Other Contact
Topic Title Description Format Level Nodes IG EG Other Contact
Getting Started 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 the first lab students do in the class with instructor help) Tutorial Newbie 2  GENI Project Office
Getting Started 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 Beginner 4  GENI Project Office
Getting Started GENI Desktop Basics Learn the basics of instrumenting a slice and viewing measurement data using the GENI Desktop. Tutorial Beginner 2  Jay Aikat
Networking Basics IPv4 Routing Understand how IPv4 forwarding works and how to configure static routes Assignment Beginner 3  Mike Zink
Networking Basics TCP/IP protocol layers Examine network addresses and connections at the network access (a.k.a. data link) layer, the Internet layer, the transport layer, and the application layer. Assignment Beginner 3  Fraida Fund
Networking Basics 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. Uses the GENI Desktop to visualize flows. Assignment Intermediate 2  Jay Aikat
Networking Basics 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. Uses the GENI Desktop to visualize flows. Assignment Advanced 2  Jay Aikat
Networking Basics 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 Intermediate 3  Jay Aikat
Networking Basics OSPF Experiment with the OSPF routing protcol, observing how it updates it's neighbor table, and how it dynamically routes around downed links. Assignment Beginner 4  Jay Aikat
Networking Basics Traffic Analysis Learn to use tcpdump to capture and analyze network traffic. Uses the GENI Desktop to visualize flows. Assignment Advanced 2  Jay Aikat
Networking Basics OpenFlow 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 Expert 6 ? ?  Mike Zink
Networking Basics Babel - a loop-avoiding distance-vector routing protocol See how routes are added and updated dynamically as new nodes join a network, and as links are broken and recover. Tutorial Intermediate 7  Fraida Fund
Networking Basics Nyquist formula: relating data rate and bandwidth Verify the relationship between data transmission rate, bandwidth, and modulation scheme, as described by the Nyquist formula. Tutorial Beginner 2 ORBIT or WITest  Fraida Fund
Advanced Networking 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 Intermediate 4  GENI Project Office
Advanced Networking 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 Expert 4  GENI Project Office
Advanced Networking 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 Expert 4  GENI Project Office
Advanced Networking Traffic Generation Learn principles of traffic generation using Tmix, a tool for generating realistic network traffic Assignment Intermediate 2  Jay Aikat
Advanced Networking 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. The 7 VMs include a VM for the OpenFlow controller. Assignment Expert 7 ? ?  Mike Zink
Advanced Networking 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. Tutorial Expert 2  Fraida Fund
Advanced Networking 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? Tutorial Beginner 5  Fraida Fund
Advanced Networking 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%. Note this experiment can take a long time, running overnight without user intervention. Tutorial Beginner 3  Fraida Fund
Distributed Systems Web Server Get hands-on experience installing and interacting with a web server. Assignment Beginner 2  Jay Aikat
Distributed Systems 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. The 7 VMs include an OpenFlow controller. Assignment Expert 7 ? ?  Mike Zink
Distributed Systems Bitcoin: reaching consensus in distributed systems Explores the problem of consensus in distributed systems in the context of Bitcoin, a distributed currency. Tutorial Beginner 5  Fraida Fund
Wireless Networking Adaptive modulation and coding in cellular networks Shows how adaptive modulation and coding profiles are assigned to wireless clients in a (WiMAX) cellular network. Tutorial Expert WITest instructors: Fraida Fund, students: WITest help
Wireless Networking 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. Tutorial Expert WITest instructors: Fraida Fund, students: WITest help
Wireless Networking TCP congestion control in lossy wireless networks Shows some of the basic issues affecting TCP congestion control in lossy wireless networks. Tutorial Expert WITest instructors: Fraida Fund, students: WITest help
Wireless Networking Capture and decode FM radio Teaches the basics of FM signal processing using software-defined radio. Tutorial Intermediate ORBIT instructors: Fraida Fund, students: ORBIT help
Wireless Networking 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 Expert WITest  Fraida Fund
Wireless Networking Frequency hopping spread spectrum Learn how a frequency hopping transmitter works and observe at FHSS signal transmitted over the air using software defined radio devices. Tutorial Intermediate ORBIT  Fraida Fund
Security 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. Tutorial Advanced ORBIT instructors: Fraida Fund, students: ORBIT help
Security 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. Tutorial Intermediate
2
 Fraida Fund
Security Redirect traffic to a wrong or fake site with DNS spoofing on a LAN Experimental demonstration of two ways a malicious attacker might use DNS spoofing to redirect traffic for a website to its own "fake" version of a website. Tutorial Intermediate 3  Fraida Fund

More Wireless

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.

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.

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.

If changes need to be made to this list, please contact Ben Newton or Jay Aikat.