Answered step by step
Verified Expert Solution
Question
1 Approved Answer
The objective of this project is to help you learn the network simulator ns3, and help you to gain the in-depth understanding of TCP
The objective of this project is to help you learn the network simulator ns3, and help you to gain the in-depth understanding of TCP through simulation. Instructions: You need to submit a project report, along with your ns3 scripts for your experiments and the generated trace files and graphs. We should be able to execute your codes in our machines. You need to type your project report using some editing software, and submit it as a PDF file. Your project should be written with good readability, clearly describing the problem, your codes for the simulation, the generated trace files and the associated graphs, and your analysis. Electronically submit your project report and NS3 codes in one zipped package, titled as "ID_Lastname_prjt2.zip", through the blackboard system. Your report is due at 23:59 pm, April 30, 2023, Chicago time. LATE submission will not be graded and lead to a "0" grade. Validity of the ns3 codes from remote students will be checked by TA. In cases that "copy" issues are detected, the involved projects will be reported to related department/university offices. Grade (100 points) Implementation 50%, Graphs: 20%, Analysis: 30% Description: NS3 is a widely used discrete event simulator for network analysis. In this project, you will study the implementation of the TCP protocol using ns3 simulation. You will study the various flavors of TCP and how the behavior of TCP changes according to the background traffic. You may need to find and read related RFCs or other references to learn the implementation details of the TCP protocols (i.e.. Reno, Westwood) considered in this project. Consider a network with 6 nodes and 5 links as shown below. The link capacities are given in the figure, where the link 3-4 is the bottleneck of the topology. All links have a propagation delay of 10 ms and a drop-tail queue. The following specifications apply to all the experiments: In the experiments, start with default values for all the variables, and then do necessary modifications according the problem specification. Each TCP connection is created with an FTP flow running on top of it, transferring data from the source node to the destination node. When the flavor of TCP is not mentioned, assume TCP Reno. All your results and observations should be supported by your simulation script and trace files. Generating graphs when necessary or required to better demonstrate your observations. 1 2 3 Mbps 3 Mbps 3 1.5 Mbps 4 3 Mbps 3 Mbps 5 6 Part 1: Efficiency of the TCP congestion control, flow control, and reliable data transfer protocols In the first part, create a single TCP connection between node-1 (source) and node-5 (destination). and no other background traffic is considered. Do experiments to observe the operations of TCP. 1. Use the default parameters, and run your simulation from 0 to 10 seconds. Analyze your simulation results and answer the following questions. What is the total number of segments and the number of bytes successfully transmitted during the 10 seconds? What is the average throughput achieved? How does this compare with the bottleneck bandwidth in your topology? Then, change the queue size used at node 3 to a value much smaller than the default value in one case, and to a value much larger than the default value in the other case. Run simulations to obtain the average throughput in these two cases, respectively. Do you get different average throughputs compared to that under the default queue size? Explain your observations? 2. Set the queue size in the bottleneck link to a proper finite value, so that retransmission and congestion control due to packet dropping and timeout can be observed. Set the receive window large enough to bypass the flow control. You need to write appropriate codes to trace the congestion window, RTT, Estimated RTT and TimeoutInterval. Run your simulation for long enough time, so that you can capture some packet loss events and timeout events; using multiple simulation runs to capture such events is also fine. Plot the congestion window (cwnd) as a function of time. Use the graphs generated from one or multiple simulation runs to demonstrate the options of slow start, congestion avoidance, the reaction to triple duplicate ACK, and the reaction to timeout. Plot the RTT and Estimated RTT as a function of time according to one of your trace files, to obtain a similar graph to Fig. 3.32 in our textbook. Use necessary trace data or graphs to illustrate the option of "doubling the timeout interval" upon the retransmission due to timeout events. for implementation Run simulations to investigate the relationship between the TCP throughput and the packet loss rate. In this example, set the capacity for all the 5 links to a large value (50 Mbps or larger), i.e., link 3-4 is not a bottleneck link in this experiment. Also use a large queue size at each node to avoid packet drop due to queuing. You need to modify the loss rate at the link 3-4 by using the rate error model (refer to https://www.nsnam.org/docs/models/html/error-model.html and https://www.nsnam.org/doxygen/classns3 1 1 rate error model.html details). Run simulations long enough with the loss rates of 104, 10, 102, and 10- at link 3-4, and calculate the throughput for each scenario, respectively. Plot the TCP throughput vs. packet loss curve. In addition, please calculate and plot the throughput curve according to the 1.22. MSS equation averagethroughput == RTT L Compare the throughput curve from the mathematical analysis to the throughput curve obtained from the simulation. Do the two curves have the similar shape? Are they close enough? What is the possible reason if the analytical curve deviates from the simulation results in some degree? 3. Go back to the original link-capacity configuration as given in the figure on page-1, and use it in all the following experiments (including Part 2). Adjust the value of the receive window and other related parameters if necessary to create a scenario for demonstrating the effect of flow control. Use necessary trace data or graph to illustrate your observations of flow control option.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started