1 / 15

Click Software Routers

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.

jena-wall
Download Presentation

Click Software Routers

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. Click Software Routers Sarah Edwards GENI Project Office

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

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

  4. 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 Oddchecksums left Evenchecksums right

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

  6. For the Tutorial: Portal Account with Omni GENI Portal AM Slice : click<initials> Experimenter $ omni.pycreatesliveraliceslicemyRSpec.xml INFO:omni:Loadingconfig file omni_config INFO:omni:Using control framework pgeni INFO:omni:Sliceurn:publicid:IDN+pgeni.gpolab. expires within 1 day on 2011-07-07 INFO:omni:Creating sliver(s) from rspec file INFO:omni:Writing result of createsliver for INFO:omni:Writing to ‘aliceslice-manifest-rspe INFO:omni: ----------------------------------- INFO:omni: Completed createsliver: Options as run: aggregate: https://www.emulab. framework: pgeni native: True Args: createsliveraliceslicemyRSpec.xml Result Summary: Slice urn:publicid:IDN+pgeni Reserved resources on https://www.emulab.net/p Saved createsliver results to aliceslice-man INFO:omni: =================================== o m n i Sliver You InstaGENI Aggregate http://www.gpolab.bbn.com/exp/ClickExampleExperiment/click.rspec

  7. … 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 • Write script in language of choice • Upload script • Test script • Add to rspec

  8. Install Scripts: Look inside # 1. Change to dir. with installed software cd /local # 2. Check if first time if [ ! -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 needed fi #3. Run Boot-time commands #3a. Start common services hn=`echo $HOSTNAME | cut -d'.' -f 1` if [ $hn == "server" ] then #4. Host specific commands fi 1. Download install script 2. Identify the 4 sections

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

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

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

  12. Send Traffic Start routers Send packet using netcat Right Top HostA Bottom HostB IP Left

  13. Click Config File route :: 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);

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

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