Information about DAPR
This section includes the following topics:
DAPR Fundamentals
-
DAPR is site-local, single-sided, and egress-only:
-
Site-local: DAPR runs independently at each site (Branch, Campus, or Datacenter) with significance only at the local site. DAPR instances running at different sites of an enterprise are completely independent of one another.
-
Single-sided: DAPR has all its functionality and components that are localized at a site. DAPR does not require any components at or any co-ordination with remote sites.
-
Egress-only: DAPR manages only the traffic egressing a site (LAN to WAN). DAPR does not manage ingress traffic (WAN to LAN). More specifically, DAPR only manages the egress flows traversing DAPR-enabled LAN and WAN links.
-
-
DAPR is for multi-homed sites:
-
DAPR is for sites with multiple WAN links terminating on one or more WAN edge routers that are referred to as DAPR Border-Routers (BR).
-
DAPR provides policy routing of application flows across all the DAPR-enabled WAN links at a site.
-
-
Role of routing protocols in DAPR:
-
DAPR relies on the routing table (RIB) to determine an application flow destination reachability and hence is independent of routing protocols.
-
The routing protocols’ role in DAPR is to make available all possible paths to a destination and not the best path selection. Tune the routing protocol metrics to ensure all possible paths to a destination (not just the best path) are available in the routing table either as equal cost or unequal cost routes.
-
DAPR performs the best path selection for application flows and enforcement.
-
-
DAPR application flow routing:
-
DAPR dynamic best path selection for application flow-groups is based on:
-
Policy criteria of the link preference and link load balancing:
-
Varying WAN link bandwidth or utilization
-
Varying application flow rates
-
-
DAPR currently does not monitor the link delay, jitter, and throughput as DAPR does not use any probes.
-
-
DAPR policy criteria:
-
Link load balancing - Ensures uniform utilization of DAPR. Enables WAN links at a site by dynamically steering application flows across WAN links based on changing link bandwidth or utilization and flow rates.
-
Link preference: Ensure application performance by dynamically steering application flows to specified preferred links.
-
-
DAPR flow-groups:
-
DAPR identifies application flow-groups based on a 3-tuple of source IP-address, destination IP-address, and DSCP only.
-
DAPR currently does not support the identification of an application flow-groups using NBAR or 5-tuple of source-prefix, destination-prefix, protocol, source-ports, and destination-ports.
-
-
DAPR supports Radio aware routing (RAR) WAN links:
-
RAR is a solution for the variable bandwidth radio links used in mobile ad hoc networks (MANET). RAR helps in quick detection of neighbors and peers. It also tracks the bandwidth changes of radio links and makes it available to applications such as routing protocols and QoS shapers that rely on a link bandwidth. RAR implementation in Cisco IOS XE Gibraltar 16.11.1 is based on RFC-5578 (PPP over Ethernet (PPPoE) Extensions for Credit Flow and Link Metrics). RAR uses a point-to-point virtual-access interface per peer and updates the virtual-access interface bandwidth value when the corresponding radio link's bandwidth changes.
-
DAPR supports RAR and PPPoE virtual access interfaces as DAPR egress interfaces (DAPR-enabled WAN links). DAPR supports RAR bypass mode only.
-
DAPR Terminology
The following are the terminologies that are used in the DAPR solution:
-
Dynamic Application Policy Routing (DAPR): DAPR is the per-site dynamic policy routing solution for the application flows egressing WAN links.
-
Route-Manager (RM): DAPR control plane entity at a site that dynamically computes policy conformant routes for the application flows egressing WAN links.
-
Border-Router (BR): WAN edge routers at a site that export monitoring information to and enforce the application flow routes computed by the RM.
-
Flow-groups: A group of application flows managed by DAPR as a unit. DAPR route computation and enforcement are on a per flow-group basis. Currently, flows are grouped only based on a 3 tuple of source-address, destination-address, and DSCP.
-
Link-groups: An arbitrary group of links that specifies the preferred links in a link preference policy.
-
DAPR egress interface: A DAPR enabled WAN interface.
-
DAPR ingress interface: A DAPR enabled LAN interface. DAPR manages only the flows traversing DAPR ingress and egress interfaces.
-
Ingress-BR: BR that receives a flow-group from LAN. Note that Ingress-BR is per flow-group. A flow-group can have one or more Ingress BRs wherein individual flows of a flow-group enter different BRs from the LAN side.
-
Egress-BR: BR through which a flow-group leaves the site through WAN links. Note that Egress-BR is per flow-group. A flow-group can have a single Egress-BR even if the Ingress-BRs are many.
-
Locally forwarded flow-groups: Flow-groups for which Ingress-BR and the computed Egress-BR is the same.
-
Inter-BR forwarded flows: Flow-groups for which Ingress-BR and the computed Egress-BR are not the same. Such flows are forwarded from Ingress-BR to Egress-BR over the inter-BR IP or GRE tunnel that is referred to as auto-tunnel.
-
Auto-tunnel: IP/GRE tunnel between each pair of BRs that are automatically created by DAP.
-
Link out-of-policy (OOP) - A condition when DAPR egress exceeds the maximum percentage utilization threshold that is specified in the DAPR policy on RM.
-
Link soft-OOP: OOP link but not exceeding link capacity
-
Link hard-OOP: OOP link exceeding link capacity
-
DAPR Topologies
DAPR supports two topologies at a site:
-
Standalone RM and BRs
-
Co-located RM and BR
Standalone Route Manager and Border Routers
In this topology, Route-Manager (RM) and Border-Routers (BR) are deployed on separate routers. This is commonly used at large sites such as Campus or Headquarters, Datacenter, or large branch sites.
Co-located Route Manager and Border Routers
In this topology, RM and BR are deployed on a single router. This is commonly used at small sites with a single WAN edge router such as small branch sites.
DAPR Components
DAPR solution comprises the following control and data plane functions:
DAPR Control Plane
-
Collection of site-wide metrics for the flow-route computation.
-
Flows and flow-metrics (byte or packet count and input or output interfaces)
-
Flow destination reachability information
-
WAN link metrics (such as bandwidth & utilization)
-
-
Computation of per flow-group policy routes based on the site-wide metrics.
-
Synchronized programming of the per flow-group policy-route decisions (forwarding state) on the WAN edge routers (BRs).
DAPR Data Plane
-
Enforcement of the per flow-group policy-routes bypassing normal routing.
-
Inter-BR traffic forwarding to enforce policy-route decisions where the Ingress and Egress BRs for a traffic flow group are not the same.
DAPR comprises of the following entities and inter-communication:
Route Manager
Route-manager is a control plane entity that performs following functions:
-
Registration of BRs:
-
Authentication and authorization of BRs
-
Push policy parameters (e.g. link thresholds) and neighbor-BR information
-
-
Periodic processing.
-
Information pull from BRs:
-
Bandwidth and utilization of DAPR egress interfaces.
-
Routes for prefixes reachable through DAPR egress interfaces.
-
Egress flows on DAPR egress interfaces and flow parameters.
-
-
Route computation:
-
Best route computation for new application flow groups.
-
Route re-computation for existing out-of-policy flow groups.
-
Route re-computation for existing flow groups that are impacted by events such as WAN link down, route delete and so on.
-
-
Route push to BRs for enforcement:
-
Flow-group routes are pushed only to ingress-BRs (BRs receiving the flow-group from LAN).
-
Flow-group routes specify egress BR and interface through which the flows must egress. Flow-groups that must egress through other BRs are forwarded over inter-BR auto-tunnels.
-
-
-
Event processing:
-
Processing of RM and BR events.
-
Route re-computation for relocation of flow groups.
-
Push re-computed routes to BRs for enforcement.
-
Border Router
Border router performs the following:
-
Registration with RM:
-
Register DAPR egress and ingress interfaces (DAPR-enabled WAN and LAN interfaces).
-
Create auto-tunnels to neighbor BRs learnt from RM, for inter-BR traffic forwarding.
-
-
Provide monitoring information to RM (periodically pulled by RM):
-
Bandwidth and utilization of DAPR egress interfaces.
-
Prefixes reachable through DAPR egress interfaces.
-
Application flow groups egressing DAPR egress interfaces.
-
State of auto-tunnels to neighbor BRs.
-
-
-
Event notifications to RM:
-
Reachability events such as DAPR egress down and prefix unreachable.
-
Threshold violation events.
-
Inter-BR reachability such as auto-tunnel down.
-
-
Enforcement of application flow-group routes received from RM.
-
Enforce routes by bypassing routing and using pre-routing.
-
For routes with non-local egresses, forward traffic to egress/neighbor BRs over auto-tunnels.
-
Route Manager and Border Router Communication
DAPR control connections are between the RM and BR loopback IP addresses. DAPR uses two protocols for RM and BR control communication.
-
TCP based control protocol is used for registration, information pull and route push by RM and event notifications from BRs.
-
UDP based FNF (Flexible Netflow v9) protocol is used by BRs to periodically export the egress flows on DAPR egress interfaces.
Inter BR Forwarding
BRs create IP/GRE tunnels (referred to as auto-tunnels) to neighbor-BRs learnt from the RM. The inter-BR auto-tunnels are between the BR loopback IP addresses.
With site-wide policy routing, ingress BR for a flow-group and the egress BR can be different and this requires forwarding of traffic between BRs. DAPR uses auto-tunnels for loop-free forwarding of traffic between BRs.
DAPR Operations
DAPR operation is based on three key building blocks:
-
Monitoring
-
Flow Route Computation
-
Flow Route Enforcement
Monitoring
DAPR monitoring involves BRs monitoring and exporting the following information to RM for the flow route computation based on the site-wide visibility:
-
Bandwidth and utilization of DAPR egress interfaces (DAPR-enabled WAN links)
-
Prefixes learned through the DAPR egress interfaces
-
Application flow-groups egressing the DAPR egress interfaces
-
Inter-BR availability through the auto-tunnels
Flow Route Computation
Flow Route Computation Logic:
Invokes DAPR RM route-compute logic to compute routes for newly discovered flow-groups. It also re-computes routes for existing flow-groups to re-locate either due to events impacting current routes or current routes being not the best routes. Invokes route-compute on a per flow-group basis and involves following steps:
-
Create a list of viable egress interfaces that meet all the following criteria.
-
Egress interface has the flow destination availability.
-
Egress interface bandwidth is above the specified minimum-bandwidth.
-
Egress interfaces have the headroom for the flow.
-
Egress BR has the bidirectional inter-BR reachability to ingress-BR.
-
-
Select the best egress interface which is based on the following parameters as tie breakers:
-
Egress that has the higher specified preference for the flow-group.
-
Egress that has higher projected percentage-headroom (projected remaining link utilization).
-
Egress that has the lesser number of flows.
-
Egress link stickiness.
-
Flow-group Selection Logic for Re-location:
When an egress interface exceeds the specified link thresholds, some of the flow-groups re-locates to other egress interfaces. Flow-groups are selected in the following order for re-location:
-
Flow-groups that have no preference for the current egress interface (pref-level = none).
-
Flow-groups for which the current egress interface has third preference (pref-level = 3).
-
Flow-groups for which the current egress interface has second preference (pref-level = 2).
-
Flow-groups for which the current egress interface has first preference (pref-level = 1).
-
If there are multiple flow-groups that have the same preference level for the current egress, any of the flow-groups can be selected for the re-location (indeterminate).
Flow States
The following table lists the DAPR flow-group states:
State Transition |
Description |
---|---|
Unmanaged (U) |
Newly discovered flow-group by RM. |
Managed (M) |
|
Out-of-policy (O) |
|
Deleted (D) |
Flow-group that was in M/O state and is marked for deletion. |
The following lists lifecycle of a flow-group that does not have a preference policy.
State Transition |
Description |
---|---|
U ⇨ M |
Flow-group assigned to any viable egress |
U ⇨ D |
|
M ⇨ M |
Flow-group relocated due to events |
M ⇨ D |
|
The following lists the lifecycle of a flow-group that has a preference policy.
State Transition |
Description |
---|---|
U ⇨ M |
Flow-group assigned to its most preferred egress |
U ⇨ O |
Flow-group assigned to lesser or non-preferred egress |
U ⇨ D |
|
M ⇨ O |
Flow-group re-located to lesser/non-preferred egress as part of event processing. |
O ⇨ M |
Flow-group relocated to its most preferred egress as part of event or periodic OOP flow processing. |
O ⇨ O |
Flow-group re-located to lesser/non-preferred egress as part of event or periodic OOP flow processing. |
M ⇨ M |
Flow re-located to another most-preferred egress as part of processing an event where current egress is no longer viable. |
M/O ⇨ D |
|
Flow Route Enforcement
Flow-group route enforcement involves the following steps:
-
RM pushes the computed route for a flow-group to its ingress-BR. For example, the BR that is currently receiving this flow-group from LAN. The flow-group route consist of (Egress-BR, Egress-interface, Next-hop-IP).
-
Ingress BR enforces the flow-group route as follows:
-
If the egress BR is same as the ingress BR, pre-routing bypasses the routing.
-
If the egress BR is not same as ingress BR, pre-routing forwards traffic to egress BR over the auto-tunnel. The auto-tunnel carries metadata specifying the egress interface to use on the egress-BR.
-
DAPR Features
DAPR supports the following key features:
-
Link preference
-
Link load balancing
-
Application flow-group whitelisting
-
RM redundancy
Link Preference
This feature ensures application performance by dynamically steering application flows to the specified preferred WAN links.
Link Load Balancing
This feature ensures uniform utilization of the DAPR-enabled WAN links by dynamically steering application flows across WAN links based on changing link bandwidth or utilization and flow rates.
Application Flow-group Whitelisting
This feature allows flow-groups egressing DAPR egress interfaces are not managed by DAPR. Such flows takes the paths as determined by regular routing. Currently, the whitelisted flow-groups are reported by BRs to RM and are ignored by RM.
One of the use cases where this feature is useful is for DAPR to bypass and not manage traffic that is required for its operation such as routing protocol traffic.
RM Redundancy
DAPR supports stateless RM redundancy using anycast-IP with no state synchronization between the RMs. In case the current RM goes down or becomes unreachable, the TCP control connection keepalives detect this and reset the connection, and the new connection goes to the other RM.
Like with any other anycast based redundant setup, routing must be setup to ensure that only one of the RMs is reachable from all the BRs at any time.
DAPR Scalability and Responsiveness
DAPR supports the following scaling numbers:
RM Scale | |
---|---|
Description | Scaling Numbers: Cisco IOS XE Release 16.11.1 |
Maximum number of BRs |
20 |
Maximum number of WAN links per BR |
20 |
Maximum number of WAN links across all BRs |
400 |
Maximum number of destination prefixes |
525/2100 |
Maximum number of application flow-groups |
33,600 |
BR Scale |
|
Maximum number of destination prefixes |
175/700 |
Maximum number of application flow-groups |
11,200 |
Description | Scaling Numbers: Cisco IOS XE Release 16.11.1 |
---|---|
Maximum number of BRs |
1 |
Maximum number of WAN links per BR |
8 |
Maximum number of WAN links across all BRs |
8 |
Maximum number of destination prefixes/routes |
35/140 |
Maximum number of application flow-groups |
3600 |
DAPR Responsiveness
The DAPR responsive time includes:
-
DAPR response-time to critical events = ~5 seconds.
-
WAN link down, route deletion, WAN link hard threshold exceed
-
-
DAPR response-time to non-critical events = ~30 seconds
-
WAN link soft threshold exceed, out-of-policy flows.
-