You are on page 1of 4

TCP Flow Control Mechanisms for Single Packet Loss Khushboo Singh1 and Prof. N.S. Kilarikar2 1P.G.

Student, TERNA Engineering College, Nerul, Navi Mumbai 2E&TC Department, TERNA Engineering College, Nerul, Navi Mumbai Email: Abstract Transmission Control Protocol is the most used transport layer protocol in Inter net and originally designed for wired network in 1981. Algorithms like Slow Star t, Congestion Avoidance, Fast Retransmit and Fast Recovery are the basis for dif ferent TCP flavors. Tahoe, Reno and New-Reno are TCP versions that use these alg orithms. In this paper, comparison has been made between Reno, Tahoe and New Ren o TCP flavors in a wireless environment. . Our experiments show that SACK perfor ms well in a single segment loss environment. Two algorithms, Slow Start and Con gestion Avoidance, modify the performance of TCPs sliding window to solve some pr oblems relating to congestion in the network. Several simulations have been run with OPNET IT GURU in order to acquire a better understanding of these algorithm s and the way they perform their functions. Keywords: Simulation, TCP, OPNET modeler, flow control, slow start, congestion a voidance algorithm. 1. Introduction Transmission Control Protocol (TCP) is a Transport Layer Protocol and originally designed for wired network in 1981. The basic responsibility of TCP is to provi de reliable transfer of data between the nodes i.e. to ensure that the data is r eached the destination correctly without any loss or damage. The data is transmi tted in the form of continuous stream of octets. The mechanism is adopted to ass ign a sequence number to each octet of data and receiver respond with positive a cknowledgement to ensure that the data is received correctly. TCP provides flow control. The receiver of the data controls the amount of data that are to be sen t by the sender. This is done to prevent the receiver from being overwhelmed wit h data. Flow control mechanism has two phases the slow start and congestion avoidance ph ase. These mechanisms modify the performance of TCPs sliding window to solve some problems related to congestion in networks and their nodes. If TCP works withou t the Slow Start and Congestion Avoidance algorithms it will start sending as mu ch information as the usable window allows. This could create problems because n odes along the network have to store that information in their queues and can ru n out of memory. When a node can not store incoming data, segments are lost and transmission errors occur. This is called congestion. Then, the sender has to re transmit the lost segments. And so it does, but without any other flow control i t will fill up the usable window immediately, thus causing congestion once again . Slow Start provides a way to control initial data flow at the beginning of a com munication and during an error recovery based on received acknowledgements. Each acknowledgement means that a segment, or a group of segments, has left the netw ork and is not using any resources, so new data can be sent. Congestion Avoidance is an algorithm that adapts data transmission to the availa ble resources. After Slow Start has reached a certain threshold, Congestion Avoi dance starts slowing down the opening of the window. 2. Working Mechanism of TCP TCP uses a sliding window to handle flow control. It uses three types of windows called congestion window (cwnd), advertize window (rwnd) and send window (swnd) . Congestion windows shows the total amount of data the sender is allowed to out put to the network without any Acknowledgement (ACK). While on the other hand th e advertise window indicates the amount of data the receiver is ready to accept. It is equal to the available buffer size on the receiver. Now the size of the f light window or send window is set to the minimum of the congestion window and a

dvertize window. When a connection is established the initial size of congestion window is set to One MSS (Maximum Segment Size). Receiving data from the sender the receiver ACK the reception of data to the sender, the receiver is actually indicating the se quence number of next expected data segment in ACK, from this the sender conclud e that all the data segments which have sequence number less than the indicated one are delivered correctly. While in case of packet loss, out-of-order packets arrive at the receiver. Then the receiver sends a duplicate ACK to the sender in response of each out-of-order packet arrival. When sender receives three duplic ates ACK, it is concluded that the packet is lost and retransmission of data pac ket take place. If sender receives non-duplicate ACK Then the congestion window is incremented. In slow start phase exponential incrimination occurs until it r eaches to the slow start threshold. While in congestion avoidance phase the cwnd is incremented by one packet. This window growth is limited to a maximum window size. This whole process is depicted in Fig.1.

Figure 1: Slow Start and Congestion Avoidance Mechanism Slow Start and Congestion Avoidance are very slow in retrieving normal data tran smission speed. When there is an error, data flow stops completely and some time is wasted while trying to reach the old data transmission speed. Slow Start and Congestion avoidance algorithms provide features like flow contro l in error recovery situations and adaptation to network conditions. However, wh en an error occurs, these algorithms respond relatively slowly in recovering the network back to its original throughput. Fast Retransmit and Fast Recovery are two other algorithms which help the network get back to its original throughput. These two algorithms are briefly explained as follows. 2.1 Fast Retransmit In case of a segment loss, an immediate acknowledgement is sent. This is also ca lled a duplicate acknowledgement. Fast Retransmit states that if 3 acknowledgmen ts are received before the retransmission timeout, the sender then has to retran smit the lost segment immediately. From this point in time until an acknowledgem ent for new data arrives, every duplicate acknowledgement triggers a new data tr ansmission. Thereafter, the cwnd is set back to its initial value and Slow Start is initiated. 2.2 Fast Recovery This algorithm is based on the notion that if duplicate acknowledgements are bei ng received, then the network is not fully congested. Thus there is no need to a bruptly reduce the flow and initiating a Slow Start. Hence, on receiving 3 dupli cate acknowledgements, the cwnd is set to half of its previous size and Congesti on Avoidance, instead of Slow Start, is performed. The combinations of Fast Retransmit and Fast Recovery give rise to the differen t flavors of TCP namely Reno, Tahoe and New-Reno. 3. Flavors of TCP 3.1 Reno TCP The flavour that uses both Fast Retransmit and Fast Recovery together is called Reno TCP. Reno performs well until only one segment is lost, but in a wireless s cenario, there will be multiple segment drops in a handover and also in the unre liable media. In case of multiple segment losses, the cwnd closes to half of its previous size for each segment drop. Furthermore, the recovery is further delay ed because only the Congestion Avoidance algorithm is functioning without the ad ded benefit of Slow Start. 3.2 Tahoe TCP Fast Recovery algorithm does not allow the cwnd to open exponentially. Instead,

