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.
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.
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).
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 <tclScript> written for one of the protocol like Tahoe is executed. After the execution of the <tclScript> 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 <TclScripts> like <Tahoe.tcl> 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.
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.
Tahoe | 34325.75 |
Reno | 35159.09 |
New Reno | 35469.69 |
Sack | 35462.12 |
Vegas | 36969.69 |
TCP-X: An NS-2 environment for implementation and evaluation of TCP clones. IR-RT-EX-0525. Master's Degree Project, (Stockholm, Sweden