Changes between Initial Version and Version 1 of GENIExperimenter/Tutorials/jacks/GetStart_PartI_IPRoute/Procedure/Execute


Ignore:
Timestamp:
10/29/14 14:28:37 (9 years ago)
Author:
sedwards@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/Tutorials/jacks/GetStart_PartI_IPRoute/Procedure/Execute

    v1 v1  
     1= [..  Lab Zero: A First Experiment Using GENI] =
     2{{{
     3#!html
     4
     5<div style="text-align:center; width:495px; margin-left:auto; margin-right:auto;">
     6<img id="Image-Maps_5201305222028436" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Execute.jpg?format=raw" usemap="#Image-Maps_5201305222028436" border="0" width="495" height="138" alt="" />
     7<map id="_Image-Maps_5201305222028436" name="Image-Maps_5201305222028436">
     8<area shape="rect" coords="18,18,135,110" href="./DesignSetup" alt="" title=""    />
     9<area shape="rect" coords="180,18,297,111" href="./Execute" alt="" title=""    />
     10<area shape="rect" coords="344,17,460,110" href="./Finish" alt="" title=""    />
     11<area shape="rect" coords="493,136,495,138" href="http://www.image-maps.com/index.php?aff=mapped_users_5201305222028436" alt="Image Map" title="Image Map" />
     12</map>
     13<!-- Image map text links - End - -->
     14
     15</div>
     16}}}
     17
     18
     19== 4.  Configure and Initialize ==
     20
     21
     22Now that you have reserved your resources, you are ready to run your first GENI experiment.
     23
     24=== 4.1 Login to nodes ===
     25{{{
     26#!html
     27<table border="0">
     28      <tr>
     29
     30       <td >
     31         <ol type='a'>
     32            <li>To get login information for a VM from the <b>Slice Jacks</b> page, click on the node and scroll through the information on the left. In addition, depending on the configuration of your system, you may be able to click on the <i>SSH</i> button.</li>
     33            <li>However, to get login information for a VM from the <b>Slice</b> page, again click on the "slice page" link at the top of the page.</li>
     34            <li>This will bring you to the slice page and you can click on the "Details" button in your aggregate rectangle.</li>
     35          </ol>
     36<table id="Table_03" border="0" cellpadding="5" cellspacing="0">
     37        <tr>
     38        <td>
     39        <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab0_15.png?format=raw" alt="Slice Details"  width="400" title="Slice Details" />
     40         <br />
     41         <b>Figure 4-1</b> <i>Get Login VM Details</i>.</i>
     42       </td><br /><br />
     43       
     44         <td>
     45        <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/JacksLab0_10.png?format=raw" alt="Login information for a VM"  height="325" title="Login information for a VM" />
     46        <br />
     47         <b>Figure 4-2</b> <i>Login to a VM</i>.</i>
     48         </td>
     49         </tr><br />
     50</table>
     51
     52<table id="Table_03" border="0" cellpadding="5" cellspacing="0">
     53        <tr>
     54                <td>
     55                        <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Symbols-Tips-icon.png?format=raw" width="50" height="50" alt="Tip">
     56               </td>
     57               <td>
     58                    To ssh from the command line on unix-based machines, do the following (substituting the values shown on the screen):
     59<pre>
     60ssh USERNAME@HOSTNAME -p PORT
     61</pre>
     62        </td>
     63             
     64        </tr>
     65</table>
     66
     67<table id="Table_03" border="0" cellpadding="5" cellspacing="0">
     68        <tr>
     69                <td>
     70                        <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Symbols-Tips-icon.png?format=raw" width="50" height="50" alt="Tip">
     71               </td>
     72               <td>
     73                    To ssh from Windows machines, launch your favorite ssh client and substituting the values shown on the screen.
     74        </td>
     75             
     76        </tr>
     77</table>
     78
     79       </td>
     80
     81    </tr>
     82 </table>
     83}}}
     84
     85== 5.  Execute Experiment ==
     86
     87=== 5.1 Send IP traffic ===
     88The first simple experiment that we will run is to verify the IP connectivity between our hosts.
     89 
     90    a. Check the interfaces of your nodes. In the terminal type:
     91    {{{
     92   sudo ifconfig
     93  }}}
     94    You should see at least two interfaces:
     95      * The '''control interface'''. This is the interface you use to access the node, e.g. ssh into your host. The control interface is mainly used for control traffic, i.e. traffic for controlling the node and the experiment.
     96      * The '''data interface'''. This is the interface that is used for sending experimental traffic. This is the interface that connects to the other hosts of your experiment through GENI. The links between these interfaces are the ones that allow you to run non-IP experiments. '''The data interface is the one that has an IP address and mask that match what you configured before you reserved your resources.'''
     97    b. Fill in the worksheet, noting the name and  IP address of the control and of the data interfaces for each node. 
     98{{{
     99#!html
     100
     101<table id="Table_02" border="0" cellpadding="5" cellspacing="0">
     102        <tr>
     103                <td>
     104                        <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Symbols-Tips-icon.png?format=raw" width="50" height="50" alt="Tip">
     105               </td>
     106               <td>
     107                    The command prompt on each node may say "client" or "server" respectively.
     108               </td>
     109        </tr>
     110</table>
     111}}} 
     112    c. From the client, `ping` the server '''data plane interface'''. From the terminal window that is logged in to the client type :
     113{{{
     114    ping <server data IP addr> -c 5
     115}}}
     116       For example:
     117{{{
     118    ping 10.1.1.2 -c 5
     119}}}
     120    d. Now, `ping` the server '''control plane interface'''. From the terminal window that is logged in to the client type :
     121{{{
     122    ping <server control IP addr> -c 5
     123}}}
     124       For example:
     125{{{
     126    ping 172.17.1.9  -c 5
     127}}}
     128   
     129
     130=== 5.2 Install and use `iperf` ===
     131    a. Install the `iperf` software on both nodes:
     132    appropriate command below.
     133{{{
     134    sudo apt-get install iperf
     135    hash
     136}}}
     137
     138    b. Start an `iperf` server on the server node:
     139{{{
     140    iperf -s
     141}}}
     142    c. Run an `iperf` client via the data plane:
     143{{{
     144    iperf -c <server data IP addr>
     145}}}
     146       For example:
     147{{{
     148    iperf -c 10.1.1.2
     149}}}
     150''What is the bandwidth of this link?''
     151
     152''Why?''
     153    d. Run an `iperf` client via the control plane:
     154{{{
     155iperf -c <server control IP addr>
     156}}}
     157       For example:
     158{{{
     159iperf -c 172.17.2.2
     160}}}
     161''What is the bandwidth of this link?''
     162
     163''Why?''
     164    e. Type `CTRL-C` on the server node to stop the `iperf` server.
     165
     166=== 5.3 Bring down the server's data interface ===
     167
     168    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.
     169{{{
     170sudo service neuca stop
     171}}}
     172{{{
     173#!html
     174<table id="Table_03" border="0" cellpadding="5" cellspacing="0">
     175        <tr>
     176                <td>
     177                        <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/exogeni-logo.png?format=raw" width="50" height="50" alt="ExoGENI">
     178               </td>
     179               <td>The ExoGENI "neuca" service controls a variety of network configuration details.</td>
     180                   
     181        </tr>
     182</table>
     183}}}
     184    b. From the client node, start pinging the server '''data plane interface''':
     185{{{
     186    ping <server data IP addr>
     187}}}
     188    c. On the server node, bring down the '''data plane interface'''
     189    (being careful to disable the data interface NOT the control interface):
     190{{{
     191    sudo ifconfig <server data interface name> down
     192}}}
     193
     194''After you bring down the data interface, the pings should indicate that the destination is
     195unreachable.''
     196
     197''Why?''
     198
     199{{{
     200#!html
     201
     202<table id="Table_01" border="0" cellpadding="5" cellspacing="0">
     203        <tr>
     204                <td>
     205                        <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/warning-icon-hi.png?format=raw" width="50" height="50" alt="Warning">
     206               </td>
     207               <td>
     208                    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.
     209               </td>
     210        </tr>
     211</table>
     212}}}
     213
     214=== 5.4 Bring down the server's control interface ===
     215    a. From the client node, start pinging the server '''control plane interface''':
     216{{{
     217    ping <server control IP addr>
     218}}}
     219    b. From the server node, bring down the '''control plane interface''' and try to ping it from the client node:
     220{{{
     221    sudo ifconfig <server control interface name> down
     222}}}
     223
     224''Your ssh session should immediately hang.''' 
     225
     226''Why?''
     227
     228''After you bring down the control interface, the pings should indicate that the destination is
     229unreachable.  Why?''
     230
     231{{{
     232#!html
     233<table id="Table_03" border="0" cellpadding="5" cellspacing="0">
     234        <tr>
     235                <td>
     236                        <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Symbols-Tips-icon.png?format=raw" width="50" height="50" alt="Tip">
     237               </td>
     238               <td>
     239                    Unfortunately, in order to recover from a situation like this where you've lost the ability to login to your nodes, the only way to recover is to delete your resources and start again.
     240        </tr>
     241</table>
     242}}}
     243
     244== 6.  Analyze Experiment ==
     245
     246Now is when you would ordinarily analyze the results of your experiment.
     247
     248=== 6.1 Logout of your nodes ===
     249 * Then type `exit` in your open terminal.
     250
     251Congratulations you have run an experiment in GENI!
     252
     253----
     254
     255= [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartI/Procedure/DesignSetup Setup] =
     256= [wiki:GENIExperimenter/Tutorials/jacks/GettingStarted_PartI/Procedure/Finish Next:  Finish] =