it applies the much slower Congestion Avoidance mechanism. Due to this problems arise in Reno TCP when multiple segments are lost. To avoid this problem, Tahoe TCP does not apply Fast Recovery. When this flavour is used, Fast Retransmit is the only algorithm applied. 3.3 New Reno TCP TCP Reno recovers only one lost packet during the recovery process. So TCP-New R eno is just adding the capability to TCP Reno to deal with multiple packets loss es to recovery in a single transmission window. 3.4 SACK TCP The SACK stands for Selective Acknowledgements. TCP suffers from some performanc e problems dealing with bursts of errors. The SACK TCP mechanism helps to avoid these limitations. Receiver informs the transmitter, which packets it successful ly received, so retransmission occurs only for lost packets. SACK reports the se gments that have reached the receiver although they carry non sequential sequenc e numbers.

Figure 2. Scenario used for simulation 4. Simulation and Result In this paper Optimized Network Evaluation Tool (OPNET) IT GURU version 9.1 is u sed for simulations. The simulated scenario is shown in figure 2. It has Applica tion config, Profile Config, an ip32_cloud, and two subnets (named as West (serv er) and East (Client)) connected by PPP _DS3 cable. In between the two subnets i s a ip32_cloud (named as USA Internet). In this paper a comparison of different TCP flavors was made by running simulations and collecting results. Our experime nts show that SACK performs well in a single segment loss environment.

Figure 3. Result; No_Drop scenario Figure 4. Result; Tahoe Scenario

Figure 5. Result; Reno scenario gure 6. Result; SACK scenario Figure 7. Result; New Reno scenario . Comparison of all Scenario


Figure 8

5. Conclusion In this paper an attempt has been made to study & simulate the performance of TC P and its mechanisms for data transmission control. The algorithm called slow st art, congestion avoidance, fast retransmit and fast recovery has been simulated and interpreted for different scenarios. A Network consisting of two stations: S erver and Client connected with ip32_cloud have been simulated to analyze the pe rformance of different TCP flavors using OPNET IT guru network simulator 3. It w as observed that in case of no packet loss network all four algorithms viz. Reno TCP, Tahoe TCP, New Reno TCP and SACK TCP have comparable performance. New-Reno outperforms Reno and SACK when no packet losses occur during the slow-start pha se. And Reno and SACK outperforms Tahoe because Tahoe goes into slow start after retransmitting the lost segment. SACK is the best and the most robust over the wireless channel for single packet loss. 6. References

1. Vinton G. Cerf, Robert E. Kahn, A Protocol for Packet Network Intercommun ication, IEEE Transactions on Communications, Vol. 22, No. 5, May 1974 pp. 637-64 8Stevens W.R., TCPIIP Illustrated, vol. 1, Addison-Wesley, 1994. 2. El Aarag, H.A.; Bassiouni, M.A.; Transport Control Protocols for Wireless Connections, IEEE/ Vehicular Technology Conference, 1999 vol.1. 3. TCP Slow Start, Congestion Avoidance, Fast Retransmit and Fast Recovery Algorithms. W. Stevens. 1997, [RFC2001]. 4. Balakrishnan H., Padmanabhan V., Seshan S., and Katz R. A comparison of m echanisms for improving tcp performance over wireless links, IEEE/ACM, Transactio ns on Networking, Vol.5, No. 6, Dec. 1997. 5. S. Floyd and K. Fall, Simulation Based Comparisons of Tahoe, Reno and Sac k TCP, ACM Computer Communication Review, 1996, Vol.26, No.3: 521. 6. R. Paul and Lj. Trajkovic,"Selective-TCP for wired/wireless networks, P roc. SPECTS 2006, Calgary, AL, Canada, Aug. 2006, pp. 339-346. 7. H. lee, S. Lee and, Y.Choi,The influence of the large bandwidth-delay pr oduct on TCP Reno, NewReno, and SACK, Proc.Information Networking Conference, Oit a, Japan, 2001, pp. 327334. 8. F. Anjumand L. Tassiulas, Comparative study of various TCP versions over a wireless link with correlated losses, IEEE/ACM Transactions on Networking (TON ), NJ, USA, June 2003, Vol. 11, Issue 3, pp. 370 383.