cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4893
Views
0
Helpful
0
Comments
Sandeep Singh
Level 7
Level 7

     

    Introduction

    The WAAS system consists of a set of devices called wide area application engines (WAEs) that work together to optimize TCP traffic over your network. When client and server applications attempt to communicate with each other, the network intercepts and redirects this traffic to the WAEs so that they can act on behalf of the client application and the destination server. The main benefit of transparent redirection is that users need not configure their browsers to use a web proxy. Instead, they can use the target URL to request content, and have their requests automatically redirected to a cache engine. The word "transparent" is this case means that the end user does not know that a requested file (such as a web page) came from the cache engine instead of from the originally specified server.

    WAAS TFO (Transport Flow Optimization) is a list of techniques used for optimization of TCP connections. When TFO is employed the upper layer applications and connecting devices are provided protection from changing WAN conditions like packet loss and latency. These methods minimize the impact of retransmissions and allow for maximum utilization of the WAN link.

    One of the most significant challenges associated with TCP is its inherent inability to fill a network link that is long in terms of distance (latency) and fat in terms of capacity (bandwidth). The challenge with filling bandwidth is that the amount of memory allocated to TCP is less than the capacity of the network multiplied by the distance. In short, TCP cannot receive enough data from the application to adequately saturate the network with data.

    Following optimization techniques are available in Cisco WAAS:

    • Selective Ack and Extensions
    • Window Scaling
    • Large Intitial Window
    • Large Buffer
    • Advance Congestion Avoidance

     

    TCP flow Optimization

    WAAS TFO, which uses an optimized implementation of TCP based on Binary Increase Congestion TCP (BIC-TCP), also uses memory for the purposes of guaranteed delivery and pipelining. TFO also leverages other TCP optimizations, including window scaling, selective acknowledgment, and large initial windows, to improve TCP performance. However, all these optimization will not improve performance if buffer capacity is simply too small to fill the available network link. In such cases, the buffer capacity may need to be increased to accommodate the WAN link separating two or more locations.

     

    Increasing the memory allocated to TCP connections, which in the case of WAEs is called adjusting TFO buffers, allows more data to be in flight between two nodes at a given time. This is also referred to as "keeping the pipe full", because it can allow communicating nodes to fully leverage the available bandwidth of the network. When coupling other optimizations, such as DRE or PLZ, the performance improvement can be exponentially higher as "keeping the pipe full" becomes "keeping the pipe full of compressed data". Consider a scenario where a T3 link connects a campus to a remote data center over very long distance. Although an increase to TCP memory (adjusting TFO buffers) may allow for near line-speed utilization of this link.

     

    By default, the WAEs are preconfigured with TFO buffer settings that allow the WAE to fill a link of capacity equal to the WAE rated capacity at a fair distance. The default TFO buffer settings are as follows:

    • NME-WAE models 302, 502, 522, and WAE-512 appliance: 32 KB send and receive for both original connection and optimized connection
    • WAE-612 appliance: 32 KB send and receive for original side connection and 512 KB for send and receive on the optimized connection
    • WAVE-274,474,574 applicances: 32 KB send and receive for original connection and 2048 KB for send and receive on the optimized connection
    • WAE-674, 7341, 7371 appliances: 32 KB send and receive for original connection and 2048 KB for send and receive on the optimized connection

     

    Although these values may be adequate for almost all deployments, they may require adjustment when deploying in environments with high bandwidth and high latency. WAE buffer settings should be configured based on the following guidelines:

    1. Original connections should not be adjusted unless the LAN throughput has become a bottleneck for WAN throughput (which is rare). This is typically only common in scenarios where WAN bandwidth is in excess of 45 Mbps or the network latency is in excess of 200 ms.
    2. Optimized connections should be set to four times the BDP of the network. The BDP of the network is equal to the bandwidth of the network (in bits) multiplied by the latency of the network (in seconds) and divided by eight (to end at a result in bytes).

     

    Configuring TFO Buffer Settings from CLI

    WAE# config term

     

    ! optimized connection receive buffer:

    WAE(config)# tfo tcp optimized-receive-buffer 2048

     

    ! optimized connection send buffer:

    WAE(config)# tfo tcp optimized-send-buffer 2048

     

    ! original connection receive buffer:

    WAE(config)# tfo tcp original-receive-buffer 512

     

    ! original connection send buffer:

    WAE(config)# tfo tcp original-send-buffer 512

     

    You can also configure TFO buffer settings from the CM GUI by going to Devices > Device or Device Group > Acceleration > Acceleration TCP Settings. Changes to the buffer settings of a WAE take effect only for new connections that are established after the configuration change.

     

    If a WAE encounters a situation where the system memory is oversubscribed based on the TFO buffer configuration and the number of connections to optimize, it will begin reassigning memory from existing connections to support new connections. In this way, the WAE can adapt to changes in load, even if it is configured to allocate large amounts of memory to connections. Additional TFO settings include TFO keepalives and MSS values. TFO keepalives, enabled by default, help the WAEs track connection status. MSS settings are used to adjust the MSS used on the original and optimized connections. It may be necessary to shrink the MSS values on the optimized connection (optimized-mss) if encapsulation or Virtual Private Network (VPN) is present in the network between the WAEs to ensure that fragmentation is not encountered, which can significantly impact performance.

     

    Related Information
    Debugging High CPU in WAAS Deployment
    WCCP best practices for Cisco WAAS

    Getting Started

    Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: