Couple weeks back we focused on how you can play around with NetScaler TCP stack and tune it to provide best performance for your deployment use case. We broadly looked into the TCP profiles and how they help with various Application deployment scenarios (/blogs/2012/03/22/tune-netscaler-tcp-stack-to-suit-your-needs/). We looked into how you can define efficient TCP profiles on NetScaler to customize the stack (/blogs/2012/03/29/create-your-own-tcp-optimization-profile-on-netscaler/).

Here is the big value add to the same series with NetScaler 10 having support for TCP Westwood. We spent time on understanding various congestion scenarios and Westwood takes the lead with defining standard for much better congestion control in wireless networks. The congestion and packet drop issue becomes worse with mobile users going on and off on the network and switching in between the networks. Reducing the congestion window by half every time we detect packet loss can result into:

  • Loss of bandwidth
  • Reduced response time
  • Increased latency
  • And overall poor end-user experience


TCP Westwood avoids working on the fixed parametrers where we cut the congestion window by half, rather it follows the heuristic model to track the estimated bandwidth on client side and accordingly updates the congestion window. Quick points on TCP Westwood:

  • Focused on resolving congestion issues in wireless networks
  • Works well with wired lines as well and focuses on Mobile clients
  • Handles large bandwidth delay paths and issues proactively
  • Works effectively in internet pipes with frequent packet loss
  • Monitors the incoming ACKs to better establish congestion control parameters
  • On packet loss, sets the ssthresh to estimated bandwidth
  • On retransmission timeout (RTO) 
    • CWND is set to 2 * MSS
    • Ssthresh = estimated bandwidth
    • Monitors the incoming ACK and calculated ERE (Eligible Rate Estimation)
    • Key advantages are
      • Higher throughput over wireless network
      • Better utilization of available bandwidth
      • Reduced latency over noisy links
      • Ensures other connections on same link are not starved



In the above screenshot you can see that our strong TCP profile has become even more feature rich. You can now select the “TCP Flavor” which you want to use and for using Westwood, you need to explicitly select “Westwood” there. By default the TCP stack remains in non-Westwood mode and the behavior is same as last release.

We go beyond the core Westwood support and take care of scenarios where Westwood can run into issues like bandwidth estimation going wrong because of ACK compression etc. All our internal experiments have shown good value being added by Westwood and now it’s your turn…. 🙂