Click Software Routers

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

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 of Click Software Routers

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