FAST TCP

Last updated

FAST TCP (also written FastTCP) is a TCP congestion avoidance algorithm especially targeted at long-distance, high latency links, developed at the Netlab, California Institute of Technology and now being commercialized by FastSoft. FastSoft was acquired by Akamai Technologies in 2012. [1]

Contents

FastTCP is compatible with existing TCP algorithms, requiring modification only to the computer which is sending data.

Name

The name FAST is a recursive acronym for FAST AQM Scalable TCP, where AQM stands for Active Queue Management, and TCP stands for Transmission Control Protocol.

Principles of operation

The role of congestion control is to moderate the rate at which data is transmitted, "congestion", according to the capacity of the network and the rate at which other users are transmitting. Like TCP Vegas, FAST TCP [2] [3] uses queueing delay instead of loss probability as a congestion signal.

Most current congestion control algorithms detect congestion and slow down when they discover that packets are being dropped, so that the average sending rate depends on the loss probability. This has two drawbacks. First, low loss probabilities are required to sustain high data rates; in the case of TCP Reno, very low loss probabilities are required, but even new congestion avoidance algorithms such as H-TCP, BIC TCP and HSTCP require loss rates lower than those provided by most wireless wide area networks. Moreover, packet loss only provides a single bit of information about the congestion level, whereas delay is a continuous quantity and in principle provides more information about the network.

A FAST TCP flow seeks to maintain a constant number of packets in queues throughout the network. The number of packets in queues is estimated by measuring the difference between the observed round trip time (RTT) and the base RTT, defined as the round trip time when there is no queueing. The base RTT is estimated as the minimum observed RTT for the connection. If too few packets are queued, the sending rate is increased, while if too many are queued, the rate is decreased. In this respect, it is a direct descendant of TCP Vegas.

The difference between TCP Vegas and FAST TCP lies in the way in which the rate is adjusted when the number of packets stored is too small or large. TCP Vegas makes fixed size adjustments to the rate, independent of how far the current rate is from the target rate. FAST TCP makes larger steps when the system is further from equilibrium and smaller steps near equilibrium. This improves the speed of convergence and the stability.

Strengths and weaknesses

Delay-based algorithms can, in principle, maintain a constant window size, avoiding the oscillations inherent in loss-based algorithms. However, they also detect congestion earlier than loss-based algorithms, since delay corresponds to partially filled buffers, while loss results from totally filled buffers. This can be either a strength or a weakness. If the only protocol used in a network is delay-based, then the inefficiency of loss can be avoided; however, if loss-based and delay-based protocols share the network, [4] then delay-based algorithms tend to be less aggressive. This can be overcome by suitable choice of parameters, leading to complex interactions studied by Tang et al.

Delay measurements are also subject to jitter as a result of operating system scheduling, or bus contention.

Whether the strengths or weaknesses prevail is not clear, and depends in large part on the particular scenario.

Propagation delay is used in the FAST window control algorithm. In a clean network, the queueing delay maintained by existing FAST flows may be mistaken as part of the propagation delay by new flows that join later, as shown in ns-2 simulations in. [5] The effect of this estimation error is equivalent to modifying the underlying utility functions to favor new flows over existing flows. Method to eliminate this error is suggested in. [5]

Generalized FAST TCP

FAST TCP has been shown to be promising in terms of system stability, throughput and fairness. However, it requires buffering which increases linearly with the number of flows bottlenecked at a link. The paper [6] proposes a new TCP algorithm that extends FAST TCP to achieve (α, n)-proportional fairness in steady state, yielding buffer requirements which grow only as the nth power of the number of flows. The authors call the new algorithm Generalized FAST TCP. They prove stability for the case of a single bottleneck link with homogeneous sources in the absence of feedback delay. Simulation results verify that the new scheme is stable in the presence of feedback delay, and that its buffering requirements can be made to scale significantly better than standard FAST TCP.

Intellectual property

Unlike most TCP congestion avoidance algorithms, FAST TCP is protected by several patents. [7] [8] Instead of seeking standardization by the IETF, the inventors of FAST, notably Steven H. Low and Cheng Jin, are seeking to commercialize it through the company FastSoft. Currently FastSoft sells a 1-Unit rack appliance which can be deployed at the sender-side with no other software or hardware modifications needed on either end.

