TCP Congestion Control: Overview and Survey Of Ongoing Research
Sonia Fahmy, Tapan P. Karwa · Purdue e-Pubs (Purdue University System) · 2001
This paper studies the dynamics and performance of the various TCP variants including TCP Tahoe, Reno,NewReno, SACK, FACK, and Vegas. The paper also summarizes recent work at the IETF on TCP implementation, and TCP adaptations to different link characteristics, such as TCP over satellites and overwireless links. 1 Introduction The Transmission Control Protocol (TCP) is a reliable connection-oriented stream protocol in the InternetProtocol suite. A TCP connection is like a virtual circuit between two computers, conceptually very much like a telephone connection. To maintain this virtual circuit, TCP at each end needs to store information onthe current status of the connection, e.g., the last byte sent. TCP is called connection-oriented because it starts with a 3-way handshake, and because it maintains this state information for each connection. TCP iscalled a stream protocol because it works with units of bytes. TCP guarantees that it will deliver data supplied by the application to the other end although the underlyinglayers (IP) offer only unreliable data delivery. That is, even if the data gets lost, corrupted or duplicated while in transit from one end to the other, or is delivered out of order by the communication system, TCP isresponsible for delivering error-free in-order data to the application at the other end. Hence, it is reliable.