1 / 40

Tutorial: OpenFlow in GENI with Instrumentation and Monitoring

Tutorial: OpenFlow in GENI with Instrumentation and Monitoring. Divya Bhat , Umass Amherst Niky Riga, GENI Project Office IC2E 2014. “The current Internet is at an impasse because new architecture cannot be deployed or even adequately evaluated” [PST04].

ull
Download Presentation

Tutorial: OpenFlow in GENI with Instrumentation and Monitoring

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tutorial: OpenFlow in GENI with Instrumentation and Monitoring DivyaBhat, Umass Amherst Niky Riga, GENI Project Office IC2E 2014

  2. “The current Internet is at an impasse because new architecture cannot be deployed or even adequately evaluated” [PST04] [PST04]: Overcoming the Internet Impasse through Virtualization, Larry Peterson, Scott Shenker, Jonothan Turner Hotnets 2004 Modified slide from: http://cenic2012.cenic.org/program/slides/CenicOpenFlow-3-9-12-submit.pdf

  3. OpenFlow… • Enables innovation in networking • Changes practice of networking Google’s SDN WAN

  4. OpenFlow’s basic idea

  5. OpenFlow’s basic idea

  6. Network Devices DHCP access point router DNS proxy VPN gateway firewall NAT switch software Any network device can be OpenFlow enabled

  7. Network Types Campus Multiple buildings, heterogeneous IT, groups of users, campus backbone Enterprise Data Centers Security, various sizes, storage, WAN optimizations Data Centers – Clouds Multi-tenant, virutalization, disaster recovery, VM mobility WAN Diversity, multiple domains/carriers/users

  8. 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 deployment Part of Stanford campus migrated to OpenFlow NTT’s BGP Free Edge Internet 2 - AL2S Can build Layer 2 circuits between any Internet 2 end-points https://www.ntt-review.jp/archive/ntttechnical.php?contents=ntr201310fa3.html [1] B4: Experience with a Globally-Deployed Software Defined WAN, SIGCOMM’13, Jain et al.

  9. GENI Programmable Network • Key GENI concept: slices & deep programmability • Internet: open innovation in application programs • GENI: open innovation deep into the network OpenFlow switches one of the ways GENI is providing deep programmability Good old Internet Slice 0 Slice 1 Slice 1 Slice 2 Slice 3 Slice 4

  10. 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

  11. GENI Rack Campuses Fundsin hand • 43 racks planned this year • Each rack has an OpenFlow-enabled switch Needs funding Oct. 24, 2012

  12. 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

  13. 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/

  14. 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

  15. LabWikiThe complete Experiment LifeCycle in a Tool DivyaBhat, UmassAmherst

  16. Experiment Workflow

  17. The “Experiment Cycle” Runs Setup Design Notes ExperimentDescription Measurements Code Execute

  18. The “Successful Experiment Cycle” Publish Runs Notes ExperimentDescription Setup Design Measurements Code Execute

  19. “Experiment Cycle” in a Tool: LabWiki

  20. Collect and Archive Experimenter iRODS Automated 6.Obtain 5.Save 5.Save LabWiki 1.Instrument 4.Plot 4.Plot OML Server 0.Reserve 2.Run 2.Run 3.Collect 3.Collect GENI TestBed OMLClient

  21. Search Wiki Edit Run

  22. 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

  23. 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

  24. Balanced Service • 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 Picture from : www.inetu.ne

  25. OpenFlow • 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 Any Host OpenFlow Controller OpenFlow Protocol (SSL/TCP) Switch Control Path OpenFlow Data Path (Hardware) Modified slide from : http://www.deutsche-telekom-laboratories.de/~robert/GENI-Experimenters-Workshop.ppt

  26. 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

  27. 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

  28. Design Your Experiment • Start OpenFlow Load Balancing Controller • Connect OpenFlow Switch to Controller • Start several TCP flows from Sender to Receiver VM VM VM LB R S OF Ctl SW Modified slide from : http://www.deutsche-telekom-laboratories.de/~robert/GENI-Experimenters-Workshop.ppt

  29. Monitor Your Experiment Monitor SW VM VM VM LB R S OF Ctl Throughput Modified slide from : http://www.deutsche-telekom-laboratories.de/~robert/GENI-Experimenters-Workshop.ppt

  30. 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

  31. Resources Reserved!

  32. 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

  33. Execute Experiment • Follow Instructions on Tutorial page to execute your experiment on LabWiki • Pay attention to the output of your OpenFlow Controller:

  34. 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 TremaAPI • Run your controller with Trema

  35. TremaAPI • API for both C and Ruby • Event-triggered Functions: • start() iscalledwhencontrollerstartsup • switch_ready() iscalledwhenswitchconnects in • packet_in() iscalledwhen a packet isreceived • stats_reply() iscalledwhen a flowstatsreplymessageisreceived • ...... • More information about Trema API: • http://rubydoc.info/github/trema/trema/master/frames

  36. 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

  37. 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

  38. Collect and Archive Experimenter iRODS Automated 6.Obtain 5.Save 5.Save LabWiki 1.Instrument 4.Plot 4.Plot OML Server 0.Reserve 2.Run 2.Run 3.Collect 3.Collect GENI TestBed OMLClient

  39. 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

  40. 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 sliver credentials sliver project RSpec resource user AM API aggregate certificate slice

More Related