How Do I Select TCP Congestion Control Algorithm in NetScaler?.


Internet is the fastest growing communications technology ever as per US Department of Commerce. Radio took 38 years to reach 50 million users, for television it took 13 years, but for internet it just took 4 years to reach 50 million users which is quite a phenomenal growth.?? By the end of 2003, the number of users using internet reached to 700 million and the numbers crossed 3 billion recently showing the quick adoption and demand for internet world wide. Internet has become part of our day to day life and has started gaining more usage with tremendous growth in mobile technology.?? The mobile data traffic in 2014 was nearly 30 times the size of global internet traffic in 2000.

As smart phones grows in capability, they will be used in new contexts. Smartphone along with wearables are offering more connectivity to workplace and other users, which changed the way internet has been used in the past. With mobile and cloud infrastructure, applications can be delivered to any mobile device at any place in the world through internet.?? Almost half a billion mobile devices were added in 2014 and it clearly shows the intensity with which connectivity across the world is growing through data traffic.


Why do we need the right TCP congestion control algorithm?

First 20 years of internet had simple applications which used simpler networks with less heterogeneity and speed. With applications becoming much more diverse and demanding the networks became complex and TCP congestion control which worked earlier gradually became unsuitable.?? Congestion control methods remained stagnant for quite some time and needed tinkering to adapt to new complex networks.?? Also the first few versions of TCP congestion control was focused on wired networks. With heterogeneous or wireless networks, there was a reduction in performance. Wireless networks faced more difficulties because of high bit error rates due to multipath fading and handover processes.?? TCP congestion control algorithms interpret such random errors as congestion and will eventually reduce the size of the window. This is not an acceptable behavior as there is no congestion seen in the network.

Supported TCP Congestion Control Algorithms?? in NetScaler

User-added image

How to select TCP congestion control algorithm in NetScaler?

NetScaler has built-in TCP profiles with appropriate congestion control algorithm, TCP parameters for variety of use cases. NetScaler also provides the luxury of building our own custom profile based on different requirements. ?? It is to be noted that using appropriate TCP parameters suited for the congestion algorithm used, is important for the profile to work successfully. This leads to the process of tuning the TCP profile by changing the parameters leading to optimized performance. ?? These profiles can be bound to vserver or services for usage.

Built-in profileDescription?? TCP Congestion Control Algorithm used
nstcp_default_profileRepresents the default global TCP settings on the appliance.?? New Reno
nstcp_default_tcp_lanUseful for back-end server connections, where these servers reside on the same LAN as the appliance.New Reno
nstcp_default_tcp_lan_thin_streamSimilar to the nstcp_default_tcp_lan profile; however, the settings are tuned to small size packet flows.New Reno
nstcp_default_tcp_interactive_streamSimilar to the nstcp_default_tcp_lan profile; however, it has a reduced delayed ACK timer and ACK on PUSH packet settings.New Reno
nstcp_default_tcp_lfpUseful for long fat pipe networks (WAN) on the client side. Long fat pipe networks have long delay, high bandwidth lines with minimal packet drops.New Reno
nstcp_default_tcp_lfp_thin_streamSimilar to the nstcp_default_tcp_lfp profile; however, the settings are tuned for small size packet flows.New Reno
nstcp_default_tcp_lnpUseful for long narrow pipe networks (WAN) on the client side. Long narrow pipe networks have considerable packet loss once in a while.New Reno
nstcp_default_tcp_lnp_thin_streamSimilar to the nstcp_default_tcp_lnp profile; however, the settings are tuned for small size packet flows.New Reno
nstcp_internal_appsUseful for internal applications on the appliance (for example, GSLB sitesyncing). This contains tuned window scaling and SACK options for the desired applications. This profile should not be bound to applications other than internal applications.New Reno
nstcp_default_Mobile_profileUseful for mobile devices.Westwood+
nstcp_default_XA_XD_profileUseful for a XenApp or XenDesktop deployment.New Reno
nstcp_default_WAN_profileUseful for WAN environmentBIC

TCP profile is bound to vserver/transparent service for front end connection where the clients terminate. TCP profile is bound to service for backend connection where the connections are originated from NetScaler to the backend server.

It is important to work through profiles for using congestion control algorithms by tuning various profile parameters. This decides the performance improvements that can be achieved through using TCP Profile and hence it plays a vital role in optimization. NetScaler provisions custom TCP Profile that can be used as per the demands and deployment of the network.

To configure TCP Profile in NetScaler please refer to guide “How to configure TCP Profile in NetScaler?”.

Applicable Products


Join the conversation

Citrix Discussions

Open a case

Citrix Support