| 1 | |
| 2 | {{{ |
| 3 | #!html |
| 4 | <div style="text-align:left; width:571px; margin-left:none; margin-right:auto;"> |
| 5 | <img id="Image-Maps_7201210311729283" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Graphics/hello.png?format=raw" usemap="#Image-Maps_7201210311729283" border="0" width="571" height="68" alt="" /> |
| 6 | <map id="_Image-Maps_7201210311729283" name="Image-Maps_7201210311729283"> |
| 7 | <area shape="poly" coords="15,14,115,12,133,32,120,51,17,50," href="http://groups.geni.net/geni" alt="Wiki Home" title="Wiki Home" /> |
| 8 | <area shape="poly" coords="125,12,142,33,123,52,231,52,253,32,233,15," href="http://groups.geni.net/geni/wiki/GENIExperimenter" alt="Welcome GENI Experimenters" title="Welcome GENI Experimenters" /> |
| 9 | <area shape="poly" coords="242,13,256,32,237,52,336,56,355,30,332,11," href="http://groups.geni.net/geni/wiki/SignMeUp" alt="Sign Up For a GENI Account" title="Sign Up For a GENI Account" /> |
| 10 | <area shape="poly" coords="344,10,363,29,344,50,540,53,553,31,532,13," href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/RunHelloGENI" alt="Run Hello GENI example" title="Run Hello GENI example" /> |
| 11 | <area shape="rect" coords="569,66,571,68" href="http://www.image-maps.com/index.php?aff=mapped_users_7201210311729283" alt="Image Map" title="Image Map" /> |
| 12 | </map> |
| 13 | |
| 14 | </div> |
| 15 | }}} |
| 16 | |
| 17 | [[PageOutline]] |
| 18 | = OpenFlow Firewall and NAT Devices = |
| 19 | |
| 20 | {{{ |
| 21 | #!html |
| 22 | <table border="0" > |
| 23 | <tr> |
| 24 | <td width="350" valign="top"> |
| 25 | <h3 align="left"> <u>Overview: </u> </h3> |
| 26 | This is a very simple tutorial with two topologies demonstrating an OpenFlow Firewall and an OpenFlow NAT.<br> |
| 27 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Graphics/HelloGENIOverviewDiag.png?format=raw" alt="Hello GENI topology" align="center" height="65" title="Hello GENI topology" /> |
| 28 | </td> |
| 29 | <td> <pre> </pre> </td> |
| 30 | <td width="350" valign="top"> |
| 31 | <h3 align="left"> <u>Prerequisites: </u></h3> |
| 32 | For this tutorial you need a GENI Experimenter Portal account and be a member of at least one project. |
| 33 | <ul> |
| 34 | <li> If you have a ProtoGENI (emulab) account, then you can follow |
| 35 | <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/RunHelloGENIProtoGENI"> this version</a> of the tutorial. </li> |
| 36 | <li> If you don't have an account yet <a href="http://groups.geni.net/geni/wiki/SignMeUp"> sign up! </a></li> |
| 37 | </ul> |
| 38 | |
| 39 | </td> |
| 40 | </tr> |
| 41 | <tr> |
| 42 | <td width="350" valign="top"> |
| 43 | <h3 align="left"> <u>Tools: </u></h3> |
| 44 | All the tools will already be installed at your nodes. For your reference we are going to use: |
| 45 | <ul> |
| 46 | <li> The <a href="http://httpd.apache.org/" target="_blank"> Apache HTTP server </a> and the <a href="http://www.gnu.org/software/wget/" target="_blank"> wget utility </a> </li> |
| 47 | <li> The <a href="http://en.wikipedia.org/wiki/Iperf " target="_blank"> iperf utility </li> |
| 48 | </ul> |
| 49 | </td> |
| 50 | <td> <pre> </pre> </td> |
| 51 | <td width="350" valign="top"> |
| 52 | <h3 align="left"> <u>Where to get help: </u></h3> |
| 53 | For any questions or problem with the tutorial please email <a href="mailto:geni-users@googlegroups.com?Subject=Help%20with%20HelloGENI%20tutorial"> geni-users@googlegroups.com </a> |
| 54 | </td> |
| 55 | </tr> |
| 56 | </table> |
| 57 | }}} |
| 58 | |
| 59 | == Step-by-step Instructions == |
| 60 | |
| 61 | {{{ |
| 62 | #!html |
| 63 | <table border="0" cellpadding="0" cellspacing="0"> |
| 64 | <tr> |
| 65 | <td valign="top" align="left"> |
| 66 | <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/design.png?format=raw" width="150" alt="Design/Setup"></a> |
| 67 | </td> |
| 68 | <td> |
| 69 | <h3><u> Step 1: Get Ready: </u></h3> |
| 70 | The first thing we need to do is login to the portal. |
| 71 | <table border="0"> |
| 72 | <tr> |
| 73 | <td > |
| 74 | <ol type="a"> |
| 75 | <li> Go to <a href="http://portal.geni.net" target="_blank"> the GENI Experimenter Portal </a> press the <b> Use GENI </b> button</li> and from the Drop Down menu select your institution. If you got an account through the GENI Identity Provider, please select <b>GENI Project Office</b>. |
| 76 | <br><b>Tip:</b> Start typing the name of your institution and see the list become smaller. |
| 77 | </li> |
| 78 | <li> You will be transferred to the Login Page of your institution. <b>Fill in </b>your username and password. </li> |
| 79 | </ol> |
| 80 | </td> |
| 81 | |
| 82 | </tr> |
| 83 | </table> |
| 84 | <h3><u> Step 2: Launch your experiment: </u></h3> |
| 85 | <table border="0"> |
| 86 | |
| 87 | <tr> |
| 88 | |
| 89 | <td > |
| 90 | <ol type="a"> |
| 91 | <li> At the portal home page press the <b> create slice </b> from your project. |
| 92 | <br><b>Tip:</b> If you are not a member of any project and you don't know how to procede, <a href="mailto:help@geni.net?Subject=Help%20with%20HelloGENI%20tutorial"> email us </a> |
| 93 | </li> |
| 94 | <li> Name your slice something like <b>xxxhello</b> (where xxx are your initials)<br></li> |
| 95 | <li> Once the slice page loads, click the <b> Add Resources </b> button placed at the top left part of the screen. <br> <b>NOTE:</b> If you get a warning about not having uploaded ssh keys just follow the instructions on providing an ssh key before you proceed.</li> |
| 96 | <li> In the <b> Choose RSpec </b> section, choose the <b> Hello GENI </b> choice, which should contain: <a href="http://www.gpolab.bbn.com/experiment-support/HelloGENI/hellogeni.rspec" target="_blank"> http://www.gpolab.bbn.com/exp/HelloGENI/hellogeni.rspec</a>. </li> |
| 97 | <li> You will need to choose an aggregate where you want this topology to be instantiated. Click on the <b> Site 0 </b> box and a panel on the left side of the canvas will appear. Choose any aggregate with <i>InstaGENI</i> or <i>ExoGENI</i> in it's name. </li> |
| 98 | <li> Click on the <b> Reserve Resources </b> button on them bottom left part of the screen. </li> |
| 99 | <li> Wait while your resources are being reserved. This will take several minutes so be patient. The nodes will turn green to signify that your resources are ready. </li> |
| 100 | </ol> |
| 101 | </td> |
| 102 | <td> |
| 103 | <img border="0" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Images/JacksSite0Screen.png?format=raw" alt="Add Aggregate" height="200" title="Jacks: Add Aggregate" /> |
| 104 | </td> |
| 105 | </tr> |
| 106 | </table> |
| 107 | |
| 108 | |
| 109 | </td> |
| 110 | </tr> |
| 111 | </table> |
| 112 | }}} |
| 113 | |
| 114 | {{{ |
| 115 | #!html |
| 116 | <table border="0" cellpadding="0" cellspacing="0"> |
| 117 | <tr> |
| 118 | <td valign="top" align="left"> |
| 119 | <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/execute.png?format=raw" height="150" alt="Execute"></a> |
| 120 | </td> |
| 121 | <td> |
| 122 | <h3><u> Step 3: View Results: </u></h3> |
| 123 | For this example experiment we used the install script facility to automatically install the necessary software and kick-off the experiment. In this very simple setup, we have installed and launched a |
| 124 | <a href="[http://en.wikipedia.org/wiki/Web_server" target="_blank"> web server </a> as well as an <a href="http://en.wikipedia.org/wiki/Iperf" target="_blank"> iperf server</a>, on the server host. On the client, we have started some processes to test both of these services. To view the results of this experiment: |
| 125 | <table border="0"> |
| 126 | <tr> |
| 127 | <td > |
| 128 | <ol type="a"> |
| 129 | <li> Follow <a href="http://groups.geni.net/geni/wiki/HowTo/LoginToNodes" target="_blank"> these instructions</a> and log in to the server node. Get the control interface IP address by typing <b> ifconfig</b>. This IP address should be accessible from the internet. In a web browser, type the IP address found from <b>ifconfig</b>.</li> |
| 130 | <li> Click the <b>Web Server Statistics</b> link to look at statistics. Refresh the page a couple of times to see how the statistics change as the client requests documents.</li> |
| 131 | <li> Click the <b>Logs from the iperf Server</b> link to see the statistics from the iperf transfers.</li> |
| 132 | </ol> |
| 133 | </td> |
| 134 | |
| 135 | </tr> |
| 136 | </table> |
| 137 | <h3><u> Optional Step 4: Manually generate traffic: </u></h3> |
| 138 | While conducting experiments in GENI, you will often want to run commands directly on the nodes. In this optional step, you will log in to a node and issue commands directly to it. |
| 139 | <ol type="a"> |
| 140 | <li> Follow <a href="http://groups.geni.net/geni/wiki/HowTo/LoginToNodes" target="_blank"> these instructions</a> and log in to the client node </li> |
| 141 | <li> When you have successfully logged in, run this command:<br> |
| 142 | <code> |
| 143 | iperf -c server -P 2 |
| 144 | </code> <br> |
| 145 | This task shouldn't take more than 30 seconds. Change the number after the ` -P ` argument and watch how the performance is affected while you change the number of parallel TCP connections. |
| 146 | </li> |
| 147 | <li> Scroll all the way down the server iperf log, and look at the logs for your transfers </li> |
| 148 | </ol> |
| 149 | |
| 150 | </td> |
| 151 | </tr> |
| 152 | </table> |
| 153 | }}} |
| 154 | |
| 155 | {{{ |
| 156 | #!html |
| 157 | <table border="0" cellpadding="0" cellspacing="0"> |
| 158 | <tr> |
| 159 | <td valign="top" align="left"> |
| 160 | <img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/finish.png?format=raw" width="150" alt="Execute"></a> |
| 161 | </td> |
| 162 | <td> |
| 163 | <h3><u> Step 5: Cleanup experiment: </u></h3> |
| 164 | After you are done with your experiment, you should always release your resources so that other experimenters can use |
| 165 | the resources. In order to cleanup your slice : |
| 166 | <ol type="a"> |
| 167 | <li>Press the <b>Delete</b> button in the bottom of your Jacks canvas. </li> |
| 168 | </ol> |
| 169 | Wait and after a few moments all the resources will have been released and you will have an empty canvas again. Notice that your slice is still there. There is no way to delete a slice, it will be removed automatically after its expiration date, but remember that a slice is just an empty container so it doesn't take up any resources. |
| 170 | |
| 171 | |
| 172 | </td> |
| 173 | </tr> |
| 174 | </table> |
| 175 | }}} |
| 176 | |
| 177 | = What's next? = |
| 178 | Congratulations! You have finished your first GENI Experiment. Now that you are more familiar with GENI concepts you can: |
| 179 | * continue with more [wiki:GENIExperimenter/Tutorials advanced tutorials] |
| 180 | * learn more about how to use Jacks by following the [http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/jacks/GettingStarted_PartI/Procedure A First Experiment Using GENI and Jacks Tool] |
| 181 | * start with your own experiment. This tutorial showed you the basic steps for running an experiment. Use Jacks to create your own topology, take a look at the [wiki:HowTo/WriteInstallScript instructions about how to write your own install scripts] to automate your expriment. |