Version 17 (modified by, 4 years ago) (diff)


Navigation: Up

At this point we will installing the ChoiceNet software onto the nodes in your slice, configure the software, and start it running. Execute the list of commands below on your global node GN0:

  • Replace the <MANIFEST_FILENAME> and <GENI USERNAME> with the values shown to you during the pre-setup phase
  • If you forgot to write down the MANIFEST_FILENAME, it will be ~/SLICENAME_manifest.xml (where SLICENAME is the name of your slice).
  1. Change into the choicenet bin directory where the ChoiceNet software is located:
    cd choicenet/source/bin/
  2. Use the configure command to the getool to configure the slice with the addresses, interface, bridges, etc needed by

the ChoiceNet services:

./getool -f <MANIFEST FILENAME> -l <GENI USERNAME> -i ~/.ssh/id_rsa configure
  1. Now use the getool install command to install the ChoiceNet software:
    ./getool -f <MANIFEST FILENAME> -l <GENI USERNAME> -i ~/.ssh/id_rsa install
    This command will take several minutes to run (10-15 minutes). This is installing two different

(network layer) ChoiceNet routing and forwarding services. The following describes the two services being installed:

  1. Source-Routed Forwarding:

Unlike existing IP source routing protocols, this ChoiceNet forwarding service will only forward a packet if the packet contains proof that the sender paid for the forwarding service at each hop along the source-route. Each entry in the source-route not only identifies the next hop, but also provides a proof of purchase indicating that the sender paid for use of the next hop. This proof-of-purchase is checked at the next hop before the packet is allowed to proceed forward. Packets without proof are automatically dropped.

Senders in this model contact a Path Service (PS) that discovers multiple paths between any two nodes. The send application tells the PS what type of path is desired -- for example a High Bandwidth (and presumably expensive) path, or a Low Bandwidth path (that may be substantially cheaper). The sender also includes some form of payment in the request to the PS, who in turn formulates the best path for the sender, and then returns the best path along with the proof of purchase needed to get packets through each hop along the path. Senders then include the path and proof of purchases for each router along the path in the packet header which is examined by every router along the path.

To implement this service, we install a Click Router in the linux kernel along with a click module that implements our forwarding service. As packets enter the router they are passed to our Click module to examine them and decide whether to forward them or not. We also need to install a Path Service (PS) that sending applications contact to purchase paths. The Click routers advertise their forwarding service to the PS which in turn computes the best path (e.g., high bandwidth or low latency) and sells it to the sending application. To avoid the need to write an entirely new set of applications that are ChoiceNet-aware, we instead wrote a wrapper library that we can load with existing IPv6 applications. The wrapper library intercepts socket library calls from the application, consults a local config file to determine what type of path is needed, purchases the appropriate path from the PS, and then begins sending packets using the newly purchased path.

  1. Openflow-based Forwarding:

One forwarding service offers something akin to a source routed forwarding.

Turn on CLICK on all the Router Nodes (-R option)

./getool -f <MANIFEST FILENAME> -l <GENI USERNAME> -i ~/.ssh/id_rsa -R clickon

Turn on the Choicenet PATH Service (Details about path service provided during the tutorial)

./getool -f <MANIFEST FILENAME> -l <GENI USERNAME> -i ~/.ssh/id_rsa pathServiceOn

Send path advertisements to path service