Sponsored by the National Science Foundation Tutorial: Advanced Topics in Networking Experiments using GENI Niky Riga, Vic Thomas, Tim Upthegrove GENI.

Slides:



Advertisements
Similar presentations
Sponsored by the National Science Foundation1April 8, 2014, Testbeds as a Service: GENI Heidi Picher Dempsey Internet2 Annual Meeting April 8,
Advertisements

Sponsored by the National Science Foundation GENI Exploring Networks of the Future
Sponsored by the National Science Foundation Campus Policies for the GENI Clearinghouse and Portal Sarah Edwards, GPO March 20, 2013.
Sponsored by the National Science Foundation Lab Zero: A First Experiment.
Sponsored by the National Science Foundation An Introduction to GENI Tools Sarah Edwards GENI Project Office.
Using the jFed tool to experiment from zero to hero Brecht Vermeulen FGRE, July 7 th, 2015.
Sponsored by the National Science Foundation Omni: a command line GENI resource reservation tool Niky Riga, Sarah Edwards GENI Project Office 13 March,
Sponsored by the National Science Foundation Tutorial: Advanced Topics in Networking Experiments using GENI Niky Riga, Sarah Edwards GENI Project Office.
Sarah Edwards, GENI Project Office
Sponsored by the National Science Foundation Scaling Up: Growing the Topology of an Existing Experiment in GENI Sarah Edwards GENI Project Office Xuan.
National Science Foundation Arlington, Virginia January 7-8, 2013 Tom Lehman University of Maryland Mid-Atlantic Crossroads.
Sponsored by the National Science Foundation Campus/Experiment Topics in Monitoring and I&M GENI Engineering Conference 15 Houston, TX Sarah Edwards Chaos.
Sponsored by the National Science Foundation Getting Started With Your Own Experiment Sarah Edwards, GENI Project Office.
Sponsored by the National Science Foundation Tutorial: An Introduction to OpenFlow using POX GENI Engineering Conference 20 June 2014.
Sponsored by the National Science Foundation Towards an Ontology-savvy Aggregate Manager API Marshall Brinn GENI Program Office Sept. 17, 2015.
Sponsored by the National Science Foundation Programmable Networks and GENI Marshall Brinn, GPO GEC October 25, 2012.
GEC 15 Houston, Texas October 23, 2012 Tom Lehman Xi Yang University of Maryland Mid-Atlantic Crossroads (MAX)
Sponsored by the National Science Foundation GEC19-March Are you ready for the tutorial? Grab a Worksheet and instructions Did you do the pre-work?
Sponsored by the National Science Foundation 1 September 15, 2015 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you do the.
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation An Introduction to GENI Tools Sarah Edwards, GENI Project Office.
Sponsored by the National Science Foundation GENI Exploring Networks of the Future
Sponsored by the National Science Foundation GENI Exploring Networks of the Future Sarah Edwards, GPO
Sponsored by the National Science Foundation GENI Terminology: How All the Pieces Fit Together Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation 1 GREESC15– May 25, 2015 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you do.
Sponsored by the National Science Foundation Lab Zero: A First Experiment using GENI Sarah Edwards, GENI Project Office.
Sponsored by the National Science Foundation LabWiki Tutorial (OMF/OML) Divya Bhat, Mike Zink, Pieter Becue, Brecht Vermeulen GEC20 July 8 th 2014, Ghent,
Sponsored by the National Science Foundation 1 Last updated April 1, 2013 Are you ready for the tutorial? 1.Sign In 2.Grab a Worksheet 3.Did you do the.
Sponsored by the National Science Foundation Tutorial: Introduction to Omni Niky Riga GENI Project Office GREESC13 $ omni.py createsliver aliceslice myRSpec.xml.
Sponsored by the National Science Foundation Getting Started With Your Own Experiment Sarah Edwards, GENI Project Office.
Sponsored by the National Science Foundation Tutorial: OpenFlow in GENI with Instrumentation and Monitoring Divya Bhat Shufeng Huang Niky Riga GENI Project.
Sponsored by the National Science Foundation Systematic Experimentation in GENI.
Sponsored by the National Science Foundation 1 ICDCS13: July 8, 2013 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you do the.
Sponsored by the National Science Foundation GENI Exploring Networks of the Future Sarah Edwards, GPO
Sponsored by the National Science Foundation 1 GEC16: March 20, 2013 Are you ready for the tutorial? 1.Did you do the pre-work? A.Are you able to login.
Sponsored by the National Science Foundation Lab Zero: A First Experiment using GENI.
Sponsored by the National Science Foundation GENI Campus Ops Workflow Chaos Golubitsky San Juan, Puerto Rico Mar
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation featuring Named Data Networking.
Behind the Scenes of GENI Experimentation Understanding GENI AM API and RSpec Sponsored by the National Science Foundation
Sponsored by the National Science Foundation Systematic Experimentation in GENI Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation Understanding the AM API through a simple Hadoop experiment.
Sponsored by the National Science Foundation 1 GEC16, March 21, 2013 Are you ready for the tutorial? 1.Did you do the pre-work? A.Are you able to login.
Sponsored by the National Science Foundation 1 GREE SC: June 24, 2013 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you do.
Sponsored by the National Science Foundation GENI Aggregate Manager API Tom Mitchell March 16, 2010.
Behind the Scenes of GENI Experimentation Understanding GENI AM API and RSpec Sponsored by the National Science Foundation
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation An Introduction to GENI Tools Sarah Edwards, GENI Project Office.
Sponsored by the National Science Foundation Tutorial: Experimenter Workflow and Topologies using GENI Niky Riga, Sarah Edwards GENI Project Office 13.
Sponsored by the National Science Foundation Lab Zero: A First Experiment using GENI Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation Getting Started With Your Own Experiment.
Sponsored by the National Science Foundation Today’s Exercise.
Sponsored by the National Science Foundation Tutorial: Advanced Topics in Networking Experiments using GENI Niky Riga, Sarah Edwards GENI Project Office.
Experimenter Feedback Ezra Kissel GEC12 – Kansas City, MO Nov 4 th 2011.
Sponsored by the National Science Foundation 1 Lab Zero – October 20, 2014 Are you ready for the tutorial? 1.Grab a Worksheet and instructions 2.Did you.
Sponsored by the National Science Foundation GENI Exploring Networks of the Future
Sponsored by the National Science Foundation GENI Exploring Networks of the Future
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation featuring Named Data Networking Sarah Edwards.
Sponsored by the National Science Foundation GENI Exploring Networks of the Future
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation An Introduction to GENI Tools Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation featuring Content Centric Networking.
Sponsored by the National Science Foundation Understanding the AM API through a simple Hadoop experiment.
Sponsored by the National Science Foundation Click Software Routers Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation Systematic Experimentation Sarah Edwards GENI Project Office.
Sponsored by the National Science Foundation GENI Terminology Sarah Edwards, GENI Project Office Violet Syrotiuk, Arizona State University.
Sponsored by the National Science Foundation 1 GEC16: March 19, 2013 Are you ready for the tutorial? 1.Sign In 2.Grab a Worksheet 3.Did you do the pre-work?
Sponsored by the National Science Foundation GEC17 Plenary Session: Architecture Marshall Brinn, GPO July 22, 2013.
Using the jFed tool to experiment from zero to hero
Run a Complete Experiment
GENI Exploring Networks of the Future
Understanding the AM API through a simple experiment
Basic Tutorial Part II 31/12/2018.
GENI Exploring Networks of the Future
Presentation transcript:

Sponsored by the National Science Foundation Tutorial: Advanced Topics in Networking Experiments using GENI Niky Riga, Vic Thomas, Tim Upthegrove GENI Project Office 24 October 2012

Sponsored by the National Science Foundation 2 GEC15: Octy 24, 2012 Agenda Overview (tutorial, resources, Omni) … prework … Mesoscale GENI Infrastructure … hands on … Split into Groups –Using Openflow to affect your topology –Using software routers Wrap Up … hands on …

Sponsored by the National Science Foundation 3 GEC15: Octy 24, 2012 Tutorial Overview Learn how to automate your experiment –Install scripts What context are install scripts executed at? Where are the logs for the execution? When are they executed? –Logging in to nodes How to access my nodes? What is my username, password? –Use remote execution to orchestrate your experiment

Sponsored by the National Science Foundation 4 GEC15: Octy 24, 2012 Tutorial Overview How can multiple user can access the same node? Use Mesoscale for your experiment –Run Layer 2 (and up) experiments across the country –Control your topology

Sponsored by the National Science Foundation 5 GEC15: Octy 24, 2012 Looking behind the scenes Disclaimer GENI is evolving fast –What is true today, might change tomorrow Use tutorial resources as a pointer Best place to get up-to-date info is the GENI wiki us with questions

Sponsored by the National Science Foundation 6 GEC15: Octy 24, 2012 GENI Clearinghouse (CH) Experimenter Terminology Slice Sliver A Sliver B Sliver C Slice Authority (SA)AM AAM BAM C Aggregate Managers (AMs) Stitching UC SC RSpec

Sponsored by the National Science Foundation 7 GEC15: Octy 24, 2012 GENI Clearinghouse (CH) Experimenter For the Tutorial Slice Sliver A Sliver B Sliver C Slice Authority (SA)AM AAM BAM C Stitching emulab.net pgeni.gpolab.bbn.com MyPLC Aggregate OpenFlow Aggregate ProtoGENI Aggregate You manual / OpenFlow

Sponsored by the National Science Foundation 8 GEC15: Octy 24, 2012 Today’s GENI Experiments Slice ProtoGENI MyPLC sliver OpenFlow sliver UC MyPLC sliver Slice ProtoGENI sliver MyPLC sliver OpenFlow sliver UC

Sponsored by the National Science Foundation 9 GEC15: Octy 24, 2012 Omni Command Workflow createslicelistmyslicesgetversionrenewslicecreatesliverlistresourcessliverstatusdeletesliver Repeat for each aggregate Repeat for each aggregate Create Slice Create Sliver Cleanup Legend: AM API command renewsliver

Sponsored by the National Science Foundation 10 GEC15: Octy 24, 2012 Getting Help omni.py –h Lists all commands and their arguments Lists all command line options Lists Omni version Lists url to find out more information about Omni Omni Troubleshooting page:

Sponsored by the National Science Foundation 11 GEC15: Octy 24, 2012 Scripting Omni You can write custom Python scripts –Call existing Omni functions –Parse the Output Example: readyToLogin.py –Calls sliverstatus –Parses output of sliverstatus –Determines ssh command to log into node More examples distributed with Omni

Sponsored by the National Science Foundation 12 GEC15: Octy 24, 2012 Agenda Overview (tutorial, resources, Omni) … prework … Mesoscale GENI Infrastructure … hands on … Split into Groups –Using Openflow to affect your topology –Using software routers Wrap Up … hands on …

Sponsored by the National Science Foundation 13 GEC15: Octy 24, 2012 Slice ProtoGENI MyPLC sliver OpenFlow sliver UC MyPLC sliver Let’s start … I.1 Get to know Omni omni.py getversion I.2 Make a slice omni.py createslice slicename omni.py renewslice slicename date omni.py listmyslices username I.3 Make a ProtoGENI sliver omni.py createsliver slicename reqRSpec omni.py sliverstatus slicename Note: -a aggregate to specify an aggregate manage -o to save the output to a file

Sponsored by the National Science Foundation 14 GEC15: Octy 24, 2012 Slice ProtoGENI MyPLC sliver OpenFlow sliver UC MyPLC sliver … now … I.1 Get to know Omni omni.py getversion I.2 Make a slice omni.py createslice slicename omni.py renewslice slicename date omni.py listmyslices username I.3 Make a ProtoGENI sliver omni.py createsliver slicename reqRSpec omni.py sliverstatus slicename Note: -a aggregate to specify an aggregate manage -o to save the output to a file

Sponsored by the National Science Foundation 15 GEC15: Octy 24, 2012 Agenda Overview (tutorial, resources, Omni) … prework … Mesoscale GENI Infrastructure … hands on … Split into Groups –Using Openflow to affect your topology –Using software routers Wrap Up … hands on …

Sponsored by the National Science Foundation 16 GEC15: Octy 24, 2012 OpenFlow Mesoscale Overview OpenFlow Mesoscale deployment : is a prototype GENI infrastructure spans multiple sites connected over Layer 2 –2 backbone, 7 regionals, 8 campuses is open to experimenters that want to gain early access to a Layer 2 infrastructure that combines multiple aggregates. includes : –OpenFlow aggregates –Private PlanetLab aggregates (MyPLC) –ProtoGeni aggregates

Sponsored by the National Science Foundation 17 GEC15: Octy 24, 2012 Where are the tutorial resources? 10 OpenFlow AM (2 backbones (NLR, I2) + 8 campuses) 8 MyPLC AM - Clemson, GaTech, GPO, Indiana, Rutgers, Stanford, Wisconsin, Washington 2 ProtoGENI AM (GPO, Utah)

Sponsored by the National Science Foundation 18 GEC15: Octy 24, 2012 Infrastructure setup Separate control and data plane –Control plane over commodity Internet –Data plane is Layer 2 over GENI backbone All hosts have one interface directly connected to an OpenFlow switch Pre-provisioned ~60 Dataplane IP subnets Out of band reservation of IP subnet Out of band reservation of eth_types for L2 experiments. 2 VLANs over the same resources, providing different topologies

