Changes between Initial Version and Version 1 of GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayoutVT


Ignore:
Timestamp:
06/14/13 15:25:48 (11 years ago)
Author:
Vic Thomas
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayoutVT

    v1 v1  
     1[[PageOutline]]
     2
     3= TCP ASSIGNMENT =
     4
     5== Overview ==
     6The objective of this exercise is to understand the impact of network conditions on the TCP congestion control algorithms. [[BR]]
     7You will learn about: [[BR]]
     8 * The [http://www.hjp.at/doc/rfc/rfc2582.txt NewReno] loss recovery and intertwined congestion control mechanisms
     9 * The [http://dl.acm.org/citation.cfm?id=1400105 CUBIC] congestion control mechanism
     10 * The impact of the ''Slow Start Threshold (SSThresh)'' and ''congestion window size (CWND)''  TCP state variables on TCP network performance
     11 * Measuring the performance of TCP flows
     12 * The impact of path delay and bottleneck bandwidth on TCP performance
     13 * TCP fairness concerns
     14 * The Linux pluggable congestion control module interface.
     15
     16The following is the topology that you will be creating: [[BR]]
     17[[Image(GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout:TCPAssignment.png, 30%, nolink)]]
     18
     19
     20In this tutorial, we will show how to accomplish this assignment using either Omni or GENI Portal to:
     21 - Reserve resources (exclusive physical PCs) from ProtoGENI
     22 - Reserve resources (virtual machines) from InstaGENI
     23 - Reserve resources (virtual machines) from ExoGENI
     24
     25This Project leverages resources on the GENI aggregate in order to experiment with TCP. [[BR]]
     26
     27
     28
     29== Prerequisites ==
     30  * GENI Account:
     31    - Go to [https://www.pgeni.gpolab.bbn.com/reqaccount.php3 Request_GENI_Account] for an emulab account and to join a GENI project.
     32    - Or get a GENI Portal account via: [https://portal.geni.net Portal Main Site]
     33  * SSH
     34  * Unix command line - see the Tools section
     35
     36== Tools ==
     37The two primary tools used in this assignment are: [[BR]]
     38'''1. Traffic Control (tc)'''[[BR]]
     39The tc command is available in the GNU Linux distributions on GENI nodes, found in the ''/sbin'' directory.
     40This command manipulates the Linux network forwarding tables, allowing for configuration of queuing disciplines,
     41which change the policies controlling which packets are forwarded in what order and which are dropped; and network
     42emulation, which allows the Linux kernel to emulate various network conditions such as delay or loss.
     43These two effects are provided by the qdisc and netem subcommands, respectively.
     44In these exercises, tc will be used to modify network conditions and enable different scheduling policies.
     45Example command lines will be provided.
     46
     47'''2. [http://iperf.sourceforge.net/ Iperf]'''[[BR]]
     48Iperf is available on the GENI nodes, located at ''/usr/local/etc/emulab/emulab-iperf''.
     49Iperf is used to measure the bandwidth performance of Internet links. In these exercises,
     50it is used to study the behavior of TCP in the face of changing link characteristics.
     51Iperf runs as both a server and a client. The server is started with the -s command line option,
     52and listens for connections from the client. The client is started with the ''-c <server>'' command line option,
     53and connects to the server and sends data at either the fastest possible rate (given the underlying network)
     54or a user-specified rate. The -u option causes the sender or receiver to use UDP instead of TCP.
     55Various other options will be required for these exercises, and provided in the appropriate sections.
     56All Iperf measurement data should be recorded from the TCP receiver (server) side.
     57
     58== How to get Help ==
     59 * If you are using a specific aggregate or tool, you should consider registering in their [wiki:NikySandbox/GENIExperimenter/GENICommunity#Joinusermailinglists mailing list]. It is a great way to get connected with other GENI users and it is an excellent source of wisdom.
     60 * Send mail to the GENI help list: [mailto:help@geni.net].
     61 * If you want to chat real-time with other GENI users and ask questions, [wiki:HowTo/ConnectToGENIChatRoom join us] in a GENI chatroom.
     62
     63== Resources ==
     64 * GENI resources include a variety of computational and network assets, all programmable by experimenters.  Resources are made available to experimenters by GENI ''aggregates''.  The [wiki:UnderstandingGENI UnderstandingGENI page] has more information in its [wiki:UnderstandingGENI#a2AnExperimentersViewofGENI "An Experimenter's View of GENI"] and [wiki:UnderstandingGENI#a3GENIResources "GENI Aggregates"] sections.
     65
     66== Tutorial Instructions ==
     67{{{
     68#!html
     69
     70
     71<table id="Table_01" height="409" border="0" cellpadding="0" cellspacing="0">
     72        <tr>
     73                <td>
     74                        <a href="http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/DesignSetup"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/design.png?format=raw" width="152" height="152" alt="Design/Setup"></a>
     75               </td>
     76               <td>
     77<ul>
     78             <li><a href="http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/DesignSetup">Part I: Design/Setup</a></li>
     79             <ul>
     80                 <li> Lists of steps for setting up the exercise </li>
     81             </ul></ul>
     82               </td>
     83        </tr>
     84        <tr>
     85                <td>
     86                        <a href="http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/Execute"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/execute.png?format=raw" width="152" height="143" alt="Execute"></a>
     87                </td>
     88                <td>
     89             <ul>
     90<li><a href="http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/Execute">Part II: Execute</a></li>
     91             <ul>
     92                 <li> Lists of steps for executing the exercise</li>
     93             </ul></ul>
     94                </td>
     95        </tr>
     96        <tr>
     97                <td>
     98                        <a href="http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/Finish"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/finish.png?format=raw" width="152" height="114" alt="Finish"></a>
     99                </td>
     100
     101                <td>
     102             <ul>
     103             <li><a href="http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/TcpAssignment/ExerciseLayout/Finish">Part III: Finish</a></li>
     104             <ul>
     105                 <li> Lists of steps for tearing down the exercise</li>
     106             </ul></ul>
     107                </td>
     108
     109        </tr>
     110</table>
     111
     112}}}