See also

Related Research Articles

The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport Layer of the TCP/IP suite. SSL/TLS often runs on top of TCP.

Traffic shaping is a bandwidth management technique used on computer networks which delays some or all datagrams to bring them into compliance with a desired traffic profile. Traffic shaping is used to optimize or guarantee performance, improve latency, or increase usable bandwidth for some kinds of packets by delaying other kinds. It is often confused with traffic policing, the distinct but related practice of packet dropping and packet marking.

Network congestion in data networking and queueing theory is the reduced quality of service that occurs when a network node or link is carrying more data than it can handle. Typical effects include queueing delay, packet loss or the blocking of new connections. A consequence of congestion is that an incremental increase in offered load leads either only to a small increase or even a decrease in network throughput.

<span class="mw-page-title-main">Random early detection</span>

Random early detection (RED), also known as random early discard or random early drop is a queuing discipline for a network scheduler suited for congestion avoidance.

Transmission Control Protocol (TCP) uses a network congestion-avoidance algorithm that includes various aspects of an additive increase/multiplicative decrease (AIMD) scheme, along with other schemes including slow start and congestion window (CWND), to achieve congestion avoidance. The TCP congestion-avoidance algorithm is the primary basis for congestion control in the Internet. Per the end-to-end principle, congestion control is largely a function of internet hosts, not the network itself. There are several variations and versions of the algorithm implemented in protocol stacks of operating systems of computers that connect to the Internet.

TCP global synchronization in computer networks can happen to TCP/IP flows during periods of congestion because each sender will reduce their transmission rate at the same time when packet loss occurs.

TCP Vegas is a TCP congestion avoidance algorithm that emphasizes packet delay, rather than packet loss, as a signal to help determine the rate at which to send packets. It was developed at the University of Arizona by Lawrence Brakmo and Larry L. Peterson and introduced in 1994.

TCP tuning techniques adjust the network congestion avoidance parameters of Transmission Control Protocol (TCP) connections over high-bandwidth, high-latency networks. Well-tuned networks can perform up to 10 times faster in some cases. However, blindly following instructions without understanding their real consequences can hurt performance as well.

Packet loss occurs when one or more packets of data travelling across a computer network fail to reach their destination. Packet loss is either caused by errors in data transmission, typically across wireless networks, or network congestion. Packet loss is measured as a percentage of packets lost with respect to packets sent.

BIC TCP is one of the congestion control algorithms that can be used for Transmission Control Protocol (TCP). BIC is optimized for high speed networks with high latency: so-called "long fat networks". For these networks, BIC has significant advantage over previous congestion control schemes in correcting for severely underutilized bandwidth.

Bandwidth management is the process of measuring and controlling the communications on a network link, to avoid filling the link to capacity or overfilling the link, which would result in network congestion and poor performance of the network. Bandwidth is described by bit rate and measured in units of bits per second (bit/s) or bytes per second (B/s).

Compound TCP (CTCP) is a Microsoft algorithm that was introduced as part of the Windows Vista and Window Server 2008 TCP stack. It is designed to aggressively adjust the sender's congestion window to optimise TCP for connections with large bandwidth-delay products while trying not to harm fairness. It is also available for Linux, as well as for Windows XP and Windows Server 2003 via a hotfix.

In routers and switches, active queue management (AQM) is the policy of dropping packets inside a buffer associated with a network interface controller (NIC) before that buffer becomes full, often with the goal of reducing network congestion or improving end-to-end latency. This task is performed by the network scheduler, which for this purpose uses various algorithms such as random early detection (RED), Explicit Congestion Notification (ECN), or controlled delay (CoDel). RFC 7567 recommends active queue management as a best practice.

H-TCP is another implementation of TCP with an optimized congestion control algorithm for high speed networks with high latency. It was created by researchers at the Hamilton Institute in Ireland.

TCP acceleration is the name of a series of techniques for achieving better throughput on a network connection than standard TCP achieves, without modifying the end applications. It is an alternative or a supplement to TCP tuning.

