Over the last several years the rise of the smartphone has led to substantially increased capabilities in mobile devices. The emergence of applications for these platforms has enabled a near limitless number of ways for consumers and enterprise users to interact with people, systems and businesses. Supporting much more than telephony, today’s phones function as a primary source of Internet and application access.
Why Is the Mobile Experience So Important? A poor end-user experience on a mobile device can be devastating to a business. For example, a video stream that is pixilated, choppy or interrupted midstream can rapidly spiral from an annoying end-user experience to a highly frustrating one, resulting in lost potential repeat visits, and potential revenue. Even in the presence of ample bandwidth a mobile device’s inability to process and render video frames, or to correctly synchronize audio with video, can still leave the end user dissatisfied.
What is TCP Congestion Control? TCP congestion control uses a number of mechanisms to achieve high performance and avoid congestion collapse, where network performance can fall by several orders of magnitude. These mechanisms control the rate of data entering the network, keeping the data flow below a rate that would trigger collapse, resulting in a poor end-user experience.
The Legacy Approach: Packet Loss = Congestion Legacy congestion control algorithms used packet loss metrics to determine when to limit the congestion window or send rate. High speed is a loss based algorithm which continues to increase the send rate and congestion until it perceives packet loss. Once this occurs, it knows to slow down, and cuts the window in half.
The Evolution of Congestion Control: 3G vs. 4G LTE Modern mobile traffic is harder to control. With 4G LTE networks, packet loss does not necessarily mean there is congestion on the networks, and vice-versa, congestion does not necessarily mean that there is packet loss. This realization means that congestion control algorithms cannot focus on packet loss and latency alone for determining congestion.
Typical User Rate
High packet loss
Low packet loss
Bandwidth Estimation The next generation of congestion control algorithms is based on bandwidth estimations. These algorithms change send rates depending on the bandwidth at the time of packet loss, and can adaptively set send rates based on the bandwidth. TCP Westwood is a bandwidth based algorithm, and provides higher throughput and better fairness of bandwidth over wireless links compared to TCP Reno. However, these algorithms do not perform well with smaller buffers which may not have a large range of bandwidths to work with.
From Throughput to “Goodput” Finally, the latest type of congestion control algorithm is latency based. This means they determine how to change the send rate by analyzing changes in round trip time(RTT). This type of algorithm is a way of preventing congestion before it begins, thus minimizing queuing delay at the cost of “goodput”. Goodput focuses on the application-level throughput. TCP Vegas is a latency based algorithm to determine how the network is performing. If the base RTT estimation is too low the network will not be optimally used. If it is too big, TCP Vegas may overload the network.
The Best of Both Worlds Leveraging the F5 Synthesis architectural vision, we are excited to announce our BIG-IP v11.5 release, and our own TCP Woodside as part of The New TCP Express. The F5 hybrid solution that looks at both packet loss and delay. Queuing delay is calculated based on the difference between the base delay and max delay. If loss is determined to be a result of delay and not congestion the CC algorithm will not kick in and reduce the rate of packets. However, when the queuing delay is minimal, it will rapidly accelerate to maximize the use of the available bandwidth and moderate loss based congestion control. As a result downloads are improved by up to 30%, while addressing the different characteristics of 3G, 4G LTE, and Wi-Fi networks.
A big thank you to my coworkers Crystal Bong and Danny Luedke for their help in writing this blog post.