Changes between Version 1 and Version 2 of GEC21Agenda/ChoiceNet/run_tests_part2


Ignore:
Timestamp:
10/17/14 01:40:11 (9 years ago)
Author:
xinming@umass.edu
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GEC21Agenda/ChoiceNet/run_tests_part2

    v1 v2  
    11Navigation: [wiki:GEC21Agenda/ChoiceNet/start Up]
    22
    3 At this point we have the Choicenet Framework setup. If you want to try the SDN implementation of ChoiceNet, you can follow these instructions.
     3After Step 2: Configure and Install ChoiceNet Software, we already have the Choicenet Framework setup. If you want to try the SDN implementation of ChoiceNet, you can follow this part of instructions.
    44
    5 We now need to run some end to end services to demonstrate the usability of "choice" within a network. For this we will run an iperf test between the end host nodes H1 and H2.
     5The 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.
    66
    7 So Open up two more ssh session terminals to the GNO Node and cd ~/choicenet/source/bin on each one
     7Although the controller and marketplace are logically separate from the users, in this tutorial, they are located on H1.
     8
     9So open up a ssh session terminal to the H1 Node and start the controller and marketplace.
    810
    911
    10 '''On TERMINAL 1'''
     12'''On TERMINAL 1 (H1 node)'''
     13
     14{{{
     15sudo /root/choicenet/geni/start_server.sh
     16}}}
     17
     18
     19this will start both the marketplace and controller.
     20
     21Open up two ssh session terminals to the H2 Node. First run the Choicenet App. The Choicenet App will communicate with marketplace to request for path service and deal with payment.
     22
     23'''On TERMINAL 2 (H2 node)'''
     24
     25{{{
     26sudo /root/choicenet/geni/start_app.sh
     27}}}
     28
     29When asked for username and password, please use the following account:
     30
     31Username: customer@choicenet.info
     32
     33Password: customer
     34
     35After 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 communicated with the marketplace and request 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.
     36
     37First start a simple http server on H1:
     38
     39'''On TERMINAL 1 (H1 node)'''
     40
     41{{{
     42sudo su
     43cd /root/
     44python -m SimpleHTTPServer 8080
     45}}}
     46
     47We then use wget on the other terminal of H2
     48
     49'''On TERMINAL 3 (H2 node)'''
     50
     51{{{
     52wget http://10.10.1.1:8080/sample.mp4
     53}}}
     54
     55After executing this command, switch to TERMINAL 2, you will see the ChoiceNet App gives you several options about the forward and revert path. Select one for each, then you will be asked to pay for the path service on a webpage.
     56
     57'''Output on TERMINAL 2 (H2 node)'''
    1158
    1259{{{
    1360#!sh
    14 cd ~/choicenet/source/bin
     61Forward recipe:
     620. Bandwidth: 10.000000 Mbps, Latency: 0.400000 ms, Price: 0.180000 dollars
     631. Bandwidth: 1.000000 Mbps, Latency: 0.400000 ms, Price: 0.160000 dollars
     64Enter selection: 1
     65Return recipe:
     660. Bandwidth: 1.000000 Mbps, Latency: 0.400000 ms, Price: 0.160000 dollars
     671. Bandwidth: 10.000000 Mbps, Latency: 0.400000 ms, Price: 0.180000 dollars
     68Enter selection: 0
     69Please pay for the services in the following webpage before you use them:
     70http://192.122.236.102/new/client/paypal/payment/service/69/2/1413512209097/39/
    1571}}}
     72
     73Copy the link to your browser, and pay for the service using paypal. You can use the test paypal account:
     74
     75Username: customer@choicenet.info
     76
     77Password: customer
     78
     79After you 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:
    1680
    1781
    1882{{{
    19 #!sh
    20 ./getool -f <MANIFEST FILENAME> -l <GENI USERNAME> -i ~/.ssh/id_rsa ssh h1
     83root@h2:~# wget http://10.10.1.1:8080/sample.mp4
     84--2014-10-16 23:02:16--  http://10.10.1.1:8080/sample.mp4
     85Connecting to 10.10.1.1:8080... connected.
     86HTTP request sent, awaiting response... 200 OK
     87Length: 73516259 (70M) [video/mp4]
     88Saving to: `sample.mp4.4'
     89
     9010% [========>                                                                                  ] 7,927,627    116K/s  eta 9m 11s
    2191}}}
    2292
    23 this will take you to H1 node (You can also directly ssh into H1 Node from your laptop if you prefer that way)
    24 
    25 on H1 Node
    26 
    27 {{{
    28 #!sh
    29 cd  choicenet/source/bin
    30 
    31 cp ../wrap .
    32 
    33 /sbin/ifconfig
    34 
    35 }}}
    36 
    37 Form the last command (ifconfig), please note down the IPV6 address of eth1. (This should begin with an fec0:: . This will be used the next terminal )
    38 
    39 Choicenet is all about choices in the network. For our iperf test run, we currently have a set the network to use the High Bandwidth path "HB". If you like to take an alternate route based on your network preference , you can use any editor (vim, pico , nano) that you prefer to edit the  ../config/config.txt and change HB to LB ( Low Bandwith) path or HBHL (High bandwidth High Latency) path as the last line.
    40 
    41 We then use a Choicenet wrapper app to convert an existing tcp application into a Choicenet application as shown below
    42 
    43 get ready to start the iperf Server here . Type the command and keep it ready . '''DO NOT RUN IT JUST YET'''
    44 
    45 {{{
    46 #!sh
    47 sudo ./wrap /usr/bin/iperf -s -V
    48 }}}
    49 
    50 
    51 '''On TERMINAL 2'''
    52 
    53 {{{
    54 #!sh
    55 cd ~/choicenet/source/bin
    56 }}}
    57 
    58 
    59 {{{
    60 #!sh
    61 ./getool -f <MANIFEST FILENAME> -l <GENI USERNAME> -i ~/.ssh/id_rsa ssh h2
    62 }}}
    63 
    64 this will take you to H2 node (You can also directly ssh into H2 Node from your laptop if you prefer that way)
    65 
    66 on H2 Node
    67 
    68 {{{
    69 #!sh
    70 cd  choicenet/source/bin
    71 
    72 cp ../wrap .
    73 
    74 }}}
    75 
    76 Choicenet is all about choices in the network. For our iperf test run, we currently have a set the network to use the High Bandwidth path "HB". If you like to take an alternate route based on your network preference , you can use any editor (vim, pico , nano) that you prefer to edit the  ../config/config.txt and change HB to LB ( Low Bandwidth) path or HBHL (High bandwidth High Latency) path as the last line.
    77 We then use a Choicenet wrapper app to convert an existing tcp application into a Choicenet application as shown below
    78 
    79 get ready to start the iperf Client here . Type the command and keep it ready . '''DO NOT RUN IT JUST YET'''
    80 
    81 {{{
    82 #!sh
    83 sudo ./wrap /usr/bin/iperf -c <IPv6 address of H1 > -V
    84 }}}
    85 
    86 (IPv6 address should be eth1 on H1 and starts with fec0)
    87 
    88 Now GOTO TERMINAL1 and run the iperf server command. Immediately then switch to TERMINAL2 and run the client command too.
     93The download speed should match the speed you select in the ChoiceNet App.