Configuring Performance Routing Cost Policies
Configuring Performance Routing Cost Policies
Last Updated: November 11, 2011
This module describes how to configure and apply Cisco IOS Performance Routing (PfR) cost policies. A PfR policy can be configured to optimize traffic based on the monetary cost of the exit links. The PfR Cost Based Optimization feature provides financial benefits by directing traffic to lower cost links, while at the same time honoring other configured policies such as delay, loss, and utilization. Cost Based Optimization can be applied to links that are billed using a fixed or tiered billing method. Load balancing based on cost can also be achieved.
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the Feature Information Table at the end of this document.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for Performance Routing Cost Policies
Before implementing PfR cost policies, you need to understand an overview of how PfR works and how to set up PfR network components. See the "Understanding Performance Routing," "Configuring Basic Performance Routing," and "Configuring Advanced Performance Routing," modules for more details.
Information About Performance Routing Cost Policies
To configure and apply PfR policies, you should understand the following concepts:
Overview of PfR Link Policies
PfR link policies are a set of rules that are applied against PfR-managed external links (an external link is an interface on a border router on the network edge). Link policies define the desired performance characteristics of the links. Instead of defining the performance of an individual traffic class entry that uses the link (as in traffic class performance policies), link policies are concerned with the performance of the link as a whole. Link policies are applied both to exit (egress) links and entrance (ingress) links. The following link policy types describe the different performance characteristics that can be managed using link policies:
Traffic Load (Utilization) Policy
A traffic load (also referred to as utilization) policy consists of an upper threshold on the amount of traffic that a specific link can carry. Cisco IOS PfR supports per traffic class load distribution. Every 20 seconds, by default, the border router reports the link utilization to the master controller, after an external interface is configured for a border router. Both exit link traffic and entrance link traffic load thresholds can be configured as a PfR policy. If the exit or entrance link utilization is above the configured threshold, or the default threshold of 75-percent, the exit or entrance link is in an out-of-policy (OOP) state and PfR starts the monitoring process to find an alternative link for the traffic class. The link utilization threshold can be manually configured either as an absolute value in kilobytes per second (kbps) or as a percentage. A load utilization policy for an individual interface is configured on the master controller under the border router configuration.
A traffic load policy describes an upper limit for the traffic to be carried on a single link. For more details about configuring a traffic load policy, see the Configuring an Exit Link Load Balancing PfR Policy: Example configuration example in the "Configuring Advanced Performance Routing" module.
A range policy is defined to maintain all links within a certain utilization range, relative to each other in order to ensure that the traffic load is distributed. For example, if a network has multiple exit links, and there is no financial reason to choose one link over another, the optimal choice is to provide an even load distribution across all links. The load-sharing provided by traditional routing protocols is not always evenly distributed, because the load-sharing is flow-based rather than performance- or policy-based. Cisco PfR range functionality allows you to configure PfR to maintain the traffic utilization on a set of links within a certain percentage range of each other. If the difference between the links becomes too great, PfR will attempt to bring the link back to an in-policy state by distributing traffic classes among the available links. The master controller sets the maximum range utilization to 20 percent for all PfR-managed links by default, but the utilization range can be configured using a maximum percentage value.
Both exit link and entrance link utilization ranges can be configured as a PfR policy.
A range policy describes a method of load-balancing the traffic over multiple links. For more details about configuring a range policy, see the Configuring an Exit Link Load Balancing PfR Policy: Example configuration example in the Configuring Advanced Performance Routing module.
PfR support for cost-based optimization was introduced in Cisco IOS Release 12.3(14)T, 12.2(33)SRB, and later releases. Cost-based optimization allows you to configure policies based on the monetary cost (ISP service level agreements [SLAs]) of each exit link in your network. To implement PfR cost-based optimization the PfR master controller is configured to send traffic over exit links that provide the most cost-effective bandwidth utilization, while still maintaining the desired performance characteristics. A cost policy describes a method of load-balancing the traffic over multiple links.
In response to changing business practices, in Cisco IOS Release 12.4(15)T9 and later releases, the calculation of the Momentary Target Link Utilization (MTLU) algorithm is modified to allow for more efficient bandwidth utilization while minimizing the link cost.
To understand how cost-based optimization works, review the following sections:
Cost Policy Billing Models
PfR cost-based optimization supports two methods of billing: fixed-rate billing or tier-based billing.
Fixed-rate billing is used when the ISP bills one flat rate for a link regardless of bandwidth usage. If fixed-rate billing only is configured on the exit links, all exits are considered equal with regard to cost-optimization and other policy parameters (such as delay, loss, and utilization) are used to determine if the prefix or exit link is in-policy.
Tier-based billing is used when the ISP bills at a tiered rate based on the percentage of exit link utilization. Each cost tier is configured separately with an associated monetary cost and a percentage of bandwidth utilization that activates the tier is defined. The lowest cost tier for an exit using tier-based billing is charged each month regardless of the bandwidth actually utilized. An allowance is made for bursting in the algorithm used to determine the tier-based billing. In this situation, bursting is defined as short periods of high bandwidth usage that would be expensive under fixed-rate billing.
A fixed-rate billing is a set monthly fee regardless of utilization. Tier-based billing also incurs at least the lowest-tier cost per month, but the final monthly tier-based billing charge is determined by the cost assigned to the tier that matches the sustained monthly utilization.
Link Utilization Rollup Calculations
The first step in determining the billing fee for each exit link per month is to calculate the link utilization rollup values. Link utilization rollup values are the averages of the link utilization readings taken at regular intervals (sampling period) from the ingress and egress interfaces at the border routers for a given rollup period. For example, if a sampling period was set to 60 minutes, and the rollup was set at 1440 minutes (24 hours), we would have 24 ingress and 24 egress link utilization samples used for calculating the link utilization rollup. An average is taken for each set of ingress and egress samples from that rollup period to get a link utilization rollup value for the ingress and egress links.
Monthly Sustained Utilization Calculation
After the link utilization rollup calculation is performed, the monthly sustained utilization is calculated, The specific details of tier-based billing models vary by ISP. However, most ISPs use some variation of the following algorithm to calculate what an enterprise should pay in a tiered billing plan:
The monthly sustained utilization rollup calculations can be configured to use one of the following three techniques:
In the following explanations of the sustained utilization calculation techniques, the discard value is configured as an absolute value of 10. The default discard value is 5 percent.
Using the combined technique, the monthly sustained utilization calculation is based on a combination of the egress and ingress rollup samples on a single sorted stack, the highest 10 rollup values are discarded, and the next highest rollup value is the MTLU.
Using the separate technique, the egress and ingress rollup samples for a link are sorted into separate stacks and the highest 10 rollup values for each stack are discarded. The highest remaining rollup value of the two stacks is selected as the MTLU.
Using the summed technique the egress and ingress rollup samples are added together. The summed values of each rollup sample are placed into one stack, the top 10 rollup values are discarded, leaving the next highest rollup value as the MTLU.
The following table displays an example of how the sustained monthly utilization is calculated using the separate technique. In the table below the rollup values for a 30-day period are displayed in order from the highest bandwidth to the lowest bandwidth for both the egress and ingress rollup values. The top 10 values (shown in italic) are discarded because the master controller has been configured to discard this absolute number of rollups. The next highest rollup value remaining in the two stacks, 62 (shown in bold), is the sustained monthly utilization. The sustained monthly utilization is used to determine the tier at which the customer is billed for bandwidth usage on that link for that billing period.
How to Configure Performance Routing Cost Policies
Configuring a Basic PfR Cost-Based Policy
Perform this task to configure basic PfR cost-based optimization. Cost-based optimization is configured on a master controller using the cost-minimization command in PfR border exit interface configuration mode (under the external interface configuration). Cost-based optimization supports tiered and fixed billing methods.
In this task, the configuration is performed on the master controller router and it assumes that the border routers are configured. Tier-based billing is configured with three cost tiers and a nickname for the service provider is set to ISP1. The monthly sustained utilization calculation technique is configured to use the sum technique and the last day of the billing cycle is on the 30th day of the month with an offset of 3 hours to allow for a difference in time zones.
The cost-minimization command contains many variations of keywords and arguments. Only one of the required keywords and its associated syntax can be configured on one CLI line, but multiple instances of this command can be entered. Only the fixed and tier keywords are mutually exclusive within the configuration for each border router link. For details about the full syntax, see the Cisco IOS Performance Routing Command Reference.
The following example is just a sample configuration as shown in the task but with the added tiers to complete the tier-based fee configuration. For a more complete example configuration of a basic PfR cost policy that includes both fixed-rate and tier-based billing, see the "Example: Configuring a Basic PfR Cost-Based Policy" section.
pfr master border 10.100.1.1 key-chain PFR_cost interface Ethernet 0/0 external cost-minimization nickname ISP1 cost-minimization calc sum cost-minimization sampling period 10 rollup 60 cost-minimization end day-of-month 30 offset 5:00 cost-minimization tier 100 fee 1000 cost-minimization tier 70 fee 700 cost-minimization tier 50 fee 500 exit interface Ethernet 1/0 internal exit mode route control resolve cost priority 1 end
Using a PfR Cost Policy to Minimize Billing and Load Balance Traffic
While basic PfR cost-based optimization can be useful, many organizations have multiple border router exit links and possibly several different service providers charging different billing rates that increase according to the bandwidth utilized. In this situation, some form of traffic load balancing across the links may be required in addition to the cost minimization policy.
Perform this task on the master controller to configure a Performance Routing cost policy to minimize the monthly billing charge for multiple border router exit links while load balancing traffic across the links. In this scenario, the network has both fixed-rate and tier-based billing, and assuming that the customer is paying a monthly fee for the fixed-rate billing and the pre-paid (lowest cost) tier of tier-based billing, PfR can perform traffic load balancing while optimizing for cost.
The figure below shows an example of how different billing rates can be defined for each link using bandwidth and cost parameters that are defined through service level agreements (SLAs) that are identified as rules in the diagram. The main goal of this task is to minimize the billing charge per exit link and to load balance traffic across the exit links. Although Link 1 may be billed at a fixed-rate and Links 2 through 4 are subject to tier-based billing, all the links are set up as PfR tiers. To accomplish the cost minimization the first rule is to utilize 80 percent of Link 1 and 30 percent of Links 2, 3 and 4, as shown in the figure below. The second rule is to distribute additional traffic across Links 2, 3 and 4 to balance the traffic load. To achieve the traffic load balancing while minimizing cost, the solution is to configure a PfR cost policy using multiple tiers representing bandwidth percentages that are assigned artificial costs to ensure that the PfR traffic is optimized for cost and load balanced across all the exits. To illustrate the configured tiers, see the figure below.
The steps in this task create a cost policy in which PfR is configured to direct traffic through any of the lowest cost exits first; Link 1 at 10.1.1.1 and the pre-paid tier of the other three exits. When the pre-paid tier bandwidth at each link is fully utilized, the software determines the next lowest incremental cost between the tiers at all the links. The incremental cost of utilizing the next tier at Link 1 is $990. The incremental cost of utilizing the next tier at Link 2 is only $10. PfR forwards traffic to the next lowest cost tier which is the blue bar representing 40 percent of the bandwidth at Link 2, as shown in the figure below. The process continues to use cost to balance the load across Links 2, 3, and 4. This task illustrates how the monthly billing rate per exit link is minimized by utilizing the pre-paid bandwidth at Links 1 though 4 first, and then the traffic is effectively load balanced across Links 2, 3 and 4 by determining the lowest incremental cost between tiers.
In the following task steps, the exit link 10.1.1.1 is configured as a tier-based link although it is actually charged at a fixed rate. If a fixed rate link is configured as a tier for load balancing, the monthly cost calculation will not reflect the true cost for that link. Using this solution, the artificial costs assigned to the multiple tiers may affect the accuracy of all the monthly cost calculations.
Only some of the configuration steps for this task scenario are shown in the summary and detailed steps, the full configuration for the master controller is displayed in the Examples section shown after the detailed steps table.
The cost-minimization (PfR) command contains many variations of keywords and arguments. Only one of the required keywords and its associated syntax can be configured on one CLI line, but multiple instances of this command can be entered. Only the fixed and tier keywords are mutually exclusive within the configuration for each border router link. For details about the full syntax, see the Cisco IOS Performance Routing Command Reference.
The following configuration example is a complete configuration for all the links controlled by the master controller in the figure above the task steps. Note the set resolve cost priority 1 command in the PfR map titled cost_balance that is used to ensure that cost is the first priority for this task. In contrast, the resolve range and resolve utilization commands are disabled to avoid optimization conflicts. For output from associated show commands see the "Verifying and Debugging PfR Cost-Minimization Policies" section.
pfr master logging border 10.1.1.1 key-chain pfr interface Ethernet1/0 internal interface Ethernet0/0 external cost-minimization nickname 80-percent cost-minimization summer-time 2 Sunday March 02:00 1 Sunday November 02:00 60 cost-minimization tier 100 fee 1000 cost-minimization tier 80 fee 10 cost-minimization discard percent 5 exit exit border 10.2.1.2 key-chain pfr interface Ethernet1/0 internal interface Ethernet0/0 external cost-minimization nickname 30-meg cost-minimization tier 100 fee 290 cost-minimization tier 90 fee 220 cost-minimization tier 80 fee 160 cost-minimization tier 70 fee 110 cost-minimization tier 60 fee 70 cost-minimization tier 50 fee 40 cost-minimization tier 40 fee 20 cost-minimization tier 30 fee 10 cost-minimization discard percent 5 exit exit border 10.3.1.3 key-chain pfr interface Ethernet1/0 internal interface Ethernet0/0 external cost-minimization nickname 30-meg-2 cost-minimization tier 100 fee 290 cost-minimization tier 90 fee 220 cost-minimization tier 80 fee 160 cost-minimization tier 70 fee 110 cost-minimization tier 60 fee 70 cost-minimization tier 50 fee 40 cost-minimization tier 40 fee 20 cost-minimization tier 30 fee 10 cost-minimization discard percent 5 exit exit border 10.4.1.4 key-chain pfr interface Ethernet1/0 internal interface Ethernet0/0 external cost-minimization nickname 30-meg-3 cost-minimization tier 100 fee 290 cost-minimization tier 90 fee 220 cost-minimization tier 80 fee 160 cost-minimization tier 70 fee 110 cost-minimization tier 60 fee 70 cost-minimization tier 50 fee 40 cost-minimization tier 40 fee 20 cost-minimization tier 30 fee 10 cost-minimization discard percent 5 exit exit learn throughput periodic-interval 0 monitor-period 1 prefixes 2500 aggregation-type prefix-length 32 exit mode route control policy-rules cost_balance max-range-utilization percent 100 exit pfr-map cost_balance 10 match pfr learn throughput set resolve cost priority 1 no set resolve range no set resolve utilization set probe frequency 10 end
Verifying and Debugging PfR Cost-Minimization Policies
Perform this task on a master controller to display information to verify any cost-minimization policies and to help debug any issues. After cost-minimization policies are configured and applied to traffic the show command steps allow you to verify that the policy configuration is working as expected. If not, the debug command steps can help troubleshoot any issues. The show and debug commands are all optional and can be entered in any order.
Before You BeginSUMMARY STEPS
A cost policy must be configured and applied to PfR traffic before performing any of these steps.
Configuration Examples for Performance Routing Cost Policies
Example Configuring a Basic PfR Cost-Based Policy
The following example shows how to configure cost-based optimization on a master controller. Cost optimization configuration is applied under the external interface configuration. In this example, a policy is configured for multiple exits with a tiered billing cycle for one exit interface on border router 10.2.1.2 and a fixed fee billing cycle for the other exit interface on border router 10.2.1.2 and both exit interfaces on border router 10.3.1.3.
In this scenario, PfR sends traffic first through the fixed-rate exits, serial interface 3/0 at border router 10.2.1.2 and serial interfaces 2/0 and 3/0 at border router 10.3.1.3, because the bandwidth cost is lower for these fixed fee exits than the tier-based exit. When the fixed-rate exits are all fully utilized, the traffic is sent through serial interface 2/0 on border router 10.2.1.2. If the monthly sustained utilization is 40 percent or lower, the billing fee for the month will be $4000. If the monthly sustained utilization is higher then the tier that matches the monthly sustained utilization is charged. In this example, no calculation configuration was entered and the default behavior is triggered; the calculation is performed separately for egress and ingress samples.
This configuration example assumes that the border routers are already configured.
pfr master no periodic resolve cost priority 1 no resolve delay no resolve utilization border 10.2.1.2 key-chain key_cost1 interface Serial12/0 external cost-minimization tier 100 fee 10000 cost-minimization tier 75 fee 8000 cost-minimization tier 40 fee 4000 cost-minimization end day-of-month 31 interface Serial13/0 external cost-minimization fixed fee 3000 border 10.3.1.3 key-chain key_cost2 interface Serial12/0 external cost-minimization fixed fee 3000 interface Serial13/0 external cost-minimization fixed fee 3000 end
Example Using a PfR Cost Policy to Minimize Billing and Load Balance Traffic
The following configuration example shows how to configure cost-minimization policies and balance PfR traffic loads across multiple links. This task is designed to minimize the cost of each link and to precisely control load balancing across multiple border router links. This task controls the load balancing between multiple links by forcing PfR to use the bandwidth of the lowest cost tier first and then use the next lowest cost tiers on all the links.
Keywords in the show pfr master cost-minimization command are used to view the utilization of a specific link with the monthly egress and ingress rollup values. After the monthly billing period ends another keyword option for the billing history shows the sustained monthly utilization and link cost.
Border Router 10.1.1.1
key chain key1 key 1 key-string border1 ! pfr border logging local GigabitEthernet3/0/0 master 10.1.1.1 key-chain key1
Don't forget to configure all the border routers using a similar configuration but with appropriate changes. Now configure the master controller.
key chain key1 key 1 key-string border1 key chain key2 key 1 key-string border2 key chain key3 key 1 key-string border3 pfr master logging border 10.1.1.1 key-chain key1 interface GigabitEthernet3/0/0 external cost-minimization nickname ISP1 cost-minimization tier 100 fee 50000 cost-minimization tier 65 fee 10000 cost-minimization tier 30 fee 500 cost-minimization end day-of-month 24 cost-minimization sampling period 5 rollup 1440 cost-minimization discard absolute 10 exit interface GigabitEthernet3/0/1 internal exit border 10.2.1.2 key-chain key2 interface GigabitEthernet3/2/0 external interface GigabitEthernet3/0/0 internal exit border 10.4.1.4 key-chain key3 interface GigabitEthernet4/0/0 external cost-minimization nickname ISP2 cost-minimization fixed fee 3000 cost-minimization end day-of-month 24 exit interface GigabitEthernet4/0/2 internal exit no max range receive delay threshold 10000 loss threshold 1000000 mode route control mode monitor passive mode select-exit best resolve cost priority 1 active-probe echo 10.1.9.1 end
Now enter the show pfr master cost-minimization border command at the master controller to show the configuration and the utilization statistics. The rollup values during the 30-day March through April 24th billing period for the GigabitEthernet interface 3/0/0 on border router 10.1.1.1 are shown in the output:
Router# show pfr master cost-minimization border 10.1.1.1 pM - per Month, pD - per Day -------------------------------------------------------------------------------- Nickname : ISP1 Border: 10.1.1.1 Interface: Gi3/0/0 Calc type : Separate End Date : 24 Summer time: Disabled Fee : Tier Based Tier 1: 100, fee: 50000 Tier 2: 65, fee: 10000 Tier 3: 30, fee: 500 Period : Sampling 5, Rollup 1440 Discard : Type Absolute, Value 10 Rollup Information: Total(pM) Discard(pM) Remaining(pM) Collected(pM) 31 10 1 29 Current Rollup Information: MomentaryTgtUtil: 75 Kbps CumRxBytes: 0 StartingRollupTgt: 75 Kbps CumTxBytes: 0 CurrentRollupTgt: 75 Kbps TimeRemain: 00:00:51 Rollup Utilization (Kbps): Egress Utilization Rollups (Descending order) 1 : 0 2 : 89 3 : 80 4 : 71 5 : 70 6 : 65 7 : 65 8 : 51 9 : 50 10 : 49 11 : 49 12 : 45 13 : 42 14 : 39 15 : 35 16 : 34 17 : 30 18 : 30 19 : 30 20 : 29 21 : 25 22 : 20 23 : 19 24 : 12 25 : 10 26 : 10 27 : 9 28 : 8 29 : 4 30 : 1 Ingress Utilization Rollups (Descending order) 1 : 0 2 : 92 3 : 84 4 : 82 5 : 80 6 : 78 7 : 75 8 : 73 9 : 72 10 : 70 11 : 63 12 : 62 13 : 60 14 : 55 15 : 53 16 : 52 17 : 45 18 : 43 19 : 35 20 : 33 21 : 31 22 : 25 23 : 23 24 : 21 25 : 15 26 : 11 27 : 10 28 : 10 29 : 5 30 : 1
If we assume that the March through April 24th billing period is over, we can see the billing for the previous billing period using the show pfr master cost-minimization billing-history command. The monthly sustained utilization is 62 and the cost is $10,000 for the GigabitEthernet interface 3/0/0 link on border router 10.1.1.1.
Router# show pfr master cost-minimization billing-history Billing History for the past three months ISP2 on 10.4.1.4 Gi4/0/0 No cost min on 10.2.1.2 Gi3/2/0 ISP1 on 10.1.1.1 Gi3/0/0 Mon1 Mon2 Mon3 Nickname SustUtil Cost SustUtil Cost SustUtil Cost ---------- ------------------ ------------------ ------------------ ISP2 0 3000 ---NA--- ---NA--- ISP1 62 10000 ---NA--- ---NA--- ---------- ------------------ ------------------ ------------------ Total Cost 13000 0 0
Where to Go Next
If you want to review more information about PfR, see the documents that are listed under "Related Documents" section.
Feature Information for Configuring Performance Routing Cost Policies
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.
© 2010-2012 Cisco Systems, Inc. All rights reserved.