What is Cisco Performance Routing (PfR)?
Cisco Performance Routing (PfR) is a way of sending network packets based on intelligent path control. Normally, networks use routing protocols to determine the shortest path between an origin and destination. However, the shortest path might be highly trafficked. Instead of picking the shortest path, Cisco PfR picks the best path based on its performance.
PfR measures metrics such as throughput, delay, packet loss and reachability to find the best-performing path to send packets over. Besides performance metrics, PfR chooses paths by path status, policies and application types. Networks can also use PfR to improve application delivery and wide area network (WAN) efficiency.
Factors like WAN latency and lack of bandwidth lead to inefficient performance. PfR helps administrators address network performance issues by enabling routers to choose the best-performing path, while maintaining application performance.
Cisco originally created PfR, basing it off Optimized Edge Routing. OER also selects different paths in a network but isn't considered a routing protocol.
How Performance Routing works
PfR is a form of intelligent path control, which performs path selection based on real-time performance metrics. Monitoring applications receive these metrics and collect traffic from a primary data center. Intelligent path control differs from more classic routing protocols, which don't have the ability to monitor performance issues or change to alternative paths based on traffic flow.
Because it's based on Cisco's OER, PfR uses the same steps for path selection, which include the following:
- Profile learning phase. Uses profile learning to look at traffic flow, throughput and delay -- it also creates monitored traffic classes.
- Measure phase. Collects and calculates performance metrics for the traffic classes.
- Apply policy phase. Compares performance metrics.
- Control/enforce phase. Enacts policy-based routing.
- Verify phase. Monitors the traffic class again to verify performance.
When one path experiences performance issues due to something like dropped packets or reachability, PfR moves the path according to defined policies configured by the user. This helps improve application performance and availability. PfR can also use load balancing with traffic on available paths.
PfR uses two different device roles in a network -- border routers (BRs) and a primary controller. BRs are routers that have one or more interfaces connected to external networks. BRs also send performance metrics to primary controllers. The primary controller communicates with all the different border routers to monitor everything. Users can configure the primary controller and BRs to be the same or different routers.
PfR uses three different interface types:
- Internal, which connects the internal networks.
- External, which connects to external networks.
- Local, which is used to communicate between primary controllers and BRs.
How to configure Performance Routing
There are many ways a user can configure PfR, and they can do so for a variety of reasons. The following are example configurations:
- Configure the PfR primary controller to automatically learn prefixes based on outbound traffic or delay time using NetFlow Top Talker. Use the learn command to enter this mode from the primary controller.
- Configure the primary controller to gather learned prefixes by type. The aggregation-type command in PfR Top Talker and Delay learning can do this.
- Simplify traffic class learning through a learn list configuration mode.
- Manually configure PfR to create traffic classes for monitoring and optimization. This enables users to define exact prefixes.
- Use Prefix Traffic Class Configuration to select a prefix or range of prefixes for monitoring.
- The primary controller can use the unreachable command to specify reachability, or the percentage of unreachable hosts.
- Configure PfR to engage in passive, active, or passive and active monitoring.
- Configure and calculate the range of use over both egress and ingress links.
- Run a resolve function to prioritize PfR policies to solve potential overlapping policies. To do this, use the resolve command in PfR primary controller configuration mode.
- Configure PfR policies based on the cost of each exit link in the network. To do this, configure the primary controller to send traffic over exit links that are the most cost-effective in terms of bandwidth.
Learn more about PfR configurations from Cisco here.
Benefits of Performance Routing
Some benefits of Cisco Performance Routing are as follows:
- Improves network and application performance.
- Can improve application availability.
- Needs only small amounts of configuration.
- Has a large amount of policy options.
- Reduces WAN operation expenses.
- Efficiently distributes traffic based on load, performance and other metrics.
Performance Routing versions
There have been a few different iterations of Cisco PfR since it was originally built from OER. Each version has focused on deployment ease and scalability. OER's features included the following:
- Basic WAN.
- Provisioning per site, per policy.
- Configuration options.
PfRv2, the second version, added the ability to scale up to 500 sites, app path selections, policy simplifications and more configuration options.
The current version, PfRv3, added several new features. These features include increased scalability to 2,000 sites, centralized provisioning, automatic discovery and support for multiple data centers, as well as multiple next-hops per dynamic multipoint virtual private network.
Editor's note: This definition was updated to improve the reader experience.
Alexander S. Gillis is technical writer for WhatIs. He holds a bachelor's degree in professional writing from Fitchburg State University.