Sponsored by the National Science Foundation 19 GEC15: Octy 24, 2012 MobilityFirst: Backbone Physical Topology 19

Sponsored by the National Science Foundation 20 GEC15: Octy 24, 2012 Request Resources Resource Specification Document (RSpec) XML document that describes resources –hosts, links, switches, etc today only 1 RSpec version is used –GENI v3 AM extensions Client extensions Tool extensions Other versions are supported –SFA –ProtoGENI v2.0 <rspec xmlns=" /rspec/2" xmlns:xsi=" ma-instance" xsi:schemaLocation=" net/resources/rspec/2 2/request.xsd” type="request" > <node client_id="my-node" exclusive="false"> <rspec xmlns=" /rspec/2" xmlns:xsi=" ma-instance" xsi:schemaLocation=" net/resources/rspec/2 2/request.xsd” type="request" > <node client_id="my-node" exclusive="false">

Sponsored by the National Science Foundation 21 GEC15: Octy 24, 2012 The Three Types of RSpecs Aggregate Manager Client Advertisement Request Manifest Advertisement RSpec : What does the AM have? Request RSpec : What does the Experimenter want? Manifest RSpec: What does the Experimenter have? omni.py listresources slicename omni.py listresources omni.py createsliver slicename reqRSpec

Sponsored by the National Science Foundation 22 GEC15: Octy 24, 2012 Too many RSpecs …. There is an art in writing well formed RSpecs Do not try to write one from scratch –Find example RSpecs and use them as your base –Use tools, like Flack, to generate sample RSpecs for you –When appropriate modify advertisement RSpecs

Sponsored by the National Science Foundation 23 GEC15: Octy 24, 2012 Before we start Many people will be accessing the resources, so some calls might fail. Wait a bit and try again! Omni is a command line tool, copy-paste is your friend You can copy-paste between your computer and the VM.

Sponsored by the National Science Foundation 24 GEC15: Octy 24, 2012 Agenda Overview (tutorial, resources, Omni) … prework … Mesoscale GENI Infrastructure … hands on … Split into Groups –Using Openflow to affect your topology –Using software routers Wrap Up … hands on …

Sponsored by the National Science Foundation 25 GEC15: Octy 24, 2012 PlanetLab: Modifying an ad RSpec MyPLC host1.geni.net host2.geni.net MyPLC host1.geni.net host2.geni.net MyPLC host1.geni.net host2.geni.net MyPLC host1.geni.net host2.geni.net Insert a tag in the node tag, for the node you want to reserve

Sponsored by the National Science Foundation 26 GEC15: Octy 24, 2012 OpenFlow resources Switch Data Path (Hardware) Control Path OpenFlow Any Host OpenFlow Controller OpenFlow Protocol (SSL/TCP) Modified slide from : OpenFlow is an API –Controls how packets are forwarded –Implemented on COTS hardware –Make deployed networks programmable FlowSpace describes packet flows : –Layer 1: Incoming port on switch –Layer 2: Ethernet src/dst addr, type, vlanid –Layer 3: IP src/dst addr, protocol, ToS –Layer 4: TCP/UDP src/dst port An experimenter can control multiple FlowSpaces

Sponsored by the National Science Foundation 27 GEC15: Octy 24, 2012 Aggregate Experimenter OpenFlow in GENI OpenFlow AM (Expedient) OpenFlow AM (Expedient) Opt-in Manager FlowVisor OpenFlow Firmware (on a switch) OpenFlow Firmware (on a switch) OpenFlow Controller The aggregate administrator needs to approve the RSpec flowspace Administrator RSpec

Sponsored by the National Science Foundation 28 GEC15: Octy 24, 2012 OpenFlow RSpec > > expiry is in Unix timestamp pkt_field can be : –dl_src, dl_dst, dl_type, dl_vlan –nw_src, nw_dst, nw_proto, nw_tos –tp_src, tp_dst

Sponsored by the National Science Foundation 29 GEC15: Octy 24, 2012 OpenFlow Actions Use OpenFlow to route your packets in the network Use OpenFlow to rewrite header fields : – OFPAT_SET_VLAN_VID, /* Set the 802.1q VLAN id. */ – OFPAT_SET_VLAN_PCP, /* Set the 802.1q priority. */ – OFPAT_STRIP_VLAN, /* Strip the 802.1q header. */ – OFPAT_SET_DL_SRC, /* Ethernet source address. */ – OFPAT_SET_DL_DST, /* Ethernet destination address. */ – OFPAT_SET_NW_SRC, /* IP source address. */ – OFPAT_SET_NW_DST, /* IP destination address. */ – OFPAT_SET_NW_TOS, /* IP ToS (DSCP field, 6 bits). */ – OFPAT_SET_TP_SRC, /* TCP/UDP source port. */ – OFPAT_SET_TP_DST, /* TCP/UDP destination port. */ Caveat, not all actions are done in hardware (OVS)

