Starting from:

$25

ELEC3500-Lab 3 Simulation Experiment III

In this simulation experiment the basic TCP (Transmission Control Protocol) congestion control technique will be examined. TCP use the AIMD (Additive-Increase, Multiplicative Decrease) process to throttle TCP connection rates to avoid the congestion on the transmission link. This experiment will examine the AIMD technique for different traffic load conditions. This experiment will also study the effect traffic load on the RTT (Round Trip Time) and the router queue length. The simulation model use a client server architecture.

Installation Steps: 

This laboratory is designed based on the TCP congestion control technique lecture materials. The model simulates the TCP Reno protocol. The standard TCP/IP model has been modified to support the experiment. You'll need the TCPIP folder, which can be downloaded from here:

https://www.dropbox.com/s/m79p0fh7w0ps380/TCPIP.zip?dl=1 Or if you use git, clone it from here:

https://github.com/UON-ELEC3500-SAM/TCPIP.git

You need to extract it into the in the OMNeT++ samples folder. You can run either one of these commands to get the TCPIP folder automatically. DON'T include the quotations when copy and pasting into the command line, and make sure that everything is entered as a single line into the command line (i.e. don’t include the line breaks/returns). You can open a terminal in the VM by pressing Ctrl + Alt + T

"cd /tmp/ramdisk/omnetpp-5.6.2/samples && wget https://www.dropbox.com/s/m79p0fh7w0ps380/TCPIP.zip && unzip TCPIP.zip -d /tmp/ramdisk/omnetpp-5.6.2/samples" 

OR

"cd /tmp/ramdisk/omnetpp-5.6.2/samples && git clone https://github.com/UON-ELEC3500-SAM/TCPIP.git" e.g. the directory structure should look like: /tmp/ramdisk/omnetpp-5.6.2/samples/TCPIP

(i.e. DON'T extract it into the ELEC3500 directory, extract it into the directory directly ABOVE the ELEC3500 directory)

             

You will also need to import the TCPIP folder into OMNeT++:

1.     In OMNeT++ click File-Import

2.     The "Existing projects into workspace" option should be selected by default. Click the "Next" button

3.     In the "Select root directory" text box, edit the text to say "/tmp/ramdisk/omnetpp-5.6.2/samples" (without the quotation marks), then click the "Finish" button.

Also note that you need to have version 4.1.2 of the inet framework installed, the simulation WILL NOT work with the inet framework version 4.2.1. To automatically download inet 4.1.2, you can copy and paste the following commands into the command line (this time you can copy and paste each line individually into the command line i.e. enter the commands one line at a time!)

cd /tmp/ramdisk/omnetpp-5.6.2/samples 

 wget https://github.com/inet-framework/inet/releases/download/v4.1.2/inet-4.1.2-src.tgz 

tar xfzv inet-4.1.2-src.tgz 

rm -rf inet 

mv inet4 inet 

rm -rf inet-4.1.2-src.tgz Simulations Procedure:

Check the omnetpp.ini file, you will see that several parameters are listed under the heading “Parameters that needs to be changed for ELEC3500”. The default simulation parameter values are listed in table-1. Not necessarily all parameters need to be changed. Use simulation time of 200 sec. Table: 1 Simulation Parameter Values 

Parameter 
Variable 
Default Value 
Client No.
Cwindow.numClients
1
Simulation time
sim-time-limit
200.00s
Advertised window
tcp.advertised window
65535*10 B
Maximum transmission unit
ppp.mtu
4470B
Maximum segment size
tcp.mss
1000B
Router queue size
router.ppp[*].queue.frameCapacity
10 MTU
Client file Size
.Client*.app[*].sendBytes
1000 MiB
Transmission link speed** 
router.pppg++
10Mbps
            **: this parameter is in .ned file. 

Part 1: In this part of the lab, we will examine the effect of traffic load generated by multiple users on the TCP connection throughput. The OMNeT++ program labels the clients starting with an index of zero: e.g. when running with a single client, the client will be named client #0.

 

Initially, run the simulation model three times: varying the number clients from one client (i.e. only client #0), to two clients for the second simulation (i.e. clients #0, #1), and finally the third simulation with three clients (i.e. clients #0, #1, #2) for a total of three different simulations to be performed for part 1. Use default values for other parameters in the omnet.ini file.

 

 Collect following plots after the simulation. To obtain following simulation plots right click on the vector value then click on the plot then save the plot. Save plots for your report.

a.      Simulation time vs the congestion window size (cwnd) for Client #0 for all three simulations.

b.     Simulation time vs RTT (measured RTT) for client #0 for all three simulations.

c.      Simulation time vs number of duplicated ACK received by Client #0 (rcvd dupAcks), only for the final simulation (i.e. the simulation with clients #0, #1, #2)

d.     Simulation time vs Router queue lengths (queueLength:vector) for clients #0 and #1 for the second simulation (i.e. the simulation with only clients #0 and #1)

e.      Simulation time vs congestion window size (cwnd) for client #2, only for the third simulation (i.e. the simulation with clients #0, #1, #2)

Part 2:  Change the MSS (Maximum Segment Size) to 2000B and obtain following simulation results

a.      Simulation time vs the congestion window size for Client #0 for all three simulations

b.     Simulation time vs number of duplicated ACKs for Client #0, only for the second simulation

c.      Simulation time vs congestion window size for client #2, only for the final simulation

More products