Network Simulator

21
Project Report NS2 Simulation Anand Shah CWID#10433548

description

Project on NS2

Transcript of Network Simulator

Page 1: Network Simulator

Project Report NS2 Simulation

Anand Shah CWID#10433548

Page 2: Network Simulator

We have the following data for the simulation.

• Link 3-4 is the bottleneck of the topology. • All links have a propagation delay of 10 ms. • All links have drop-tail queue.

TCP is widely used, reliable, connection-oriented protocol. Here with the use of Network Simulator 2 we are trying to understand various mechanism used in different versions of TCP protocol, used for congestion control, flow control and other mechanism for reliable data transfer. With the use of NS2 we will make a network shown in figure and will simulate it with different conditions like different queue sizes, window size, different bandwidth etc… And hence will be able to characterize different characteristics of TCP protocol. If not given default TCP Tahoe is used.

Page 3: Network Simulator

Part 1 1 Command used: and output. Byte Transferred: awk '{if($3=="0") sum +=$6 } END {print sum}' P11.tr Total number of bytes transferred : 5536040 Segment Transferred: awk '{if($3=="0"&& $6=="40") sum +=$6 } END {print sum/40}' P11.tr Number of segments of size 40 : 3 awk '{if($3=="0"&& $6=="1040") sum +=$6 } END {print sum/1040}' P11.tr Number of segments of size 1040 : 5323 Total Segments = 3 + 5323 = 5326 Average Throughput: (queue size = 50 (default)) awk '{if((($3=="2" && $4=="3")||($3=="3" && $4=="2")) && $1=="r" && $5=="tcp") sum +=$6} END {print sum*.8}' P11.tr Throughput = 1466848 bps As bottleneck capacity is 1.5Mbps and we are getting almost 1.4Mbps of Throughput which fits in 1.5Mbps link and is very good value of Throughput. Queue size = 5 Throughput = 1099936 Queue Size = 500 Throughput = 1466848 With these three observation we can see that for default queue size that is 50 throughput is almost maximum. It is not increasing with queue size. And as we decrease queue size average throughput will decrease with that. Files : /Part1/P11.tcl /Part1/Part11.nam /Part1/P11.tr 2 For congestion window, rtt and timeout. Graphs can be seen by these commands. xgraph P12srtt.tr #for Ertt xgraph P12cwnd.tr & #for Congestion window xgraph P12rto.tr & #for rto xgraph P12rtt.tr & #for rtt

Page 4: Network Simulator

Graph for Congestion Window

Graph for RTT

Page 5: Network Simulator

Graph for EstRTT

Graph for RTO

Page 6: Network Simulator

Files : /Part1/P12.tcl /Part1/Part12.nam /Part1/ P12srtt.tr /Part1/ P12cwnd.tr /Part1/ P12rto.tr /Part1/ P12rtt.tr

Page 7: Network Simulator

Part 2 2

Throughput TCP

Page 8: Network Simulator

Throughput UDP The reason for this is The UDP applications achieve higher throughput than the elastic TCP applications. UDP achieves higher throughputs than TCP in a congestion episode due to the elasticity (back-off) of the TCP protocol. Files : /Part2/P22.tcl /Part2/Part22.nam /Part2P21.tr /Part2P22.tr /Part2P22.tr

Page 9: Network Simulator

3 TCP + TCP: Both flows are TCP, with a maximum window size (MWS) of 30 packets for flow-1 and 6 packets for flow-2.

For queue size = 50

Page 10: Network Simulator

For queue size = 40 Red line in the graph indicates TCP with window size = 30 And green line indicates TCP with window size = 6 As we can see from graphs that as windows size increases throughput of TCP increases. And both are used simultaneously then TCP with high window size will utilize channel more then other one. Files : /Part2/P23.tcl /Part2/Part23.nam /Part2/P231.tr /Part2/P232.tr /Part2/P233.tr

Page 11: Network Simulator

4 TCP + TCP: Both flows are TCP, with a packet size of 1000 bytes for flow-1 and 500 bytes for flow-2, respectively. Choose the same MWS for the two flows.

For queue size = 40

Page 12: Network Simulator

For queue size = 50 Green line indicates TCP with packet size = 1000 Red line indicates TCP with packet size = 500 For default queue size that is 50 both flow gets almost same throughput. But as queue size decreases TCP with window size 1000 will utilize channel more then other as shown in 1st graph. Files : /Part2/P24.tcl /Part2/Part24.nam /Part2/P241.tr /Part2/P242.tr /Part2/P243.tr

Page 13: Network Simulator

5 TCP Tahoe + TCP Reno: Flow-1 is TCP Tahoe, and TCP-2 is TCP Reno. Choose the same MWS for the two flows.

Queue size = 50

Page 14: Network Simulator

Queue size = 40

Queue size = 50 (vs time)

Page 15: Network Simulator

Queue size = 40 (vs time) Green line indicates TCP/Reno and red line indicates TCP/Tahoe As we can see from graph that with default queue size both TCP gets almost same Throughput But as windows size decreases to 40 TCP/Reno gets more throughput then TCP/Tahoe. Files : /Part2/P25.tcl /Part2/Part25.nam /Part2/P251.tr /Part2/P252.tr /Part2/P253.tr /Part2/P254.tr

Page 16: Network Simulator

6 TCP Tahoe + TCP SACK: Flow-1 is TCP Tahoe, and TCP-2 is TCP SACK.

Queue size = 40

Page 17: Network Simulator

Queue size = 50

Queue size = 40 (vs time)

Page 18: Network Simulator

Queue size = 50 (vs time) Green line indicates TCP/SACK and red line indicates TCP/Tahoe With graph we can see that TCP/SACK is more efficient then TCP/Tahoe as it uses selective acks its performance and throughput increases. Files : /Part2/P26.tcl /Part2/Part26.nam /Part2/P261.tr /Part2/P262.tr /Part2/P263.tr /Part2/P264.tr

Page 19: Network Simulator

7 TCP Tahoe + TCP SACK: Read about TCP with selective acknowledgement (TCP SACK). Flow-1 is TCP Tahoe, and TCP-2 is TCP SACK. Choose the same MWS for the two flows.

Queue size = 40

Page 20: Network Simulator

Queue size = 50

Queue size = 40 (vs time)

Page 21: Network Simulator

Queue size = 50 (vs time) Green line indicates TCP/SACK and red line indicates TCP/Reno As we can see by graph that performance of TCP/SACK is better then TCP/Reno when window size is less, and almost same as performance of TCP/Reno while window size is default. Files : /Part2/P27.tcl /Par2/Part27.nam /Part2/P271.tr /Part2/P272.tr /Part2/P273.tr /Part2/P274.tr 8 As shown by last three graphs we can conclude that TCP/Reno is more efficient then TCP/Tahoe. And TCP/SACK is more efficient then TCP/Rano. So we can put them in decreasing order as. TCP/SACK > TCP/Reno > TCP/Tahoe.