Provides details about how BFD monitors data plane tunnel performance and how application-aware routing uses BFD statistics to determine tunnel transmission quality.
Monitor data plane tunnel health and performance using BFD statistics for application-aware routing decisions.
Monitor data plane tunnel performance
The Bidirectional Forwarding Detection (BFD) protocol runs over all data plane tunnels between Cisco IOS XE Catalyst SD-WAN devices, monitoring the liveness, and network and path characteristics of the tunnels. Application-aware routing uses the information gathered by BFD to determine the transmission performance of the tunnels. Performance is reported in terms of packet latency and packet loss on the tunnel.
BFD sends Hello packets periodically to test the liveness of a data plane tunnel and to check for faults on the tunnel. These Hello packets provide a measurement of packet loss and packet latency on the tunnel. The Cisco IOS XE Catalyst SD-WAN device records the packet loss and latency statistics over a sliding window of time. BFD keeps track of the six most recent sliding windows of statistics, placing each set of statistics in a separate bucket. If you configure an application-aware routing policy for the device, it is these statistics that the router uses to determine whether a data plane tunnel's performance matches the requirements of the policy's SLA.
Sliding window operation and statistics
-
For each sliding window time period, application-aware routing receives 600 BFD Hello packets (BFD Hello interval × polling interval: 1 second × 600 seconds = 600 Hello packets). These packets measure packet loss and latency on the data plane tunnels.
-
Application-aware routing retains the statistics for 1 hour (polling interval × multiplier: 10 minutes × 6 = 60 minutes).
-
Application-aware routing places the statistics in six separate buckets, indexed 0 through 5. Bucket 0 contains the latest statistics, and bucket 5 contains the oldest. Every 10 minutes, the system places the newest statistics in bucket 0, discards the statistics in bucket 5, and moves the remaining statistics to the next bucket.
-
Every 60 minutes (every hour), application-aware routing acts on the loss and latency statistics. It calculates the mean loss and latency across all buckets in all sliding windows and compares the result with the specified SLAs for the tunnel. If the calculated value satisfies the SLA, application-aware routing takes no action. If the value does not satisfy the SLA, application-aware routing calculates a new tunnel.
-
Application-aware routing uses the values in all six buckets to calculate the mean loss and latency for a data tunnel because the multiplier is 6. Although application-aware routing always retains six buckets of data, the multiplier determines how many buckets it uses to calculate the loss and latency. For example, if the multiplier is 3, it uses buckets 0, 1, and 2.
Adjusting parameters for faster detection
These default values take action only every hour, so they work well for a stable network. To capture network failures more quickly and allow application-aware routing to calculate new tunnels more often, adjust the values of these three parameters.
For example, if you change the polling interval to 1 minute (60,000 milliseconds), application-aware routing reviews tunnel performance characteristics every minute, but it performs loss and latency calculations based on only 60 Hello packets. If application-aware routing determines that it needs a new tunnel, it may take more than 1 minute to reset the tunnel.