click software routers

15
Sponsored by the National Science Foundation Click Software Routers Sarah Edwards GENI Project Office

Upload: jena-wall

Post on 01-Jan-2016

72 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Click Software Routers

Sponsored by the National Science Foundation

Click Software Routers

Sarah Edwards

GENI Project Office

Page 2: Click Software Routers

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

Page 3: Click Software Routers

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

Page 4: Click Software Routers

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

Page 5: Click Software Routers

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

Page 6: Click Software Routers

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

Page 7: Click Software Routers

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

Page 8: Click Software Routers

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

Page 9: Click Software Routers

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

Page 10: Click Software Routers

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

Page 11: Click Software Routers

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

Page 12: Click Software Routers

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

Page 13: Click Software Routers

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);

Page 14: Click Software Routers

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

Page 15: Click Software Routers

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