Table Of Contents
Prerequisites for QoS: Percentage-Based Shaping
Restrictions for QoS: Percentage-Based Shaping
Information About QoS: Percentage-Based Shaping
Benefits for QoS: Percentage-Based Shaping
Defining Class and Policy Maps for QoS: Percentage-Based Shaping
Traffic Regulation Mechanisms and Bandwidth Percentages
Specifying Burst Size in Milliseconds Option
How to Configure QoS: Percentage-Based Shaping
Configuring a Class and Policy Map
Attaching the Policy Map to an Interface
Configuration Examples for QoS: Percentage-Based Shaping
Specifying Traffic Shaping on the Basis of a Bandwidth Percentage: Example
Verifying the Configuration: Example
Feature Information for QoS: Percentage-Based Shaping
QoS: Percentage-Based Shaping
First Published: December 4, 2006Last Updated: June 23, 2010The QoS: Percentage-Based Shaping feature allows you to configure traffic policing and traffic shaping on the basis of a percentage of bandwidth available on the interface. This feature also allows you to specify the committed (conform) burst (bc) size and the excess (peak) burst (be) size (used for configuring traffic shaping) in milliseconds (ms). Configuring traffic shaping in this manner enables you to use the same policy map for multiple interfaces with differing amounts of bandwidth.
Finding Feature Information in This Module
Your Cisco IOS software release may not support all of the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To reach links to specific feature documentation in this module and to see a list of the releases in which each feature is supported, use the "Feature Information for QoS: Percentage-Based Shaping" section.
Finding Support Information for Platforms and Cisco IOS and Catalyst OS Software Images
Use Cisco Feature Navigator to find information about platform support and Cisco IOS and Catalyst OS software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Contents
•Prerequisites for QoS: Percentage-Based Shaping
•Restrictions for QoS: Percentage-Based Shaping
•Information About QoS: Percentage-Based Shaping
•How to Configure QoS: Percentage-Based Shaping
•Configuration Examples for QoS: Percentage-Based Shaping
•Feature Information for QoS: Percentage-Based Shaping
Prerequisites for QoS: Percentage-Based Shaping
•For input traffic policing on a Cisco 7500 series router, verify that distributed Cisco Express Forwarding (dCEF) is enabled on the interface on which traffic policing is configured.
•For output traffic policing on a Cisco 7500 series router, ensure that the incoming traffic is dCEF-switched. Traffic policing cannot be used on the switching path unless dCEF switching is enabled.
Restrictions for QoS: Percentage-Based Shaping
The shape (percent) command, when used in "child" (nested) policy maps, is not supported on the Cisco 7500, the Cisco 7200, or lower series routers. Therefore, the shape (percent) command cannot be configured for use in nested policy maps on these routers.
Information About QoS: Percentage-Based Shaping
To configure QoS: Percentage-Based shaping, you need to understand the following concepts:
•Benefits for QoS: Percentage-Based Shaping
•Defining Class and Policy Maps for QoS: Percentage-Based Shaping
•Traffic Regulation Mechanisms and Bandwidth Percentages
•Specifying Burst Size in Milliseconds Option
Benefits for QoS: Percentage-Based Shaping
Increased Flexibility and Ease-of-Use
This feature provides the ability to configure traffic policing and traffic shaping on the basis of a percentage of bandwidth available on an interface, and it allows you to specify burst sizes in milliseconds. Configuring traffic policing and traffic shaping in this manner enables you to use the same policy map for multiple interfaces with differing amounts of bandwidth. That is, you do not have to recalculate the bandwidth for each interface or configure a different policy map for each type of interface.
Defining Class and Policy Maps for QoS: Percentage-Based Shaping
To configure the QoS: Percentage-Based Shaping feature, you must define a traffic class, configure a policy map, and then attach that policy map to the appropriate interface. These three tasks can be accomplished by using the Modular Quality of Service (QoS) Command-Line Interface (CLI) (MQC).
The MQC is a command-line interface that allows you to define traffic classes, create and configure traffic policies (policy maps), and then attach these traffic policies to interfaces.
In the MQC, the class-map command is used to define a traffic class (which is then associated with a traffic policy). The purpose of a traffic class is to classify traffic.
The MQC consists of the following three processes:
•Defining a traffic class with the class-map command.
•Creating a traffic policy by associating the traffic class with one or more QoS features (using the policy-map command).
•Attaching the traffic policy to the interface with the service-policy command.
A traffic class contains three major elements: a name, a series of match commands, and, if more than one match command exists in the traffic class, an instruction on how to evaluate these match commands (that is, match-all or match-any). The traffic class is named in the class-map command line; for example, if you enter the class-map cisco command while configuring the traffic class in the CLI, the traffic class would be named "cisco".
The match commands are used to specify various criteria for classifying packets. Packets are checked to determine whether they match the criteria specified in the match commands. If a packet matches the specified criteria, that packet is considered a member of the class and is forwarded according to the QoS specifications set in the traffic policy. Packets that fail to meet any of the matching criteria are classified as members of the default traffic class.
Traffic Regulation Mechanisms and Bandwidth Percentages
Cisco IOS quality of service (QoS) offers two kinds of traffic regulation mechanisms—traffic policing and traffic shaping. A traffic policer typically drops traffic that violates a specific rate. A traffic shaper typically delays excess traffic using a buffer to hold packets and shapes the flow when the data rate to a queue is higher than expected.
Traffic shaping and traffic policing can work in tandem and can be configured in a class map. Class maps organize data packets into specific categories ("classes") that can, in turn, receive a user-defined QoS treatment when used in policy maps (sometimes referred to as "service policies").
Before this feature, traffic policing and traffic shaping were configured on the basis of a user-specified amount of bandwidth available on the interface. Policy maps were then configured on the basis of that specific amount of bandwidth, meaning that separate policy maps were required for each interface.
This feature provides the ability to configure traffic policing and traffic shaping on the basis of a percentage of bandwidth available on the interface. Configuring traffic policing and traffic shaping in this manner enables customers to use the same policy map for multiple interfaces with differing amounts of bandwidth.
Configuring traffic policing and shaping on the basis of a percentage of bandwidth is accomplished by using the police (percent) and shape (percent) commands. For more information about these commands, see the Cisco IOS Quality of Service Solutions Command Reference.
Specifying Burst Size in Milliseconds Option
The purpose of the burst parameters (bc and be) is to drop packets gradually, as is done with Weighted Random Early Detection (WRED), and to avoid tail drop. Setting sufficiently high burst values helps to ensure good throughput.
This feature allows you the option of specifying the committed (conform) burst (bc) size and the excess (peak) burst (be) as milliseconds (ms) of the class bandwidth when you configure traffic shaping. The number of milliseconds is used to calculate the number of bytes to be used by the QoS: Percentage-Based Shaping feature.
Specifying these burst sizes in milliseconds is accomplished by using the bc and be keywords (and their associated arguments) of the police (percent) and shape (percent) commands.
For more information about these commands, see the Cisco IOS Quality of Service Solutions Command Reference.
How to Configure QoS: Percentage-Based Shaping
See the following sections for configuration tasks for the QoS: Percentage-Based Shaping feature. Each task in the list is identified as either required or optional.
•Configuring a Class and Policy Map (required)
•Attaching the Policy Map to an Interface (required)
•Verifying the Configuration (optional)
Configuring a Class and Policy Map
A class map is used to organize traffic into specific categories or classes. These categories or classes of traffic are associated with a traffic policy or policy map. In turn, the policy map is used in conjunction with the class map to apply a specific QoS feature to the traffic. In this instance, the QoS feature of percentage-based shaping will be applied.
To configure a class map and associate the class map with a specific policy map, perform the following steps.
SUMMARY STEPS
1. enable
2. configure terminal
3. policy-map policy-name
4. class {class-name | class-default}
5. shape {average | peak} percent percentage [sustained-burst-in-msec ms] [be excess-burst-in-msec ms] [bc committed-burst-in-msec ms]
6. end
DETAILED STEPS
Attaching the Policy Map to an Interface
After a policy map is created, the next step is to attach the policy map to an interface. Policy maps can be attached to either the input or output direction of the interface.
Note Depending on the needs of your network, you may need to attach the policy map to a subinterface, an ATM PVC, a Frame Relay DLCI, or other type of interface.
To attach the policy map to an interface, perform the following steps.
SUMMARY STEPS
1. enable
2. configure terminal
3. interface type number
4. pvc [name] vpi/vci [ilmi | qsaal | smds]
5. service-policy {input | output} policy-map-name
6. end
DETAILED STEPS
Command or Action PurposeStep 1
enable
Example:Router> enable
Enables higher privilege levels, such as privileged EXEC mode.
•Enter your password if prompted.
Step 2
configure terminal
Example:Router# configure terminal
Enters global configuration mode.
Step 3
interface type number
Example:Router(config)#
interface serial4/0
Configures an interface (or subinterface) type and enters interface configuration mode.
•Enter the interface type number.
Step 4
pvc [name] vpi/vci [ilmi | qsaal | smds]
Example:Router(config-if)# pvc cisco 0/16 ilmi
(Optional) Creates or assigns a name to an ATM PVC and specifies the encapsulation type on an ATM PVC. Enters ATM VC configuration mode.
Note This step is required only if you are attaching the policy map to an ATM PVC. If you are not attaching the policy map to an ATM PVC, skip this step and proceed with Step 5.
Step 5
service-policy {input | output} policy-map-name
Example:Router(config-if)#
service-policy input policy1
Specifies the name of the policy map to be attached to the input or output direction of the interface.
Note Policy maps can be configured on ingress or egress routers. They can also be attached in the input or output direction of an interface. The direction (input or output) and the router (ingress or egress) to which the policy map should be attached varies according your network configuration. When using the service-policy command to attach the policy map to an interface, be sure to choose the router and the interface direction that are appropriate for your network configuration.
Note Traffic shaping is supported on service policies attached to output interfaces or output VCs only.
•Enter the policy map name.
Step 6
end
Example:Router(config-if)# end
(Optional) Exits interface configuration mode.
Verifying the Configuration
To verify the configuration, use one or more of the show commands listed in the following steps.
SUMMARY STEPS
1. enable
2. show class-map [class-map-name]
3. show policy-map interface type number
4. exit
DETAILED STEPS
Troubleshooting Tips
The commands in the "Verifying the Configuration" section allow you to verify that you achieved the intended configuration and that the feature is functioning correctly. If, after using the show commands listed above, you find that the configuration is not correct or the feature is not functioning as expected, perform these operations:
If the configuration is not the one you intended, complete the following procedures:
1. Use the show running-config command and analyze the output of the command.
2. If the policy map does not appear in the output of the show running-config command, enable the logging console command.
3. Attach the policy map to the interface again.
If the packets are not being matched correctly (for example, the packet counters are not incrementing correctly), complete the following procedures:
1. Run the show policy-map command and analyze the output of the command.
2. Run the show running-config command and analyze the output of the command.
3. Use the show policy-map interface command and analyze the output of the command. Check the the following findings:
a. If a policy map applies queueing, and the packets are matching the correct class, but you see unexpected results, compare the number of the packets in the queue with the number of the packets matched.
b. If the interface is congested, and only a small number of the packets are being matched, check the tuning of the transmission (tx) ring, and evaluate whether the queueing is happening on the tx ring. To do this, use the show controllers command, and look at the value of the tx count in the output of the command.
Configuration Examples for QoS: Percentage-Based Shaping
This section provides the following configuration examples:
•Specifying Traffic Shaping on the Basis of a Bandwidth Percentage: Example
•Verifying the Configuration: Example
Specifying Traffic Shaping on the Basis of a Bandwidth Percentage: Example
The following example configures traffic shaping using an average shaping rate on the basis of a percentage of bandwidth. In this example, 25 percent of the bandwidth has been specified. Additionally, an optional be value and bc value (300 ms and 400 ms, respectively) have been specified.
Router> enableRouter# configure terminalRouter(config)# policy-map policy1Router(config-pmap)# class class1Router(config-pmap-c)# shape average percent 25 20 ms be 300 ms bc 400 ms
Router(config-pmap-c)# endAfter the policy map and class maps are configured, the policy map is attached to interface as shown in the following example:
Router> enableRouter# configure terminalRouter(config)#interface serial4/0
Router(config-if)#service-policy input policy1
Router(config-if)# endVerifying the Configuration: Example
This section contains sample output from the show policy-map command and the show policy-map interface command. The output from these commands can be used to verify and monitor the configuration on your network.
The following is sample output from the show policy-map command. This sample output displays the contents of a policy map called "policy3." In policy 3, average rate traffic shaping on the basis of an committed information rate (CIR) of 30 percent has been configured, and the bc and be have been specified in milliseconds.
Router# show policy-mapPolicy Map policy3Class class-defaultAverage Rate Traffic Shapingcir 30% bc 10 (msec) be 10 (msec)The following is sample output from the show policy-map interface command. This sample displays the statistics for the serial 2/0 interface on which average rate traffic shaping has been enabled.
Router# show policy-map interface serial2/0Serial2/0Service-policy output: policy3 (1032)Class-map: class-default (match-any) (1033/0)0 packets, 0 bytes5 minute offered rate 0 bps, drop rate 0 bpsMatch: any (1034)0 packets, 0 bytes5 minute rate 0 bpsQueueingqueue limit 64 packets(queue depth/total drops/no-buffer drops) 0/0/0(pkts queued/bytes queued) 0/0shape (average) cir 614400 bc 6144 be 6144target shape rate 614400In this example, the CIR is displayed in bps, and both the committed burst (bc) and excess burst (be) are displayed in bits.
The CIR, bc, and be are calculated on the basis of the formulas described below.
Formula for Calculating the CIR
When calculating the CIR, the following formula is used:
•CIR percentage specified (as shown in the output of the show policy-map command) * bandwidth (BW) of the interface (as shown in the output of the show interfaces command) = total bits per second
On the serial 2/0 interface, the bandwidth (BW) is 2048 kbps. To see the bandwidth of the interface, use the show interfaces command. A sample is shown below:
Router # show interfaces serial2/0Serial2/0 is administratively down, line protocol is down Hardware is M4T MTU 1500 bytes, BW 2048 Kbit, DLY 20000 usec, rely 255/255, load 1/255Therefore, the following values are used in the formula:
30% * 2048 kbps = 614400 bps
Formula for Calculating the Committed Burst (bc) and the Excess Burst (be)
When calculating both the bc and the be, the following formula is used:
•The bc (or be) in milliseconds (as shown in the show policy-map command) * the CIR in kilobytes (as shown in the show policy-map command) / 1000 = total number of bits
Therefore, the following values are used in the formula:
10 ms * 614400 bps = 6144 bits
Additional References
The following sections provide references related to the QoS: Percentage-Based Shaping feature.
Related Documents
Standards
Standards TitleNo new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.
—
MIBs
RFCs
Technical Assistance
Command Reference
The following commands are introduced or modified in the feature or features documented in this module. For information about these commands, see the Cisco IOS Quality of Service Solutions Command Reference at http://www.cisco.com/en/US/docs/ios/qos/command/reference/qos_book.html. For information about all Cisco IOS commands, use the Command Lookup Tool at http://tools.cisco.com/Support/CLILookup or the Cisco IOS Master Command List, All Releases, at http://www.cisco.com/en/US/docs/ios/mcl/allreleasemcl/all_book.html.
•police (percent)
•shape (percent)
•show policy-map
•show policy-map interface
Feature Information for QoS: Percentage-Based Shaping
Table 1 lists the release history for this feature.
Not all commands may be available in your Cisco IOS software release. For release information about a specific command, see the command reference documentation.
Use Cisco Feature Navigator to find information about platform support and software image support. Cisco Feature Navigator enables you to determine which Cisco IOS and Catalyst OS software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Note Table 1 lists only the Cisco IOS software release that introduced support for a given feature in a given Cisco IOS software release train. Unless noted otherwise, subsequent releases of that Cisco IOS software release train also support that feature.
Cisco and the Cisco Logo are trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and other countries. A listing of Cisco's trademarks can be found at 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. (1005R)
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
©2006-2010 Cisco Systems, Inc. All rights reserved.