SFQ vs FIFO vs MXTCP Queue in Riverbed Steelhead
Queuing is a method for prioritizing traffic. The following queuing mechanisms are supported in Riverbed Steelhead Appliance:
- SFQ(Stochastic Fairness Queuing) SFQ is the default queue for all classes. SFQ services all flows in a round-robin fashion, reducing the latency for competing flows. SFQ ensures that each flow has fair access to network resources and prevents a bursty flow from consuming more than its fair share of output bandwidth.
- FIFO Transmits all flows in the order that they are received (first in, first out). Bursty sources can cause long delays in delivering time-sensitive application traffic and potentially to network control and signaling messages.
- MX-TCP MX-TCP, which stands for "Maximum Speed TCP", is an optional acceleration mode that allows Steelhead appliances to achieve maximum throughput for environments where it is a challenge to fill the pipe. Optimizes high-loss links where regular TCP would cause under utilization. With MX-TCP, the TCP congestion control algorithm is removed on the inner connections. This allows the link to be saturated in a much faster time frame and eliminates the possibility of under utilizing the link. Any class that is defined on the Steelhead appliance can be MX-TCP enabled. Link Share Weight and Upper BW do not apply to MX-TCP. These environments include long fat networks where the pipe is big, but the delay or latency is impacting throughput. MX-TCP suited environments also include WAN links that experience high packet loss. MX-TCP in simple terms is TCP without the congestion control bottlenecks. Without congestion control, the optimized traffic does not have the "friendliness" of normal TCP where it behaves with other traffic. MX-TCP simply blasts traffic through the link as fast as it can go. To mitigate the unfriendly behavior, MX-TCP is recommended for point to point, non-shared links. MX-TCP also requires that you use the Steelhead's appliance's QoS facility to "control" the MX-TCP traffic between the Steelhead appliances. You dial in how much bandwidth you want to use and MX-TCP uses it!