COL 334/672 Assignment 3


Category: You will Instantly receive a download link for .zip solution file upon Payment


5/5 - (3 votes)

In this assignment, we will use NS-3 network simulator to analyse different congestion
control protocols, creating custom network topology and analysing the effect of various
parameters on the congestion window. Please make sure to use version 3.29 of NS-3.
In the first task, we will understand how the congestion window varies with respect to time in
different congestion control algorithms. A network topology has been shown in the figure
below. Your task is to build the shown topology in NS-3 (with exactly the same values of
parameters specified) and observe the questions asked.
Figure 1
1) Two nodes N1 and N2 should be connected by point-to-point link.
2) Create Tcp Source at N1 and Tcp Sink at N2.
3) The application data rate should be set to 2 Mbps.
4) The propagation delay between two nodes is 3ms.
5) The channel data rate between N1 and N2 is 5 Mbps.
6) Packet size should be 2000 bytes.
7) At N2 use RateErrorModel as the error model with error rate as 0.00001
After you have created the topology. Your task is to run the simulation for 25 seconds. (i.e
start at t = 1 sec and end at t = 25 sec) and you should fill the following table for the given
congestion control protocols:
Protocol Name Max. window size No. of Packets drop
After you have filled the table, answer the following questions in your report:
1) Include the above table with filled values.
2) Draw the graphs of Congestion window size vs time (for all the four protocols)
along with a short description of each.
3) Compare the graphs with each other. Your comparison should consist of why those
trends in graphs were observed (referring to the working mechanism of the protocols /
algorithms used by them in different phases).
4) Bbr is a new congestion control algorithm developed at google. Read and describe
what makes it different from the above mentioned protocols.
Please Note: Your report should clearly mention the steps for everything you do. Ex: You
should describe the code you updated to count the number of dropped packets, the existing
ns-3 files that you used and so on.
Figure 2
Build a topology of two nodes N1 and N2, connected by a point to point link as shown in
figure 2, N1 will be a TCP source and N2 a TCP sink, the channel delay is 3ms. At N2 use
RateErrorModel with error rate as 0.00001. Your Task is to analyse the effect of application
data rate and channel data rate on the congestion window size at sender N1. Use TCP
NewReno as the congestion window protocol. Run the connection from t=1 sec to t= 40sec,
keep packet size as 3000 bytes.
Plot the congestion window size vs time graph for the following different scenarios
a) Keeping application data rate as 5Mbps, vary channel data rates (3Mbps, 5Mbps,
10Mbps, 15Mbps, 30Mbps) between N1 and N2.
b) Keeping channel data rate as 4Mbps, vary application data rates (1Mbps, 2Mbps,
4Mbps, 8Mbps, 12Mbps) between N1 and N2.
Note: You need to plot 5 graphs for part ‘a’ and 5 graphs for part ‘b’.
Answer following questions with your observation
● How does application data rate affect congestion window size.
● How does channel data rate affect congestion window size.
● What relation do you observe between channel data rate and application data rate?
Figure 3
Create the following topology with 5 nodes as shown in figure 3, create a TCP connection
between Node1 to Node 4, Node1 as TCP source and Node4 as TCP sink, create a UDP
connection between Node5 and Node2, Node5 as UDP source and Node2 as UDP sink.(All
links are P2P)
Keep data rate of all links at 500Kbps, and link delay at 2ms.
Keep packet size as 1040 bytes, number of packets as 100000 while creating udp and tcp app
Use TCP Vegas as congestion control protocol
Run the following scenarios:
Start TCP connection at t=1s and end at t=100s, with application rate of 250Kbps
Start UDP connection at t=20s with application rate of 250Kbps such that it clogs half the
capacity of N2-N3 link capacity, run it till t=100s.
Change UDP connection application rate to 500Kbps at t= 30s such that it clogs the whole
capacity of N2-N3 link capacity.
1) Plot Congestion window size vs time graph for TCP connection
2) Indicate the points, where you observe the effect in the congestion window size of
TCP connection, when UDP connection is started and when we change the data rate
of UDP connection.
3) Also generate the pcap file for submission.
What to Submit
1. For each part, write your answers, observations, plots in a single report file.
2. Submission folder should be a single .zip or .tar.gz file containing a report file and
code for each question. Follow the directory structure as given below.
EntryNumber_ Report.pdf
Note: [only submit files that you have created or edited, and not other ns3 files]
3. The plots can be generated either using the .cc files or any other tool you wish to
choose. But make sure, that plot is generated just using commands and not by copy
pasting data values manually in excel or something like that during the demo. (Tip :
Save the output values in a separate file and write a script to process that file and
generate plots).
4. For each code file/package/libraries you submitted in the assignment, clearly describe
their purpose in the report (1 to 2 sentences are enough for each).