Following on from our previous post, we’ll be continuing our discussion on the TCP optimization techniques used by Replify with this article on TCP congestion control algorithms.

Whenever a client makes a TCP connection to a server across a WAN, it needs to decide how much data to send across the link.  If it sends too little data, the transfer is slower than necessary. If it sends too much data, the link becomes congested, packets are dropped and the data needs to be re-sent (this also means that the transfer is slow).

To resolve this, each end of the TCP connection implements a congestion control algorithm (CCA).  This is an algorithm that adjusts the amount of data sent based on what it believes the underlying network can cope with.

The CCA needs to be able to cope with a range of connections varying from 10 gigabit LAN connections at one end to 512 kilobit satellite connections with 1 second latency and 1% packet loss at the other.

Congestion Control with Replify Accelerator

When Replify Accelerator is deployed, we often know more about the network characteristics between Replify Accelerator endpoints than the end user machine or application server. For example, we may know that it has high latency or a high level of packet loss. This means that we can choose a CCA that is optimized for these conditions and that will perform much better than the general-purpose algorithms that will be deployed on your servers.

Choosing the correct CCA can provide significant savings on poor quality networks.  For example, on a 100 megabit connection with 100ms latency and 0.1% packet loss, Replify Accelerator can increase download times five fold. This can be achieved solely by configuring Replify Accelerator to use the best CCA for those conditions.

Combined with WAN Connection Pooling and our other optimization techniques, Replify Accelerator can be a powerful tool in improving your users’ network experience – contact us to see how we can help you.