Changes between Version 3 and Version 4 of GENIExperimenter/Tutorials/GettingStarted_PartI/Procedure/Execute


Ignore:
Timestamp:
01/10/14 16:16:07 (10 years ago)
Author:
sedwards@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/Tutorials/GettingStarted_PartI/Procedure/Execute

    v3 v4  
    6666}}}
    6767
    68 === 4.2 (optional) Download and compile experiment software ===
    69 
    70 This step is only required if you are going to do step 5.2.
    71 
    72  a. In the first terminal, download the pingPlus software:
    73 {{{
    74 wget http://www.gpolab.bbn.com/experiment-support/Layer2Ping/pingPlus-0.2.tar.gz
    75 }}}
    76  b. Decompress the pingPlus software:
    77 {{{
    78 tar xvfz pingPlus-0.2.tar.gz
    79 }}}
    80  c. If you are using an ExoGENI rack, first install the compiler.
    81 {{{
    82 sudo apt-get update
    83 sudo apt-get install build-essential
    84 }}}
    85 {{{
    86 #!html
    87 <table id="Table_03" border="0" cellpadding="5" cellspacing="0">
    88         <tr>
    89                 <td>
    90                         <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/instageni-logo.png?format=raw" width="50" height="50" alt="InstaGENI">
    91                </td>
    92                <td>The default image on the InstaGENI rack already includes a C compiler.</td>
    93                    
    94         </tr>
    95 </table>
    96 }}}
    97  d. Compile the pingPlus software.
    98 {{{
    99 cd pingPlus-0.2
    100 make
    101 }}}
    102  e. Your output should look like this:
    103 {{{
    104 client:~% wget http://www.gpolab.bbn.com/experiment-support/Layer2Ping/pingPlus-0.2.tar.gz
    105 --2013-07-05 09:32:26--  http://www.gpolab.bbn.com/experiment-support/Layer2Ping/pingPlus-0.2.tar.gz
    106 Resolving www.gpolab.bbn.com (www.gpolab.bbn.com)... 192.1.249.17
    107 Connecting to www.gpolab.bbn.com (www.gpolab.bbn.com)|192.1.249.17|:80... connected.
    108 HTTP request sent, awaiting response... 200 OK
    109 Length: 4726 (4.6K) [application/x-gzip]
    110 Saving to: `pingPlus-0.2.tar.gz'
    111 
    112 100%[================================================================================================================================================================>] 4,726       --.-K/s   in 0.07s
    113 
    114 2013-07-05 09:32:27 (69.1 KB/s) - `pingPlus-0.2.tar.gz' saved [4726/4726]
    115 
    116 client:~% tar xvfz pingPlus-0.2.tar.gz
    117 ./._pingPlus-0.2
    118 pingPlus-0.2/
    119 pingPlus-0.2/._Makefile
    120 pingPlus-0.2/Makefile
    121 pingPlus-0.2/._packetFunctions.c
    122 pingPlus-0.2/packetFunctions.c
    123 pingPlus-0.2/._packetFunctions.h
    124 pingPlus-0.2/packetFunctions.h
    125 pingPlus-0.2/._pingPlus.c
    126 pingPlus-0.2/pingPlus.c
    127 pingPlus-0.2/._pingPlusListener.c
    128 pingPlus-0.2/pingPlusListener.c
    129 pingPlus-0.2/._README
    130 pingPlus-0.2/README
    131 client:~% cd pin
    132 pingPlus-0.2/        pingPlus-0.2.tar.gz
    133 client:~% cd pingPlus-0.2
    134 client:~/pingPlus-0.2% make
    135 gcc    -c -o packetFunctions.o packetFunctions.c
    136 gcc    -c -o pingPlusListener.o pingPlusListener.c
    137 gcc  packetFunctions.o pingPlusListener.o  -o pingPlusListener
    138 gcc    -c -o pingPlus.o pingPlus.c
    139 gcc  packetFunctions.o pingPlus.o -o pingPlus
    140 }}}
    141  f. Repeat the above in the second terminal.
    142 
    14368== 5.  Execute Experiment ==
    14469
     
    195120=== 5.2 (optional) Send non-IP traffic ===
    196121
    197 Doing this step requires that you did step 4.2 above.
    198 
    199 GENI provides the capability of running non-IP experiments, since you can connect your hosts at Layer 2. For the purpose of this tutorial we will use a very simple Layer 2 ping program that sends packets using a custom ethernet type.
    200 
    201     a. ExoGENI nodes run a service called "neuca" that managed network interfaces on the node.  To manually adjust the IP address, we must first disable neuca on both nodes.
    202 {{{
    203 sudo service neuca stop
    204 }}}
    205 {{{
    206 #!html
    207 <table id="Table_03" border="0" cellpadding="5" cellspacing="0">
    208         <tr>
    209                 <td>
    210                         <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/exogeni-logo.png?format=raw" width="50" height="50" alt="ExoGENI">
    211                </td>
    212                <td>The ExoGENI "neuca" service controls a variety of network configuration details.</td>
    213                    
    214         </tr>
    215 </table>
    216 }}}
    217     b. Disable the IP on both of your nodes (being careful to disable IP on the data interface NOT the control interface).
    218        In each of the terminals type:
    219 {{{
    220   sudo ifconfig <data interface name> 0.0.0.0
    221 }}}
    222 {{{
    223 #!html
    224 
    225 <table id="Table_01" border="0" cellpadding="5" cellspacing="0">
    226         <tr>
    227                 <td>
    228                         <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/warning-icon-hi.png?format=raw" width="50" height="50" alt="Warning">
    229                </td>
    230                <td>
    231                     Be extra careful to disable the IP on the data interface, bringing down the IP on the control interface means that you will lose connectivity to your host.
    232                </td>
    233         </tr>
    234 </table>
    235 }}}
    236     c. Try again to ping from the client to the server. In the terminal window of the client type:
    237 {{{
    238     ping <server data IP addr> -c 5
    239 }}}
    240        For example:
    241 {{{
    242     ping 10.17.1.2 -c 5
    243 }}}
    244     This time the ping should indicate that the destination is unreachable.
    245     d. Start the Layer 2 ping server. In the server terminal window, type:
    246     {{{
    247   sudo ~/pingPlus-0.2/pingPlusListener <EtherType from worksheet>
    248   }}}
    249     e. From the client try to ping the server at layer 2. You will need the mac address of the data interface of the server, the name of the data interface of the client, and the !EtherType from your worksheet. In the terminal window of the client, type:
    250     {{{
    251 sudo ~/pingPlus-0.2/pingPlus <server mac> <client i/f name> <EtherType>
    252 
    253 where <server mac> is the server's data interface's MAC address,
    254 <client i/f name> is the client data interface's name, and
    255 <EtherType> is the EtherType from the worksheet.
    256   }}}
    257     The result should look like :
    258     {{{
    259 $ sudo ~/pingPlus-0.2/pingPlus 02:00:9B:48:3E:20 eth3742 10001
    260 RQ:'5582+2067' to 2:0:9b:48:3e:20.
    261 RL:5582+2067 from 2:0:3e:15:6c:ab.
    262 }}}
    263 
    264122== 6.  Analyze Experiment ==
    265123