Changes between Version 59 and Version 60 of GENIEducation/SampleAssignments


Ignore:
Timestamp:
01/28/16 12:25:17 (8 years ago)
Author:
Vic Thomas
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIEducation/SampleAssignments

    v59 v60  
    99== 1. Introduction to GENI ==
    1010=== Lab Zero: My first GENI Experiment ===
    11 [wiki:GENIExperimenter/Tutorials/GettingStarted_PartI/ForInstructors Link to materials] (recommended) [[BR]]
     11[wiki:GENIExperimenter/Tutorials/GettingStarted_PartI/ForInstructors Link to exercise] ('''highly recommended''' as a first lab that the students do in the class with help of an instructor) [[BR]]
    1212'''Type:''' Tutorial (Instructor-led mode preferred) [[BR]]
    1313'''Purpose:''' Setup students accounts correctly through a simple GENI experiment and familiarize students with the process of setting up an experiment. [[BR]]
    14 '''Resources:''' 2VMs (EG, IG, PG)[[BR]]
    15 '''Duration:''' 1h [[BR]][[BR]]
    16 This lab is '''highly recommended''' as a first lab that the students do in the class with help from an instructor or as the basic hands-on exercise in a GENI event.
     14'''Resources:''' 2VMs (EG, IG)[[BR]]
     15'''Duration:''' 1h [[BR]]
     16'''POC:''' [mailto:tutorials@geni.net Experimenter support], GENI Project Office
    1717
    1818=== Lab One: Understanding the AM API and Omni ===
    19 [wiki:GENIExperimenter/Tutorials/GettingStarted_PartII_ccn/ForInstructors Link to materials] [[BR]]
     19[wiki:GENIExperimenter/Tutorials/GettingStarted_PartII_ccn/ForInstructors Link to exercise] [[BR]]
    2020'''Type:'''Tutorial (Instructor-led mode preferred)  [[BR]]
    2121'''Purpose:''' Students understand how GENI reservation process work and get familiar with the GENI common Aggregate Manager API (GENI AM API), the students also learn how to use Omni [[BR]]
    22 '''Resources:'''4 VMs (EG)[[BR]]
    23 '''Duration:''' 1h [[BR]][[BR]]
     22'''Resources:'''4 VMs (IG) [[BR]]
     23'''Duration:''' 1h [[BR]]
     24'''POC:''' [mailto:tutorials@geni.net Experimenter support], GENI Project Office
     25
     26=== GENI Desktop Basics ===
     27[http://www.cs.unc.edu/Research/geni/geniEdu/01-Instrumentation.html Link to exercise] [[br]]
     28'''Type:''' Self-guided tutorial [[br]]
     29'''Purpose:''' Teach the basics of instrumenting a slice and viewing measurement data using the GENI Destop [[br]]
     30'''Resources:''' 2 VMs (IG) [[BR]]
     31'''Duration:''' 1h [[BR]]
     32'''POC:''' [mailto:aikat@cs.unc.edu Jay Aikat], University of North Carolina, Chapel Hill
    2433
    2534== 2. Networking Basics ==
     
    2938'''Purpose:''' Students will understand how IPv4 forwarding works and how to configure static routes.  [[BR]]
    3039'''Resources:''' 3 VMs (EG).  [[BR]]
    31 '''Difficulty:''' Easy [[BR]][[BR]]
     40'''Difficulty:''' Easy [[br]]
     41'''POC:''' [mailto:mzink@cas.umass.edu Mike Zink], University of Massachusetts, Amherst
     42
    3243
    3344=== TCP Congestion Control ===
     
    3748'''Resources:''' 2 VMs (IG).  Uses the GENI Desktop to visualize flows. [[BR]]
    3849'''Duration:''' 20 minutes for in-class demo [[br]]
    39 '''Difficulty:''' !Easy/Moderate
     50'''Difficulty:''' !Easy/Moderate [[br]]
     51'''POC:''' [mailto:aikat@cs.unc.edu Jay Aikat], University of North Carolina, Chapel Hill
     52
    4053
    4154=== Effect of RTT and Window Size on TCP Throughput ===
     
    4558'''Resources:''' 2 VMs (IG).  Uses the GENI Desktop to visualize flows. [[BR]]
    4659'''Duration:''' 20 minutes for in-class demo [[br]]
    47 '''Difficulty:'''Moderate
    48 
    49 {{{
    50 #!comment
    51 === FTP vs UDT ===
    52 [wiki:UDTExampleExperiment Link to exercise][[BR]]
    53 '''Type:''' Assignment [[BR]]
    54 '''Purpose:''' Students will understand the difference between TCP and UDP by comparing the behavior of two different file transfer applications (FTP, UDT) under varying network conditions.[[BR]]
    55 '''Resources:'''3 PCs (PG)[[BR]]
    56 '''Difficulty:''' medium [[BR]][[BR]]
    57 }}}
     60'''Difficulty:'''Moderate [[br]]
     61'''POC:''' [mailto:aikat@cs.unc.edu Jay Aikat], University of North Carolina, Chapel Hill
     62
    5863
    5964=== Learning Switch ===
     
    6166'''Type:'''  Assignment [[BR]]
    6267'''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. [[br]]
    63 '''Difficulty:''' Moderate/advanced
     68'''Difficulty:''' Moderate/advanced [[br]]
     69'''POC:''' [mailto:mzink@cas.umass.edu Mike Zink], University of Massachusetts, Amherst
     70
    6471
    6572== 3. Advanced Networking ==
     
    6976'''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.
    7077'''Resources:''' 6 VMs.
    71 '''Difficulty:''' Moderate/advanced
     78'''Difficulty:''' Moderate/advanced [[br]]
     79'''POC:''' [mailto:mzink@cas.umass.edu Mike Zink], University of Massachusetts, Amherst
     80
    7281
    7382=== OpenFlow based Load Balancing Router ===
     
    7685'''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. [[br]]
    7786'''Resources:''' 7 VMs (including a VM for the !OpenFlow controller) [[br]]
    78 '''Difficulty:''' Moderate/advanced
     87'''Difficulty:''' Moderate/advanced [[br]]
     88'''POC:''' [mailto:mzink@cas.umass.edu Mike Zink], University of Massachusetts, Amherst
     89
    7990
    8091=== VLC/Dynamic Adaptive Streaming over HTTP ===
     
    8394'''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. [[br]]
    8495'''Resources:''' 7 VMs (including a VM for the !OpenFlow controller) [[br]]
    85 '''Difficulty:''' Moderate/advanced
     96'''Difficulty:''' Moderate/advanced [[br]]
     97'''POC:''' [mailto:mzink@cas.umass.edu Mike Zink], University of Massachusetts, Amherst
     98
    8699
    87100=== Content Centric Networking ===
     
    91104'''Resources:''' 4 VMs [[br]]
    92105'''Tools:''' The GENI Portal.  Option to use the GENI Desktop to visualize information caching and retreival in a content centric network. [[br]]
    93 '''Difficulty:''' moderate
     106'''Difficulty:''' moderate [[br]]
     107'''POC:''' [mailto:tutorials@geni.net Experimenter support], GENI Project Office
     108
    94109
    95110=== Network Function Virtualization: !OpenFlow based Firewall ===
     
    98113'''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. [[br]]
    99114'''Resources:''' 4 VMs [[br]]
    100 '''Difficulty:''' Moderate/advanced
     115'''Difficulty:''' Moderate/advanced [[br]]
     116'''POC:''' [mailto:tutorials@geni.net Experimenter support], GENI Project Office
     117
    101118
    102119=== Network Function Virtualization: !OpenFlow based NAT ===
     
    105122'''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. [[br]]
    106123'''Resources:''' 4 VMs [[br]]
    107 '''Difficulty:''' Moderate/advanced
    108 
     124'''Difficulty:''' Moderate/advanced [[br]]
     125'''POC:''' [mailto:tutorials@geni.net Experimenter support], GENI Project Office
     126
     127
     128== Distributed Systems ==
    109129
    110130
     
    177197|| [wiki:GENIEducation/SampleAssignments/TcpAssignment TCP Assignment] || [[Image(GENIEducation/SampleAssignments/TcpAssignment:TCPAssignment.png, 30%, nolink)]] || ||
    178198
     199{{{
     200#!comment
     201=== FTP vs UDT ===
     202[wiki:UDTExampleExperiment Link to exercise][[BR]]
     203'''Type:''' Assignment [[BR]]
     204'''Purpose:''' Students will understand the difference between TCP and UDP by comparing the behavior of two different file transfer applications (FTP, UDT) under varying network conditions.[[BR]]
     205'''Resources:'''3 PCs (PG)[[BR]]
     206'''Difficulty:''' medium [[BR]][[BR]]
    179207
    180208== GENI Tutorials ==
     
    182210|| [http://www.protogeni.net/wiki/GeniTutorial Intro to Flack Tutorial] ||  [[Image(GENIExperimenter/Graphics:flack.png, 50%,nolink)]] || This is a tutorial for teaching users how to use Flack. Flack is a graphical tool that helps user reserve resources. ||
    183211|| [wiki:GEC15Agenda/IntroToOmni/Instructions Intro to Omni Tutorial] || [[Image(http://trac.gpolab.bbn.com/gcf/raw-attachment/wiki/Omni/omni-pic.png, nolink, 50%)]]  || This is a tutorial for teaching users how to use Omni. Omni is a command line tool for reserving GENI resources, and thus can help users automate their experiments. The tutorial guides the attendees through a very simple layer 2 example while introducing all the omni commands ||
     212}}}