Zeta-TCP
   HOME

TheInfoList



OR:

Zeta-TCP refers to a set of proprietary
Transmission Control Protocol 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 ...
(TCP) algorithms aiming at improving 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. Zeta-TCP offers the following improvements primarily: *
Congestion avoidance 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 ...
based on both latency and loss measures. * Improved loss-detection algorithm. * Reverse control.


Congestion avoidance

Most of the TCP stack implementations today use
TCP New Reno 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 windo ...
or its variations (such as TCP SAC
RFC3517
as the congestion avoidance algorithm. The New Reno-based algorithms are loss-based. Loss-based algorithms treat the packet losses as the sole indication of the congestions in the network. As the Internet has since evolved, this assumption is often an overkill today. The congestion loss is constantly descending with the advancement of the technologies, while, relatively, random loss due to the properties of the media (e.g., wireless/ Fading channels), wireline noises/cross-talk, connectivity flaws, software bugs, etc., is increasing. Once a "congestion" is detected (or false-alarmed), New Reno shrinks the Congestion Window (CWND) sharply, causing a plunge of the sending rate. This is one of the major reasons that the TCP based applications are often barely able to utilize a fraction of the subscribed bandwidth today, especially when the RTT is large. TCP Vegas and its variations, most notably
FAST TCP 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 a ...
, base their congestion predications on the RTT measurement only. Such latency-based algorithms overcome the problems of the loss-based ones, and are usually a more realistic reflection of the congestions in the network. But the latency-based algorithms have their own
limitations Limitation may refer to: *A disclaimer for research done in an experiment or study *A Statute of limitations * Limitations (novel), ''Limitations'' (novel), a 2006 novel by Scott Turow * A technical limitation {{Disamb ...
, too. Zeta-TCP attempts to tackle the problem by combining the strength of both latency-based and loss-based algorithms. It constantly measures the RTT variation and loss rate variation, and calculates the likelihood of the congestions. Different CWND backoff schemes are applied based on the likelihood level. With the highest level, it applies the backoff scheme of New Reno, which has already been proven to be effective and stable with many years of massive deployment.


Loss detection

The packet losses in the real network environment rarely spread out evenly. Rather they tend to happen close to each other. The TCP related RFCs (New Reno and SACK, etc.) explicitly defined how the first loss can be detected with high confidence. However, the detection of the losses after TCP enters the Fast Recovery mode with SACK permitted is not very efficient i
RFC3517
And some popular Operating Systems have their own implementations that are equally suboptimal. Zeta-TCP has introduced a simple but effective algorithm to calculate the loss probability on every unACK'd/unSACK'd packet. A packet is retransmitted only when its loss probability has surpassed a certain threshold. The same rule applies to the retransmission decision of every packet. Therefore, Zeta-TCP is able to minimize the number of retransmitted packets, further improving the bandwidth utilization. Lab tests also confirmed that Zeta-TCP retransmitted much fewer packets than the other TCP implementations under the same loss rate. Zeta-TCP has also developed a mechanism to accurately detect the packet loss at the earliest possible time once it suspects the a loss is likely to happen. Early-detection usually can save an RTT or two on retransmission.


Reverse control

While the other algorithms focus on accelerating the outgoing traffic, Reverse Control attempts to address the incoming issues. Reverse Control monitors the quality of the connections with inbound data, and executes the algorithm to hint the peer to transmit as fast as it can when the connection quality is good. The algorithm also makes good effort to more accurately identify the real packet losses from other abnormal situations in order to avoid triggering unnecessary fast recoveries. The Reverse-Controlled inbound acceleration is heuristic in that the inbound speed is really controlled by the sender, i.e., the peer. It can only hint the peer to send faster. Some TCP stacks take the hint and others don't. Also, quite often the sender side (content server for instance) has rate limiting mechanism so that the acceleration effect is capped. In addition to acceleration, Reverse Control can also limit the inbound rate. Unlike acceleration, putting a brake on the inbound traffic is very effective and accurate with the TCP flow control mechanism. The inbound rate limiting of Zeta-TCP lays the foundation of the inbound flow control of AppEx IPEQ.


Implementation

At the time of writing, Zeta-TCP has been implemented as software modules for Linux (
Netfilter Netfilter is a framework provided by the Linux kernel that allows various networking-related operations to be implemented in the form of customized handlers. Netfilter offers various functions and operations for packet filtering, network addre ...
Kernel Module), Microsoft Windows 10 down to XP and related Windows Server versions ( NDIS IM Filter/NDIS LWF), and WinCE. AppEx chose not to modify the protocol stack, but intercept the TCP flows and apply its algorithms on-the-fly. This is the nonintrusive way to implement the algorithms intended for wider acceptance. The drawback is the added overhead of processing. But in reality the overhead is negligible in comparison with the performance gains.


References

{{Reflist Internet protocols TCP congestion control