Sponsored by the National Science Foundation 30 GEC15: Octy 24, 2012 Software Routers Not wire-speed Easy to deploy Provide ability to implement new routing protocols over a L2 network fast –XIA, MobilityFirst demos An easy way to bandwidth limit your slice

Sponsored by the National Science Foundation 31 GEC15: Octy 24, 2012 Install scripts Specify in the rspec –Where to download software from Usually comes with an install-script.sh –What commands to run at boot time It runs in the context of a the “geni” user –It is not your user account –It does have sudo priviledges

Sponsored by the National Science Foundation 32 GEC15: Octy 24, 2012 Install scripts # Change to dir. with installed software cd /local ##### Check if file is there ##### if [ ! -f "./installed.txt" ] then #### Create the file #### sudo touch "./installed.txt” #### Run one-time commands #### #Install necessary packages # Install custom software ## Reboot if needed fi ##### Run Boot-time commands # Start common services hn=`echo $HOSTNAME | cut -d'.' -f 1` if [ $hn == "server" ] then # Host specific commands fi

Sponsored by the National Science Foundation 33 GEC15: Octy 24, 2012 Agenda Overview (tutorial, resources, Omni) … prework … Mesoscale GENI Infrastructure … hands on … Split into Groups –Using Openflow to affect your topology –Using software routers Wrap Up … hands on …

Sponsored by the National Science Foundation 34 GEC15: Octy 24, 2012 Click Example Experiment You will run your own non-IP multipath router –Odd checksums left –Even checksums right 6 VMs in Utah –4 routers –2 end hosts

Sponsored by the National Science Foundation 35 GEC15: Octy 24, 2012 OpenFlow Experiment You will run your own OpenFlow experiment Use Mesoscale resources In-network diverged traffic –Send requests to a local host client Local server remote server

Sponsored by the National Science Foundation 36 GEC15: Octy 24, 2012 Agenda Overview (tutorial, resources, Omni) … prework … Mesoscale GENI Infrastructure … hands on … Split into Groups –Using Openflow to affect your topology –Using software routers Wrap Up … hands on …

Sponsored by the National Science Foundation 37 GEC15: Octy 24, 2012 Cleanup When your experiment is done, you should always release your resources. –Archive your data –Delete all your slivers OpenFlow slivers might outlive your slice, make sure you delete them before your slice expires –When appropriate delete your slice

Sponsored by the National Science Foundation 38 GEC15: Octy 24, 2012 Backbone #1 Backbone #2 Campus #3 Campus #2 Access #1 Research Testbed Campus Your GENI Slice Get an account to run experiments on GENI Contact us at More information on Experimenter Portal: – Running Experiments on GENI

Sponsored by the National Science Foundation 39 GEC15: Octy 24, 2012 Fill out the survey Attend more tutorials Come to Experimenter Drop-in session Wednesday 3-5pm Come to coding sprint and start your experiment Thursday 1-5pm The end ….

Sponsored by the National Science Foundation 40 GEC15: Octy 24, 2012 … the end! UC

Sponsored by the National Science Foundation 41 GEC15: Octy 24, 2012 Backup Slides

Sponsored by the National Science Foundation 42 GEC15: Octy 24, 2012 Omni Resources Primary Information –omni.py -h –Omni Troubleshooting page: –For Omni specific help: –For general GENI help: Omni Wiki (install instructions, documentation, bug reporting): For an overview of GENI Experimentation using Omni: – Example experiment walk-through: – Example script walk-throughs: – and

Sponsored by the National Science Foundation 43 GEC15: Octy 24, 2012 Omni Commands omni.py getversion omni.py createslice slicename omni.py renewslice slicename date omni.py listmyslices username omni.py createsliver slicename requestRSpec omni.py sliverstatus slicename omni.py listresources [slicename] -t ProtoGENI 2 to request PGV2 Rspecs omni.py deletesliver slicename

Sponsored by the National Science Foundation 44 GEC15: Octy 24, 2012 Other Omni command line arguments -c omni_config to use another omni_config -f plc to use a different framework -t ProtoGENI 2 to specify the version of the Rspec