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 a first lab that students do in the class with
help of an instructor) |
Tutorial (preferably Instructor-led) |
1 |
2 |
✔ |
✔ |
Experimenter support, 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 (preferably Instructor-led) |
1 |
4 |
✔ |
|
Experimenter support, GENI
Project Office |
Getting Started |
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 |
2 |
✔ |
|
Jay Aikat, University of
North Carolina, Chapel Hill |
Networking Basics |
IPv4 Routing |
Understand how IPv4 forwarding works and how to
configure static routes |
Assignment |
1 |
3 |
|
✔ |
Mike Zink, University of
Massachusetts, Amherst |
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 or 20-min in-class demo |
2 |
2 |
✔ |
|
Jay Aikat, University of
North Carolina, Chapel Hill |
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 or 20-min in-class demo |
3 |
2 |
✔ |
|
Jay Aikat, University of
North Carolina, Chapel Hill |
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 or 15-min in-class demo |
2 |
3 |
✔ |
|
Jay Aikat, University of
North Carolina, Chapel Hill |
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 or in-class demo |
1 |
4 |
✔ |
|
Jay Aikat, University of
North Carolina, Chapel Hill |
Networking Basics |
Traffic Analysis |
Learn to use tcpdump to capture and analyze
network traffic. Uses the GENI Desktop to visualize
flows. |
Assignment |
3 |
2 |
✔ |
|
Jay Aikat, University of
North Carolina, Chapel Hill |
Networking Basics |
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 |
4 |
6 |
? |
? |
Mike Zink, University of
Massachusetts, Amherst |
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 |
2 |
4 |
✔ |
|
Experimenter support, 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 |
4 |
4 |
✔ |
|
Experimenter support, 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 |
4 |
4 |
✔ |
|
Experimenter support, GENI
Project Office |
Advanced Networking |
Traffic Generation |
Learn principles of traffic generation using
Tmix, a tool for generating realistic network
traffic |
Assignment or 15-min in-class demo |
2 |
2 |
✔ |
|
Jay Aikat, University of
North Carolina, Chapel Hill |
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 |
4 |
7 |
? |
? |
Mike Zink, University of
Massachusetts, Amherst |
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. |
Self-guided tutorial |
4 |
2 |
? |
? |
Fraida Fund, NYU |
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? |
Self-guided tutorial |
1 |
5 |
? |
? |
Fraida Fund, NYU |
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. |
Self-guided tutorial |
1 |
3 |
✔ |
|
Fraida Fund, NYU |
Distributed Systems |
Web Server |
Get hands-on experience installing and
interacting with a web server. |
Assignment |
1 |
2 |
✔ |
|
Jay Aikat, University of
North Carolina, Chapel Hill |
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 |
4 |
7 |
? |
? |
Mike Zink, University of
Massachusetts, Amherst |
Distributed Systems |
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 |
1 |
5 |
✔ |
|
Fraida Fund, NYU |
Wireless |
Adaptive modulation and coding in cellular
networks |
Shows how adaptive modulation and coding profiles
are assigned to wireless clients in a (WiMAX)
cellular network. Uses the WITest testbed resource. |
Self-guided tutorial |
4 |
|
|
|
For instructors: Fraida Fund, for students:
WITest help |
Wireless |
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. Uses the WITest testbed resource. |
Self-guided tutorial |
4 |
|
|
|
For instructors: Fraida Fund, for students:
WITest help |
Wireless |
TCP congestion control in lossy wireless
networks |
Shows some of the basic issues affecting TCP
congestion control in lossy wireless networks. Uses the WITest testbed resource. |
Self-guided tutorial |
4 |
|
|
|
For instructors: Fraida Fund, for students:
WITest help |
Wireless |
Capture and decode FM radio |
Teaches the basics of FM signal processing using
software-defined radio. Uses the ORBIT grid resource. |
Self-guided tutorial |
2 |
|
|
|
For instructors: Fraida Fund,for students:
ORBIT help |
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. Uses the WITest testbed resource. |
Self-guided tutorial |
3 |
|
|
|
For instructors: Fraida Fund, for 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. |
Self-guided tutorial |
2 |
2 |
? |
? |
Fraida Fund, NYU |