click software routers
DESCRIPTION
Click Software Routers. Sarah Edwards GENI Project Office. Software Routers. Not wire-speed Easy to deploy Provide ability to implement new routing protocols over a L2 network fast MobilityFirst , Packet Cache, XIA An easy way to bandwidth limit your slice. Install scripts. - PowerPoint PPT PresentationTRANSCRIPT
Sponsored by the National Science Foundation
Click Software Routers
Sarah Edwards
GENI Project Office
Sponsored by the National Science Foundation 2GREE-SC ‘14, July 21, 2014
Software Routers
• Not wire-speed• Easy to deploy• Provide ability to implement new routing
protocols over a L2 network fast–MobilityFirst, Packet Cache, XIA
• An easy way to bandwidth limit your slice
Sponsored by the National Science Foundation 3GREE-SC ‘14, July 21, 2014
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 privileges
Sponsored by the National Science Foundation 5GREE-SC ‘14, July 21, 2014
Hands On Exercise
Run a non-IP multi-path router over layer 2
Reserve 6 VMs:
4 will be Click routers
2 will be end hosts
Odd checksums left
Even checksums right
Sponsored by the National Science Foundation 6GREE-SC ‘14, July 21, 2014
• Part I: Design/Setup– Obtain Resources: Create a slice and
reserve resources
• Part II: Execute– Configure and Initialize Services: Configure the
Click Routers– Execute Experiment: Use custom routing to
forward traffic over multi-path topology
• Part III: Finish– Teardown Experiment
Sponsored by the National Science Foundation 7GREE-SC ‘14, July 21, 2014
Experimenter
For the Tutorial: Portal Account with Omni
Slice : click<initials>
Sliver
AM
InstaGENI Aggregate
You
GENI Portal
$ omni.py createsliver aliceslice myRSpec.xml INFO:omni:Loading config file omni_config INFO:omni:Using control framework pgeni INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab. expires within 1 day on 2011-07-07 INFO:omni:Creating sliver(s) from rspec fileINFO:omni:Writing result of createsliver for INFO:omni:Writing to ‘aliceslice-manifest-rspeINFO:omni: -----------------------------------INFO:omni: Completed createsliver:
Options as run: aggregate: https://www.emulab. framework: pgeni native: True
Args: createsliver aliceslice myRSpec.xml
Result Summary: Slice urn:publicid:IDN+pgeniReserved resources on https://www.emulab.net/p Saved createsliver results to aliceslice-manINFO:omni: ===================================
omni
http://www.gpolab.bbn.com/exp/ClickExampleExperiment/click.rspec
Sponsored by the National Science Foundation 8GREE-SC ‘14, July 21, 2014
… in the meantime … Install Scripts
• specified in the rspec– It needs to be available over http
• does not run as “you”, but has sudo• it runs at every boot • $PATH might not be set• OS-dependent
1. Write script in language of choice
2. Upload script
3. Test script
4. Add to rspec
Sponsored by the National Science Foundation 9GREE-SC ‘14, July 21, 2014
Install Scripts: Look inside
# 1. Change to dir. with installed softwarecd /local
# 2. Check if first timeif [ ! -f "./installed.txt" ]then #### Create the file #### sudo touch "./installed.txt” #### Run one-time commands #### #2a. Install necessary packages #2b. Install custom software #2c. Reboot if neededfi#3. Run Boot-time commands#3a. Start common serviceshn=`echo $HOSTNAME | cut -d'.' -f 1`if [ $hn == "server" ]then #4. Host specific commandsfi
1. Download install script
2. Identify the 4 sections
Sponsored by the National Science Foundation 10GREE-SC ‘14, July 21, 2014
Experiment Workflow
• Part I: Design/Setup– Obtain Resources: Create a slice and reserve
resources
• Part II: Execute– Configure and Initialize Services: Configure
the Click Routers– Execute Experiment: Use custom routing to
forward traffic over multi-path topology
• Part III: Finish– Teardown Experiment
Sponsored by the National Science Foundation 11GREE-SC ‘14, July 21, 2014
Remote configuration of Click
• Remotely invoke configuration script: extractClickConfig.py– parse manifest rspec– extract information about topology– create click.config
• Remotely turn off IP in the routers
IP
Sponsored by the National Science Foundation 12GREE-SC ‘14, July 21, 2014
Experiment Workflow
• Part I: Design/Setup– Obtain Resources: Create a slice and reserve
resources
• Part II: Execute– Configure and Initialize Services: Configure the
Click Routers– Execute Experiment: Use custom routing to
forward traffic over multi-path topology
• Part III: Finish– Teardown Experiment
Sponsored by the National Science Foundation 13GREE-SC ‘14, July 21, 2014
Send Traffic
Start routers
Send packet using netcat
HostA Top Bottom
Left
Right
HostBIP
Sponsored by the National Science Foundation 14GREE-SC ‘14, July 21, 2014
Click Config Fileroute :: Classifier(27/01%01,-);modify :: Unstrip(2) -> StoreData(0, "AliceWasHere3546") -> route;FromDevice(eth3, PROMISC true) -> Classifier(12/0800) -> modify;route[0] -> left :: EtherEncap(0x7744, 00:04:23:b7:14:76, 00:04:23:b7:18:fa) -> SimpleQueue -> Print(outL) -> ToDevice(eth2);route[1] -> right :: EtherEncap(0x7744, 00:04:23:b7:1c:e0, 00:04:23:b7:19:2e) -> SimpleQueue -> Print(outR) -> ToDevice(eth4);
restore :: SimpleQueue -> Strip(30) -> EtherEncap(0x800, 00:04:23:b7:14:77, 00:04:23:b7:20:00) -> ToDevice(eth3);
Sponsored by the National Science Foundation 16GREE-SC ‘14, July 21, 2014
Experiment Workflow
• Part I: Design/Setup– Setup: Omni with Multiple Users– Obtain Resources: Create a slice and reserve
resources
• Part II: Execute– Configure and Initialize Services: Configure the
Click Routers– Execute Experiment: Use custom routing to
forward traffic over multi-path topology
• Part III: Finish– Teardown Experiment
Sponsored by the National Science Foundation 17GREE-SC ‘14, July 21, 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