wiki:GEC21Agenda/ChoiceNet/run_tests_part2

Version 15 (modified by griff@netlab.uky.edu, 9 years ago) (diff)

--

Navigation: Up

In this section, we will use another ChoiceNet service to route and forward packets across the slice. In particular, we will use an SDN-based (i.e., OpenFlow-based) ChoiceNet service to forward packets. During the Configure and Install !ChoiceNet Software step we already downloaded and configured the software needed for this section, consequently the next step is to run applications that will make use of this new SDN-based service.


Start ChoiceNet server and app

The SDN-based implementation has an SDN controller that knows the network topology and detect the path services. It also has a marketplace server which accepts the service advertisement from controller and handles the user request.

Although the controller and marketplace are services offered by providers and conceptually should be run on provider machines, for purposes of this tutorial they are located on H1 (to reduce the number of VMs in the slice).

Like we did in the previous section, we will be using the ssh terminal sessions to nodes H1 (TERMINAL 1 ) and H2 (TERMINAL 2). We will begin by starting the controller and marketplace on H1 (TERMINAL 1).

On TERMINAL 1 (H1 node)

sudo /root/choicenet/geni/start_server.sh

this will start both the marketplace and controller.

Open up two ssh session terminals to the H2 Node ( we can call them TERMINAL 2 and TERMINAL 3 ). First run the ChoiceNet App on TERMINAL 2. The ChoiceNet App will communicate with marketplace to request for path service and deal with payment.

On TERMINAL 2 (H2 node)

sudo /root/choicenet/geni/start_app.sh

When asked for username and password, please use the following account:

Username : customer@choicenet.info

Password : customer

After login, the app will intercept any TCP SYN packets with destination IP 10.0.0.0/8 and destination port 8080 or 443. Once it intercepts a packet, it communicates with the marketplace and requests for a path service with 3-minute duration. This means it is compatible with almost any existing network applications, here we will use wget and mplayer as two examples.


Test 1: wget download test

First start a simple http server on TERMINAL 1:

On TERMINAL 1 (H1 node)

sudo /root/choicenet/geni/start_httpserver.sh

We then use wget on TERMINAL 3

On TERMINAL 3 (H2 node)

wget http://10.10.1.1:8080/sample.mp4

After executing this command, switch to TERMINAL 2, you will see the ChoiceNet App gives you several options about the forward and revert path. Each path is valid for 3 minutes.

Select one for each, then you will be asked to pay for the path service on a webpage.

Copy the link to your browser, and pay for the service using paypal. You can use the test paypal account:

Username : customer@choicenet.info

Password : customer

After you have paid, click the "Return to marketplace@choicenet.info". After the webpage redirection, the marketplace will be notified about this payment, and the download should start. You will see the output on TERMINAL 3:

xinming@h2:~# wget http://10.10.1.1:8080/sample.mp4
--2014-10-16 23:02:16--  http://10.10.1.1:8080/sample.mp4
Connecting to 10.10.1.1:8080... connected.
HTTP request sent, awaiting response... 200 OK
Length: 73516259 (70M) [video/mp4]
Saving to: `sample.mp4'

10% [========>                                                                                  ] 7,927,627    116K/s  eta 9m 11s

You don't have to wait for the download to complete. Press Ctrl-C to cancel download after you have verified the download speed matches the speed you selected.

If you want to start over and try another choice, just re-do the "wget" command on TERMINAL 3. But please make sure it has been 3 minutes since your last successful payment, so that the previous service can expire.


Test 2: mplayer

One possible use case of ChoiceNet is the on-demand online video streaming. In this test, we are using mplayer to stream a video from H1 to H2, and print the statistics on H2. You will see the playback quality varies for different choices.

The steps of testing with mplayer is similar to testing with wget, just repeat the commands in Test 1, but replace the wget command with the following command:

On TERMINAL 3 (H2 node)

mplayer http://10.10.1.1:8080/sample.mp4 -vo null -nosound

After you have paid for the path service, you can see the streaming starts and the statistics print on H2. If you choose the 1 Mbps link, you will notice the cache utilization is below 50% and the performance issue warning.

Attachments (4)

Download all attachments as: .zip