Bufferbloat is a cause of high latency and jitter in packet-switched networks caused by excess buffering of packets. Bufferbloat can also cause packet delay variation, as well as reduce the overall network throughput. When a router or switch is configured to use excessively large buffers, even very high-speed networks can become practically unusable for many interactive applications like voice over IP (VoIP), audio streaming, online gaming, and even ordinary web browsing.

Zeta-TCP refers to a set of proprietary Transmission Control Protocol (TCP) algorithms targeted to improve the end-to-end performance of TCP, regardless of whether the peer is Zeta-TCP or any other TCP protocol stack, in other words, to be compatible with the existing TCP algorithms. It was designed and implemented by AppEx Networks Corporation.

CoDel is an active queue management (AQM) algorithm in network routing, developed by Van Jacobson and Kathleen Nichols and published as RFC8289. It is designed to overcome bufferbloat in networking hardware, such as routers, by setting limits on the delay network packets experience as they pass through buffers in this equipment. CoDel aims to improve on the overall performance of the random early detection (RED) algorithm by addressing some of its fundamental misconceptions, as perceived by Jacobson, and by being easier to manage.

Kathleen Nichols is an American computer scientist and computer networking expert. Nichols is the founder and CEO of Pollere, Inc, a network architecture and performance company based in California, US. Before founding Pollere, Nichols was VP of Network Science at Packet Design, where she was part of the founding team. Prior to Packet Design she was director of advanced Internet architectures in the Office of CTO at Cisco Systems.

<span class="mw-page-title-main">Saverio Mascolo</span> Italian information engineer

Saverio Mascolo is an Italian information engineer, academic and researcher. He is the former Head of the Department of Electrical Engineering and Information Science and the professor of Automatic Control at Department of Ingegneria Elettrica e dell'Informazione (DEI) at Politecnico di Bari, Italy.

References

  1. Young, Jeff (September 13, 2012). "Akamai Acquires FastSoft". PR Newswire. Retrieved September 13, 2012.
  2. Nick, Barone; Jin, Cheng; Low, Steven H. & Hegde, Sanjay (2006). "FAST TCP: motivation, architecture, algorithms, performance" (PDF). IEEE/ACM Transactions on Networking. 14 (6): 1246–1259. doi:10.1109/TNET.2006.886335. Archived from the original (PDF) on September 6, 2006.
  3. Jin, Cheng; Wei, D.; Low, S.H.; Bunn, J.; Choe, H.D.; Doyle, J.C.; Newman, H.; Ravot, S.; Singh, S.; Paganini, F.; Buhrmaster, G.; Cottrell, L.; Martin, O.; Wu-Chun Feng (2005). "FAST TCP: from theory to experiments" (PDF). IEEE Network. 19 (1): 4–11. doi:10.1109/MNET.2005.1383434. Archived from the original (PDF) on May 12, 2006.
  4. Tang, Ao; Wang, Jiantao; Low, Steven H. & Chiang, Mung (March 2005). "Network Equilibrium of heterogeneous congestion control protocols" (PDF). IEEE INFOCOM. Miami, FL.
  5. 1 2 L. Tan, C. Yuan, and M. Zukerman, “FAST TCP: fairness and queuing issues,” IEEE Commun. Lett., vol. 9, no. 8, pp. 762–764, Aug. 2005.
  6. Yuan, Cao; Tan, Liansheng; Andrew, Lachlan L.H.; Zhang, Wei; Zukerman, Moshe (2008). "A Generalized FAST TCP scheme". Computer Communications. 31 (14): 3242–3249. doi:10.1016/j.comcom.2008.05.028. hdl: 1959.3/44051 .
  7. Jin, Cheng; Low, Steven H.; Wei, Xiaoliang (January 27, 2005). "Method and apparatus for network congestion control". United States Patent & Trademark Office. Archived from the original on December 14, 2012. Retrieved November 5, 2006.
  8. Jin, Cheng; Low, Steven H.; Wei, David X.; Wydrowski, Bartek; Tang, Ao; Choe, Hyojeong (March 9, 2006). "Method and apparatus for network congestion control using queue control and one-way delay measurements". United States Patent & Trademark Office. Archived from the original on December 14, 2012. Retrieved November 5, 2006.