# Introduction ransmission Control Protocol (TCP) is the most widely used transport layer protocol in the Internet and one of the most important standards for best effort, reliable data transmission. Today's Internet traffic uses predominately TCP, as for applications like HTTP for Web Browsing, FTP for file transfer or SMTP for Electronic Mail Transfer. The performance perceived by users of these Internet applications depends largely on the performance of TCP [1]. Considering that the TCP/IP protocol suite is the foundation of the Internet this comes as no surprise. TCP provides a secure and reliable transfer of information. Therefore it is used by most of the existing Internet applications today and more than 90 percent of all data transfers use TCP. The evolution of the Internet has in turn led to evolutions in the TCP protocol. transport layer and the application layer. The transport layer can be looked upon as the heart of the whole protocol hierarchy. It provides data transport for the application layer above it. Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) are two different transport protocols in the TCP/IP protocol suite. The transport protocol used in a particular situation depends on the concerned application. The first implementation of TCP, simply called TCP, was succeeded by a new version: TCP Tahoe. These two versions share the fundamental rules of information transportation, but differ in the solutions. This has led to the expression 'TCP clones'. TCP clones is an expression used for talking about different versions of TCP, considering they all share the same basic functions and purpose. There are many implementations of TCP, each operating slightly differently and even some with significant problems. There are numbers of variants of TCP that are currently deployed. Such as Tahoe, Reno, New Reno, Sack, Vegas, Westwood, Fack and Veno. In this thesis we will discuss the five version of TCP that is Tahoe, Reno, New Reno, SACK and Vegas. This project will investigate the performance comparisons of these aforementioned versions of TCP and find out which one is better in which cases. # II. # Performance Metrics Performance metric is one type of parameter. Setting this parameter we have calculated throughput which indicates the performance of the protocol. In this paper five different parameters have been used for measuring the performance of each protocol. These metrics or parameters are briefly described in the following section: ? Bandwidth: The number of packets in transit for every time instant (sec TCP/IP is considered to be a five layer system: the physical layer, the link layer, the network layer, the Using these above metrics which are called performance metrics this project calculates throughput. The throughput can be defined TCP, Tahoe, Reno, New Reno, Sack, Vegas. # Global Journal of Computer Science and Technology Volume XIII Issue XVI Version I Throughput: How well does the network deliver packets from source to destination? i.e. Throughput =[total sent data-total retransmit data]/time Throughput generally represents in Mbps. It may also be expressed by Bps (Bytes per sec). # III. # Simulation Result & Analysis The network topology as shown in Figure 1 consist six nodes, two nodes represent as router and rest are represent as computer transreceiver station. Now two TCP agent are attached over the node N0 and N1. Then two traffic sources are attached to the node N0 and N1 that are treated as sender and two traffic sinks attached to the node N4 and N5 that are treated as receivers. We define the bandwidth between two routers N2 and N3 is 0.3 Mbps in each direction and also define the delay is 20 ms. The buffer size of the link N2 to N3 is maximum 5 packets. The FTP traffic sources like ftp0 and ftp1 has been attached to node N0 and N1 respectively. Fixing up total simulation time and starting time of traffic source ftp0 and ftp1, the written for one of the protocol like Tahoe is executed. After the execution of the we get a trace file for Tahoe. Likewise, we get more four trace files for remaining four versions of TCP like Reno, New Reno, SACK and Vegas. Based on these trace files, throughput (Bps) is calculated for each cases in every 10 seconds. The values of these throughputs with respect to time are shown in Figure 2. The average network throughput as shown in Table 1. of node N2 is maximum 20 packets. When a link is created using OTcl language; normally that link will be error less. But here we manually include an error model that inserts any percentage of error into the specified link. In order to analysis the performance of TCP versions, the error model has been inserted into the link between N2 and N3. Then the like are executed. After execution of the program we will get throughput of the network. This process is repeated for all of the protocols and stores the network throughput by changing the error rate. Figure 3 shows the network throughput for all five protocols with respect to the error rate. Consider the topology as shown if Figure 1. In order to analysis the parameter bandwidth we will change the bandwidth of the link N2 and N3 and calculate the throughput of the network. The propagation delay and queue limit of the link N2 to N3 is 20 ms and 20 packets respectively. After execution of Figure 6 shows the throughput of five TCP versions with respect to the number of traffic source. Consider the network topology as shown in Figure 1. The bandwidth of the link between N2 to N3 is fixed 1 Mbps and the queue limit of N2 is maximum 20 packets. Now we calculate the throughput of the network by changing the propagation delay of the link between N2 to N3. Figure 7 shows the throughput of five TCP protocols as compared to the propagation delay. Calculate network throughput by changing the buffer size of router N2. Figure 8 shows the throughput for five TCP protocol as compared to the buffer size. Sack perform well, but the throughput of Vegas is constant after some times because Vegas uses time based bandwidth estimation scheme to control its congestion window. From the Table 1 we see that the average network throughput of Tahoe is less from Reno, New Reno, Sack and Vegas. The average network throughput of Vegas is better from the other four TCP versions. # Throughput (Bps) If the link has some error then which TCP clones perform well. From the Figure 3 we see the result. When the link error below 4% then the Vegas perform better and when link error greater than 4% then the New Reno and Sack perform well. But the network throughput will be decrease as increasing the error rate. From the Figure 4 we see that the throughput is linearly increased as increasing the bandwidth of the link N2 to N3. From the Figure 6 we see that TCP Vegas is better. The throughput of TCP Vegas always better as increasing the number of traffic sources. When the number of traffic source is less than 15 then TCP Sack and TCP New Reno perform well from rest of four TCP versions. The network throughput of TCP Tahoe, Reno, New Reno and Sack is constant as increasing the number of traffic source. From the Figure 7 we see that, when propagation delay is greater than 100 ms, the performance of these protocols is not good. But when propagation delay is less than 100 ms, TCP Vegas perform well. From Figure 8 we also see that the performance of TCP Vegas is better as increasing the buffer size of router N2. 1![Figure 1 : Simulation Topology 1](image-2.png "Figure 1 :") 2![Figure 2 : Throughput Vs Time a) Throughput Vs Error rateIn this case we consider the same topology as shown in Figure1, but the bandwidth of the link N2 to N3 is set to 1 Mbps and delay is 20 ms. The buffer size](image-3.png "Figure 2 :") 3![Figure 3 : Throughput Vs Error rate b) Throughput Vs Bandwidth](image-4.png "Figure 3 :") 45![Figure 4 : Throughput Vs Bandwidth c) Throughput Vs No Of Traffic Modify the topology of Figure 1, just increase the no of senders of router N2 side and also increase the receiver of router N3 side as shown if Figure 5. Calculate the network throughput by increasing the no of senders and receivers for all of the five protocols. Each source communicates with destination via N2 to N3 link. The bandwidth of link N2 to N3 is 5 Mbps and propagation delay is 10 ms.](image-5.png "Figure 4 :Figure 5 :") 6![Figure 6 : Throughput Vs No of Traffic source d) Throughput Vs Delay](image-6.png "Figure 6 :") 7![Figure 7 : Throughput Vs Propagation Delay e) Throughput Vs Buffer Size Consider the same network topology as shown in Figure 1. Fixing up the bandwidth and propagation delay of the link between N2 to N3 is 2Mb and 10 ms.Calculate network throughput by changing the buffer size of router N2. Figure8shows the throughput for five TCP protocol as compared to the buffer size.](image-7.png "Figure 7 :") 8![Figure 8 : Throughput Vs Buffer Size IV.](image-8.png "Figure 8 :") 1Tahoe34325.75Reno35159.09New Reno35469.69Sack35462.12Vegas36969.69 Performance Analysis of TCP Tahoe, Reno, New Reno, Sack and Vegas Using NS-2 * Investigation of TCP Performance Over Wireless Internet Peh Wee Liang October, 2004 ENG 4112 Research Project * BCraig Warrington Cameron Eng Hons.) (Melb.), M.S. (Caltech), "Optical Burst Switching: Towards Feasibility April 2005 * Simulation-based Comparisons of Tahoe, Reno, and SACK TCP KevinFall SallyFloyd Lawrence Berkeley National Laboratory * TCP-X: An NS-2 environment for implementation and evaluation of TCP clones MichaelHallen Creutz -Redmond IR-RT-EX-0525 Master's Degree Project Stockholm, Sweden 2005 * TCP Performance Simulations Using Ns2 Johanna Antila, 51189d, TLT * Investigating the Use of Synchronized Clocks in TCP Congestion Control by Michele Aylene Clark Weigle * IMPROVING TRANSMISSION CONTROL PROTOCOL PERFORMANCE WITH PATH ERROR RATE INFORMATION In partial fulfillment of the requirements for the degree Master of Science Wesley M. Eddy March 2004 College of Engineering and Technology of Ohio University A thesis presented to the faculty of the * Manual The ns Manual, The VINT Project collaboration between Researchers at UC Berkeley LBL, USC/ISI, and Xerox, PARC Kevin Fall Editor Kannan Varadhan