on
01-16-2022
03:56 AM
- edited on
10-21-2024
08:42 AM
by
prashrag
AppQoE:
AppQoE is a WAN optimization stack and optimizes WAN traffic for different use cases for applications that are deployed on-prem or in cloud.
AppQoE improves application experience by deploying different levels of optimization:
The following are the key building blocks of AppQoE:
TCP optimization on AppQoE splits the TCP session from Client to Server into 3 different sessions.
The packet flow is as below:
TCP Optimization is one of the key building blocks of AppQoE. It uses BBR2 congestion algorithm to define how fast it must send the data over WAN link. BBR stands for Bottleneck bandwidth and Routing-trip propagation.
This is the primary difference when comparing AppQoE TCP optimization with TCP optimization on WAAS or Viptela OS. WAAS uses Cubic congestion algorithm while Viptela OS uses BBR1 congestion algorithm.
The networks have changed today and moved from loss-based networks to more latency based and so BBR2 uses latency as one of the key parameters on how fast it must send the data and it also takes variable latency links and queue lengths into consideration while calculating the sending rate.
No, UDP traffic is not optimized with AppQoE
AppQoE can optimize any TCP traffic. The use cases can be categorized into below 4 sections:
Branch to Datacenter Traffic: This is a straightforward use case where the data resides on-prem and users located in different branch sites access this data day in and day out
Lot of this data is redundant and both TCP and DRE with LZW can help to optimize this data for faster access with reduced latency resulting in increased application experience from end user perspective.
Cloud Application traffic optimization: AppQoE combined with app aware routing and cloud OnRamp brings a powerful solution that be deployed for faster access to the cloud applications.
Optimizing Satellite Traffic: AppQoE with TCP and DRE can optimize this Satellite traffic and can work with high latency links to provide a better application experience. It supports latencies as high as 900 ms and address challenges like application response times, packet loss, etc. that are very common in Satellite links.
SD-WAN Remote Access: AppQoE benefits are now extended to the remote users working from the comfort of their home. A remote user uses AnyConnect or one of the native VPN clients for connecting to one of the WAN edges or access to application hosted in Cloud or data that resides in one of the on-prem datacenters. AppQoE can optimize this traffic using TCP and DRE/LZW.
AppQoE can optimize any SaaS application that uses TCP. The top 4 asks have been for Office365, Salesforce, G-Suite and applications hosted in AWS.
No, it is currently not supported with AppQoE and is on roadmap
DRE & LZW are both compression techniques however there is a fine difference between the two. DRE reduces the amount of WAN traffic by caching previously seen data patterns while LZW reduces the amount of WAN traffic by doing zip like compression on top of DRE.
There are no application specific optimizers in AppQoE. However, SMB/CIFS, MAPI, Citrix VDI are all TCP based applications so TCP, DRE/LZW on AppQoE can provide significant optimization benefits for different applications.
No, AppQoE is only supported for SD-WAN deployments
AppQoE supports Appnav/GRE as traffic interception/redirection methods
No, flow sync is currently not supported
Yes, AppQoE is a WAN optimization solution and is typically deployed for high WAN latency use cases
FEC or Forward Error Correction is one of the key building blocks of AppQoE. It is one of the mechanisms used in SD-WAN network to mitigate packet loss.
It sends one parity packet or error correcting packet for every 4 packets. There are many ways to generate this parity packet. One of which is exclusive OR (XOR) which is used by our stack.
The receiving end will examine sequence numbers of the packets to check if they are missing. If it received all the packets, then the parity packet is discarded. If one of the data packets is missing, then it is regenerated by performing the same bitwise exclusive OR operation on the received 3 packets and the parity packet.
This removes the need for sender to send the packet again in turn avoiding packet loss.
Below are some design considerations when designing the network around FEC:
Packet duplication is one of the key mechanisms to mitigate packet loss. It is typically used for critical and real time traffic to improve the overall quality of experience for these applications. It sends duplicate packets over redundant WAN links to mitigate packet loss. If the receiving Edge router receives all the packets, then the duplicate packets are discarded
Below are some design considerations when designing the network around Packet Duplication:
DRE or Data Redundancy Elimination is a compression technique that reduces the amount of WAN traffic by caching previously seen data patterns.
It’s a dual-sided TCP stream optimizer where DRE replaces the repeated data in the stream with much shorter reference called signature. It then sends this shortened stream across the WAN thereby reducing the amount of traffic over the WAN link.
Since it’s a dual-sided solution, the receiving end also has the same synchronized DRE cache with its own corresponding signature database.
The actual traffic reduction depends on use case and the type of traffic but generally we have seen traffic reduction anywhere from 60-90%.
DRE is application and protocol agnostic so cache from one protocol can be used to optimize traffic from any other protocol.
DRE is fully integrated with UTD and SSL Proxy feature. The flow must be decrypted first for it to be optimized by DRE.
DRE has two important databases as part of its optimization. DRE Cache is where the incoming data from data stream is stored in 32 bytes units of measurement. A corresponding signature database is created for every 32 bytes of data in DRE cache. The signature size is 5 bytes.
When DRE is enabled for the first time, the DRE cache is empty. When different users start sending data, DRE will start to cache that to build a DRE cache database. This process is known as DRE 1st pass since DRE has not seen this data earlier and is building the cache for the first time. Once this cache is built and if DRE sees this data from client again, it can use the same cache to optimize the traffic. This process is known as DRE 2nd pass.
Yes, DRE is a dual sided solution, and it must be deployed on both ends of the SD-WAN tunnel.
DRE cache is stored on /data partition on the disk
Yes, DRE cache is stored on /data partition on the disk and this partition is always encrypted using a symmetric key. This symmetric key is further encrypted with an RSA key.
DRE is deployed as a docker container on WAN edges
SSL optimization is one of the important use cases for any WAN optimization stack. It enables to see the unencrypted flow so that features like DRE can use that to optimize the data. The way it does this is by acting as SSL proxy and intercepting the traffic from client/server and providing its own certificates to the client using the modified server certificate. This is a completely FIPS compliant solution and DRE is fully integrated with SSL proxy feature to encrypt/decrypt the data stream for optimization
There are multiple certificate management and deployment options available. We can use enterprise CA, or vManage as CA or we can also use vManage as intermediate CA connected to the enterprise CA. The choice of deployment completely depends on the use case. All these solutions work with DRE and SSL proxy use case.
SSL optimization supports RSA, DSA and ECDSA handshake procedures
Integrated Service Node deployment refers to a deployment where both Service Controller and Service Node functions are deployed on same WAN edge. It is mostly used for a Branch deployment as a one box solution.
Service Controller is a function to intercept and redirect the traffic to AppQoE process running on same WAN edge or a different WAN edge. Appnav process running on a WAN edge acting as Service Controller is used to do traffic redirection.
External Service Node deployment refers to a deployment where both Service Controller and Service Node functions are deployed on different WAN edges. It is mostly used for a Data Center deployment as it aggregates traffic from multiple branches.
The choice of deployment scenario, whether it is internal service node or external service node deployment, completely depends on the use case and scale requirements. Typically, integrated service node is used for Branch deployment whereas external service node is used for Data Center deployment.
VPG or Virtual port Group interface is used to stich the LAN to WAN or WAN to LAN traffic. At a high level, once traffic is received on LAN, it is sent to VPG interface which then redirects it to AppQoE process. Once AppQoE does optimization, traffic is sent back to VPG interface which then sends it out towards WAN.
AppQoE supports different platforms for both Integrated Service Node and External Service node deployment. Please check this link for more details - Cisco SD-WAN AppQoE Configuration Guide, Cisco IOS XE Release 17.x - Traffic Optimization with DRE [Cisco SD-WAN] - Cisco
Is there any way to utilize AppQoE without full-blown SDWAN?
AppQoE is a feature developed inside our SD-WAN solution. It cannot work without SD-WAN
Can AppQoE be used for the Real-time Voice/Video applications (teams, Webex, etc)? if yes, which tools from AppQoE will be used?
Before using FEC or Packet Duplication for Voice traffic, it is highly recommended to test it out in the lab to make sure it is not causing any out-of-order packet issues. Other than that other AppQoE features are relevant to TCP traffic.
What TCP Congestion algorithm is used for AppQoE; BBR or BBRv2?
It depends on the platform. certain platforms use BBR and certain platforms use BBRv2.
Is there a list of what each cEdge platform uses?
Alll cEdge platforms use BBRv2 and vEdge platforms use BBR
Is DRE applicable to TCP traffic only?
Yes, DRE is applicable only for TCP traffic
In an AppQoE in SDWAN and WAAS in SDWAN mixed environment (or let's say customer is in migration phase) can DRE and LZW optimization work between AppQoE SN and WAAS?
Interoperability between WAAS and AppQoE is not supported.
Do we support TLSv1.3 decryption or do we downgrade TLSv1.3 connections to TLSv1.2?TLS version 1.3 is not supported and is downgraded to TLS version 1.2.Learn more
Is there CVD or design guide for AppQoE?
We don't have it as of now. We will share it once it is available.
This article might help:
https://www.cisco.com/c/en/us/support/docs/routers/sd-wan/221870-catalyst-sd-wan-appqoe-dre-topology-c.htmlWhich states that vEdges use Cubic and cEdge use BBR; has that changed to be just BBR on vEdge and BBRv2 on cEdges?
vEdges use the BBR starting from 20.4 release and prior to that vEdges were using CUBIC. cEdges always used BBRv2.
WAAS:
WAAS stands for Wide Area Application Services and is a WAN optimization stack. It went end-of-life on 1st Nov 2021. End-of-life link - https://www.cisco.com/c/en/us/products/collateral/routers/wide-area-application-services-waas-software/waas-portfolio-eol.html
WAAS optimizes application traffic using TCP optimization, DRE/LZW and different application specific optimizers like SMB AO, CIFS AO, MAPI AO, etc.
AppQoE uses a enhanced congestion algorithm BBR2 which caters to the deployments we see today. It comes with improvements on packet retransmissions, using variable latency links and queue lengths. Comparing that with WAAS which uses Cubic congestion algorithm which is made for traditional loss-based networks. AppQoE also is a tightly integrated solution with SD-WAN compared that to WAAS which is a separate stack then SD-WAN.
Please check this link for different platforms that can be deployed with AppQoE - Cisco SD-WAN AppQoE Configuration Guide, Cisco IOS XE Release 17.x - Traffic Optimization with DRE [Cisco SD-WAN] - Cisco
No, WAAS & AppQoE interop is not supported.
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: