Sponsored by the National Science Foundation A Virtual Computer Networking Lab Mike Zink, Max Ott, Jeannie Albrecht GEC 23, June 16 th 2015
Dec 25, 2015
Sponsored by the National Science Foundation
A Virtual Computer Networking Lab
Mike Zink, Max Ott, Jeannie Albrecht
GEC 23,
June 16th 2015
Sponsored by the National Science Foundation 2GEC20
The “Traditonal” Networks Lab
• Each institution requires a set of hardware (switches, routers, cables, computers)
• Hardware outdates fairly quickly• Certain aspects are vendor specific• Equipment is unused for periods of time
Sponsored by the National Science Foundation 3GEC20
The “Virtual” Networks Lab
• Use GENI infrastructure to teach lab• Individual institutions don’t need hardware• “Guide” students as much as needed• Teach new technologies (e.g., OpenFlow)
Downside:• Students do not touch hardware
Approach:• Connect local HW to GENI where possible
Sponsored by the National Science Foundation 4GEC20
GENI Technology
• GENI Portal• GENI APIs• GENI Racks• GIMI Tools• LabWiki
Sponsored by the National Science Foundation 6GEC20
LabWiki CoreP
lugi
n
Yo
ur
Plu
gin
GENICH/AM
OMF iRODS YourService
GIMIServices
Plan Prepare Execute
LabWiki Architecture
Sponsored by the National Science Foundation 7GEC20
GENITestBed
OMLServer
LabWiki
iRODS
1.Instrument
2.Run
3.Collect
4.Plot
5.Save
OML Client
6.Obtain Automated
Environment
0.Reserve
Experimenter
2.Run
3.Collect
4.Plot
5.Save
Sponsored by the National Science Foundation 8GEC20
Assignment I - Web Server
• Automatically set up web servers on GENI testbeds, install required programs and provides measurement tools.
Web based dynamic Rspec tool,used to scale the number of servers and clients.
Will create a topology with the server and client files present inside the respective VMs.
• OEDL script, which can be used to verify the functionality of the server.
• Auto-grading for instructors.
Sponsored by the National Science Foundation 9GEC20
Assignment II - Data-Center Routing
• Teaches the basics of load balancing for servers in a data-center
• Algorithm can be round robin, throughput-based or random for routing through the OpenFlow switch
• Lessons learned: any-casting, how the packet destination is modified for routing, different algorithms for load balancing, data center technology
Sponsored by the National Science Foundation 10GEC20
Assignment III - Multi-casting
• Teaches the basics of multicasting
• Out-of-band signal - used to send “Join” and “Leave” messages to an OpenFlow controller
• Functionality of the controller is verified through a layer 2 ping
• Lessons learned: multi-casting protocol, packet duplication, layer-2 ping application
Sponsored by the National Science Foundation 11GEC20
Assignment IV – Learning Switch
• Teaches the basics of learning switch functionality used by Ethernet switches
• Learning switch implementation through Trema controller
• OEDL script to plot graph• Lessons learned: learning
switch functionality, using different metrics to plot graphs through labWiki
Sponsored by the National Science Foundation 12GEC20
Learning Swicth
A
A’
B
B’ C
C’
1 2
345
6
A A’
Source: ADest: A’
MAC addr interface TTL
Switch table (initially empty)
A 1 60
A A’A A’A A’A A’A A’
• frame destination unknown:flood
A’ A
destination A location known:
A’ 4 60
selective send More info in chapter
5 of “Computer Networks”, Kurose & Ross
Sponsored by the National Science Foundation 13GEC20
Assignment Topology
• N1 – N4: regular end systems• Switch: VM with OVS installed
sw-based OF switch• Trema-based OF controller
running on Switch
https://github.com/trema/trema
Goal: Implement learning switch and verify its correct behavior
Sponsored by the National Science Foundation 14GEC20
Methodology
• Have students go through material in book• Provide assignment instructions in LabWiki• Provide experiment script in LabWiki that allows
verification of learning switch• Provide OF controller template for students to
complete
Sponsored by the National Science Foundation 15GEC20
Assignment V – IP Routing
• Teaches the very basics of IP routing
• Use ping to verify routing• Can be easily extended:
– Geographically distributed topology
– Build routing mechanisms on top
• Lessons learned: static IP routing, forwarding, impact of route on RTT
Sponsored by the National Science Foundation 16GEC20
Assignment VI – OF Load Balancer
• Teaches programming of OpenFlow controller
• No OpenFlow knowledge required
• Lessons learned: IP routing and forwarding
Total Traffic
Throughput
Sponsored by the National Science Foundation 17GEC20
Assignment VII – DASH Video
• Teaches how to measure video quality
• Uses alternative paths to show impact of RTT on video quality
• Lessons learned: OpenFlow basics, DASH basics, network measurement
ExoGENI
Sponsored by the National Science Foundation 18GEC20
For Students
• Prepared experiment script (OEDL)– Read-only– Create copy or run as is
• Assignment– Execute experiment – Generate results– Write comments– Submit
Sponsored by the National Science Foundation 19GEC20
For Educators
• Create Experiment Script (OEDL)– Unlimited update
• Create instructions (Wiki)
Sponsored by the National Science Foundation 20GEC20
For Educators
• Auto checking– Custom event trigger– View submissions
Sponsored by the National Science Foundation 21GEC20
Additional Information
• Video that demonstrates new LabWiki features:http://mytestbed.net/attachments/download/1208/LW_Education_1080p.mp4
• Demo tonight!