Upload
celia-bottom
View
218
Download
1
Tags:
Embed Size (px)
Citation preview
Sponsored by the National Science Foundation
Tutorial: OpenFlow in GENI with Instrumentation and Monitoring
Divya Bhat, Umass Amherst
Niky Riga, GENI Project Office
IC2E 2014
Sponsored by the National Science Foundation 2March 10 2014
“The current Internet is at an impasse because new architecture cannot be
deployed or even adequately evaluated” [PST04]
Modified slide from: http://cenic2012.cenic.org/program/slides/CenicOpenFlow-3-9-12-submit.pdf
[PST04]: Overcoming the Internet Impasse through Virtualization, Larry Peterson, Scott Shenker, Jonothan Turner Hotnets 2004
Sponsored by the National Science Foundation 3March 10 2014
OpenFlow…
• Enables innovation in networking
• Changes practice of networking
Google’s SDN WAN
Sponsored by the National Science Foundation 4March 10 2014
OpenFlow’s basic idea
Sponsored by the National Science Foundation 5March 10 2014
OpenFlow’s basic idea
Sponsored by the National Science Foundation 6March 10 2014
Network Devices
NAT
firewall
DHCP
DNS
switch
VPN
router
gateway
proxy
access point
Any network device can be OpenFlow enabled
software
Sponsored by the National Science Foundation 7March 10 2014
Network Types
CampusMultiple buildings, heterogeneous IT, groups of users, campus backbone
Enterprise Data CentersSecurity, various sizes, storage, WAN optimizations
Data Centers – CloudsMulti-tenant, virutalization, disaster recovery, VM mobility
WANDiversity, multiple domains/carriers/users
Sponsored by the National Science Foundation 9March 10 2014
Deployment Stories
Google global private WAN [1]Connects dozens of datacenters worldwide with a long-term average of 70% utilization over all links
Stanford Campus deploymentPart of Stanford campus migrated to OpenFlow
NTT’s BGP Free Edge
Internet 2 - AL2SCan build Layer 2 circuits between any Internet 2 end-points
[1] B4: Experience with a Globally-Deployed Software Defined WAN, SIGCOMM’13, Jain et al.
https://www.ntt-review.jp/archive/ntttechnical.php?contents=ntr201310fa3.html
Sponsored by the National Science Foundation 10March 10 2014
GENI Programmable Network
• Key GENI concept: slices & deep programmability– Internet: open innovation in application programs
– GENI: open innovation deep into the network
Good old
InternetSlice 0
Slice 1
Slice 2
Slice 3
Slice 4
Slice 1
OpenFlow switches one of the ways GENI is providing
deep programmability
Sponsored by the National Science Foundation 11March 10 2014
Racks and Campuses
• GENI Rack projects are expanding available GENI infrastructure in the US.
• Racks provide reservable, sliceable compute and network resources using Aggregate Managers.
• GENI AM API compliance
Sponsored by the National Science Foundation 12March 10 2014
GENI Rack Campuses
• 43 racks planned this year• Each rack has an OpenFlow-enabled switch
Fundsin hand
Needsfunding
Oct. 24, 2012
Sponsored by the National Science Foundation 13March 10 2014
Core Networks
• NLR committed to 2013 meso-scale expansion following reorganization• Internet2 adding 10GbE paths to Advanced Layer 2 Services (AL2S) at 4 of 5
OpenFlow meso-scale/ProtoGENI Pops• GENI Aggregate Manager in Internet2 AL2S and dynamic stitching with GENI
coming in Spiral 5
Internet2 SDN networks
Sponsored by the National Science Foundation 14March 10 2014
OpenFlow Experiments
Debugging OpenFlow experiments is hard: – Network configuration debugging requires coordination– Many networking elements in play– No console access to the switch
Before deploying your OpenFlow experiment test your controller.
http://mininet.github.com/http://openvswitch.org/
Sponsored by the National Science Foundation 15March 10 2014
OpenFlow common PitFalls
• Controller is responsible for all traffic, not just your application!– ARP, DHCP, LLDP
• Reactive controllers– UDP
• Performance in hardware switches– Not all actions are supported in hardware
• No STP– Broadcast storms
Sponsored by the National Science Foundation
LabWikiThe complete Experiment
LifeCycle in a Tool
Divya Bhat, Umass Amherst
Sponsored by the National Science Foundation 17March 10 2014
Experiment Workflow
Sponsored by the National Science Foundation 18March 10 2014
The “Experiment Cycle”
SetupDesign
Execute
Notes
Code
Experiment
Description
RunsMeasurements
Sponsored by the National Science Foundation 19March 10 2014
SetupDesign
Execute
Notes
Code
Experiment
Description
RunsMeasurements
Publish
The “Successful Experiment Cycle”
Sponsored by the National Science Foundation 20March 10 2014
“Experiment Cycle” in a Tool: LabWiki
Sponsored by the National Science Foundation 21March 10 2014
GENITestBed
OMLServer
LabWiki
iRODS
1.Instrument
2.Run
3.Collect
4.Plot
5.Save
OML Client
6.Obtain Automated
Collect and Archive
0.Reserve
Experimenter
2.Run
3.Collect
4.Plot
5.Save
Sponsored by the National Science Foundation 22March 10 2014
Wiki Edit Run
Search
Sponsored by the National Science Foundation 23March 10 2014
• Status:– Open-source MIT License– Code:
• https://github.com/mytestbed/labwiki
– Bug reports & documentation (hahaha): • http://omf.mytestbed.net/projects/labwiki
– Plugin example:• https://github.com/mytestbed/labwiki_topology_plugin
Sponsored by the National Science Foundation 24March 10 2014
• Part I: Design/Setup– Network Load Balancing and OpenFlow– Design your experiment– Obtain Resources
• Part II: Execute– Configure and Initialize Services– Execute Experiment– Collect Measurements
• Part III: Finish– Archive results– Teardown Experiment
Sponsored by the National Science Foundation 25March 10 2014
Balanced Service
Picture from : www.inetu.ne
• Balance load between two or more server providers
• In networks
Balance traffic between two or more paths
Need to run load balancer in each decision point, i.e. within the network
Sponsored by the National Science Foundation 26March 10 2014
OpenFlow
Switch
Data Path (Hardware)
Control Path OpenFlow
Any Host
OpenFlow Controller
OpenFlow Protocol (SSL/TCP)
Modified slide from : http://www.deutsche-telekom-laboratories.de/~robert/GENI-Experimenters-Workshop.ppt
• The controller is responsible for populating forwarding table of the switch
• Controller can get statistics directly from each switch:– per port– per flow– per table
Sponsored by the National Science Foundation 27March 10 2014
Today’s Experiment
• Two paths from source to destination
• Balance traffic between the two paths so that:– Both paths are equally utilized
– All TCP flows have similar performance
Picture from : www.spacegamejunkie.com
Sponsored by the National Science Foundation 28March 10 2014
• Part I: Design/Setup– Network Load Balancing and OpenFlow– Design your experiment– Obtain Resources
• Part II: Execute– Configure and Initialize Services– Execute Experiment– Collect Measurements
• Part III: Finish– Archive results– Teardown Experiment
Sponsored by the National Science Foundation 29March 10 2014
Design Your Experiment
Modified slide from : http://www.deutsche-telekom-laboratories.de/~robert/GENI-Experimenters-Workshop.ppt
• Start OpenFlow Load Balancing Controller
• Connect OpenFlow Switch to Controller
• Start several TCP flows from Sender to Receiver
S
SW
VM VM
VM
R
LB
OFCtl
Sponsored by the National Science Foundation 30March 10 2014
Monitor Your Experiment
Modified slide from : http://www.deutsche-telekom-laboratories.de/~robert/GENI-Experimenters-Workshop.ppt
S
SW
VMVM
VM
R
LB
Monitor
Throughput
OFCtl
Sponsored by the National Science Foundation 31March 10 2014
• Part I: Design/Setup– Network Load Balancing and OpenFlow– Design your experiment– Obtain Resources
• Part II: Execute– Configure and Initialize Services– Execute Experiment– Collect Measurements
• Part III: Finish– Archive results– Teardown Experiment
Sponsored by the National Science Foundation 32March 10 2014
Resources Reserved!
Sponsored by the National Science Foundation 33March 10 2014
• Part I: Design/Setup– Network Load Balancing and OpenFlow– Design your experiment– Obtain Resources
• Part II: Execute– Configure and Initialize Services– Execute Experiment– Collect Measurements
• Part III: Finish– Archive results– Teardown Experiment
Sponsored by the National Science Foundation 34March 10 2014
Execute Experiment
• Follow Instructions on Tutorial page to execute your experiment on LabWiki
• Pay attention to the output of your OpenFlow Controller:
Sponsored by the National Science Foundation 35March 10 2014
Trema
• Trema is NOT an OpenFlow Controller
• Trema is a Programming Framework for implementing OpenFlow Controllers
• Trema is a Platform to run OpenFlow Controllers
• You need to: – Write your own controller using Trema API– Run your controller with Trema
Sponsored by the National Science Foundation 36March 10 2014
Trema API
• API for both C and Ruby
• Event-triggered Functions:– start() is called when controller starts up– switch_ready() is called when switch connects in– packet_in() is called when a packet is received – stats_reply() is called when a flow stats reply message
is received – ......
• More information about Trema API: – http://rubydoc.info/github/trema/trema/master/frames
Sponsored by the National Science Foundation 37March 10 2014
• Part I: Design/Setup– Network Load Balancing and OpenFlow– Design your experiment– Obtain Resources
• Part II: Execute– Configure and Initialize Services– Execute Experiment– Collect Measurements
• Part III: Finish– Archive results– Teardown Experiment
Sponsored by the National Science Foundation 38March 10 2014
• Part I: Design/Setup– Network Load Balancing and OpenFlow– Design your experiment– Obtain Resources
• Part II: Execute– Configure and Initialize Services– Execute Experiment– Collect Measurements
• Part III: Finish– Archive results– Teardown Experiment
Sponsored by the National Science Foundation 39March 10 2014
GENITestBed
OMLServer
LabWiki
iRODS
1.Instrument
2.Run
3.Collect
4.Plot
5.Save
OML Client
6.Obtain Automated
Collect and Archive
0.Reserve
Experimenter
2.Run
3.Collect
4.Plot
5.Save
Sponsored by the National Science Foundation 40March 10 2014
• Part I: Design/Setup– Network Load Balancing and OpenFlow– Design your experiment– Obtain Resources
• Part II: Execute– Configure and Initialize Services– Execute Experiment– Collect Measurements
• Part III: Finish– Archive results– Teardown Experiment
Sponsored by the National Science Foundation 41March 10 2014
Part III: Finish Experiment
When your experiment is done, you should always release your resources.
– Normally this is when you would archive your data– Delete your slivers at each aggregate
slice
project
aggregate
RSpecuserresourcesliv
er
AM API
slivercredentials
certificate