The Distribution of Remaining Bandwidth Using Ratio feature allows service providers to configure a bandwidth-remaining ratio on subinterfaces and class queues. This ratio specifies the relative weight of a subinterface or queue with respect to other subinterfaces or queues. During congestion, the router uses this bandwidth-remaining ratio to determine the amount of excess bandwidth (unused by priority traffic) to allocate to a class of nonpriority traffic. The router allocates excess bandwidth relative to the other subinterface-level queues and class queues configured on the physical interface. By administration of a bandwidth-remaining ratio, traffic priority is not based solely on speed. Instead, the service provider can base priority on alternative factors such as service product and subscription rate.
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see
Bug Search Tool and 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 module.
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 Distribution of Remaining Bandwidth Using Ratio
Before enabling the Distribution of Remaining Bandwidth Using Ratio feature, create as many traffic classes as you need by using the class-map command.
Restrictions for Distribution of Remaining Bandwidth Using Ratio
Bandwidth-remaining ratios can be used on outbound interfaces only.
The bandwidth remaining ratio command cannot coexist with another bandwidth command in different traffic classes of the same policy map. For example, the following configuration is not valid and causes an error message to display:
policy-map Prec1
class precedence_0
bandwidth remaining ratio 10
class precedence_2
bandwidth 1000
The bandwidth remaining ratio command cannot coexist with another bandwidth command in the same class. For example, the following configuration is not valid and causes an error message to display:
policy-map Prec1
class precedence_0
bandwidth 1000
bandwidth remaining ratio 10
The bandwidth remaining ratio command cannot coexist with the priority command in the same class. For example, the following configuration is not valid and causes an error message to display:
policy-map Prec1
class precedence_1
priority percent 10
bandwidth remaining ratio 10
Information About Distribution of Remaining Bandwidth Using Ratio
Benefits of the Distribution of Remaining Bandwidth Using Ratio Feature
The Distribution of Remaining Bandwidth Using Ratio feature allows service providers to prioritize subscriber traffic during periods of congestion. A bandwidth-remaining ratio is used to influence how the router allocates excess bandwidth (unused by priority traffic) to a class of nonpriority traffic. Instead of using only bandwidth rate, the router considers configured minimum bandwidth rates, maximum bandwidth rates, and bandwidth-remaining ratios when determining excess bandwidth allocation. A bandwidth-remaining ratio adds more flexibility in prioritizing traffic and enables you to influence excess bandwidth allocation by basing the bandwidth-remaining ratio on factors other than speed.
With bandwidth-remaining ratios, service providers have more flexibility in assigning priority to subinterfaces and queues during congestion. In addition to speed, you can base the bandwidth-remaining ratio on alternative factors, such as a service product or subscription rate. In this way, for example, you can give higher weight to subinterfaces that carry business services and lower weight to subinterfaces that carry residential services.
Bandwidth-Remaining Ratio Functionality
A bandwidth-remaining ratio, specified by the bandwidthremainingratio command, is a value from 1 to 1000 that is used to determine the amount of unused (excess) bandwidth to allocate to a class-level queue or subinterface-level queue during congestion. The router allocates the excess bandwidth relative to the other class-level queues and subinterface-level queues configured on the physical interface. The bandwidth-remaining ratio value does not indicate a percentage. As the name implies, a ratio is used. For example, a subinterface with a bandwidth-remaining ratio of 100 receives 10 times the unused (excess) bandwidth during congestion than a subinterface with a bandwidth-remaining ratio of 10.
Without bandwidth-remaining ratios, the queueing mechanism or scheduler on the router allocates unused (excess) bandwidth equally among the classes or subinterfaces.
With bandwidth-remaining ratios, unused (excess) bandwidth allocation can be based on factors other than the bandwidth rate (for example, the service product or the subscription rate).
Using the bandwidth remaining ratio command, the bandwidth-remaining ratio can be configured differently on each subinterface or class. The bandwidth-remaining ratio can range from 1 to 1000. For example, if there are three subscribers, and the bandwidth-remaining ratios are configured as 9, 7, and 1, and if after priority traffic is served, there are 1700 kbps of excess bandwidth, the subscribers get 900 kbps, 700 kbps, and 100 kbps, respectively.
How to Configure Distribution of Remaining Bandwidth Using Ratio
You can apply bandwidth-remaining ratios to subinterfaces and/or classes queues.
Creates or modifies a child policy map and enters policy-map configuration mode.
Enter the name of the child policy map.
Step 4
classclass-map-name
Example:
Router(config-pmap)# class precedence_0
Configures the class map and enters policy-map class configuration mode.
Step 5
bandwidthbandwidth-kbps
Example:
Router(config-pmap-c)# bandwidth 10000
Specifies the bandwidth, in kbps, to be allocated to this traffic class.
Enter the amount of bandwidth, in kilobits per second (kbps).
Step 6
Repeat Steps 4
and 5
to configure additional traffic classes, if needed.
Step 7
exit
Example:
Router(config-pmap-c)# exit
Exits policy-map class configuration mode.
Step 8
exit
Example:
Router(config-pmap)# exit
Exits policy-map configuration mode.
Step 9
policy-mapparent-policy-name
Example:
Router(config)# policy-map Parent
Creates or modifies a parent policy map and enters policy-map configuration mode.
Enter the name of the parent policy map.
Step 10
classclass-default
Example:
Router(config-pmap)# class class-default
Configures the class-default class and enters policy-map class configuration mode.
Note
The router interprets any features that are configured under the class-default class as aggregate features on the subinterface.
Step 11
bandwidthremainingratioratio
Example:
Router(config-pmap-c)# bandwidth remaining ratio 10
Specifies the bandwidth-remaining ratio for the subinterface.
Enter the ratio.
The ratio is the value used to determine the amount of unused bandwidth to allocate to each queue on the subinterface during periods of congestion. The scheduler allocates the excess bandwidth relative to other subinterfaces. Valid values are 1 to 1000. The default value is 1.
Step 12
shape {average | peak} cir [bc] [be]
Example:
Router(config-pmap-c)# shape average 100000000
(Optional) Shapes the average or peak rate to the rate that you specify.
Enter either the average or peak keyword along with the CIR and any optional arguments. Note the following:
average--Specifies average-rate shaping.
peak--Specifies peak-rate shaping.
cir--Specifies the committed information rate (CIR), in bits per second (bps).
(Optional) bc--Specifies the committed burst size, in bits.
(Optional) be--Specifies the excess burst size, in bits.
Step 13
service-policychild-policy-name
Example:
Router(config-pmap-c)# service-policy Child
Applies the child policy map that you specify to the traffic class.
Enter the name of the previously configured child policy map.
The router applies the QoS actions (features) specified in the child policy map to the traffic class.
Note
The service-policy command typically requires that you specify the direction of the traffic using the input or output keywords. However, when applying a child policy to a parent policy, do not specify a traffic direction.
Applies the parent policy map to the subinterface.
Enter the output keyword and the name of the parent policy map.
Note
The router shapes the subinterface traffic to the shaping rate specified in the parent class-default class and applies the QoS actions (features) specified in the child policy map.
Note
During periods of congestion, the router uses the bandwidth-remaining ratio specified in the parent policy map to allocate unused bandwidth on this subinterface relative to other subinterfaces.
Step 18
end
Example:
Router(config-subif)# end
Returns to privileged EXEC mode.
Configuring and Applying Bandwidth-Remaining Ratios to Class Queues
SUMMARY STEPS
1.enable
2.configureterminal
3.policy-mapchild-policy-name
4.classclass-map-name
5.shape {average | peak} cir [bc] [be]
6.bandwidthremainingratioratio
7.
Repeat Steps 4
, 5
, and 6
for each class queue that you want to define, specifying the bandwidth-remaining ratio as applicable.
Creates or modifies a child policy map and enters policy-map configuration mode.
Enter the name of the child policy map.
Step 4
classclass-map-name
Example:
Router(config-pmap)# class precedence_0
Configures the class map and enters policy-map class configuration mode.
Step 5
shape {average | peak} cir [bc] [be]
Example:
Router(config-pmap-c)# shape average 100000000
(Optional) Shapes the average or peak rate to the rate that you specify.
Enter either the average or peak keyword along with the CIR and any optional arguments. Note the following:
average--Specifies average-rate shaping.
peak--Specifies peak-rate shaping.
cir--Specifies the committed information rate (CIR), in bits per second (bps).
(Optional) bc--Specifies the committed burst size, in bits.
(Optional) be--Specifies the excess burst size, in bits.
Step 6
bandwidthremainingratioratio
Example:
Router(config-pmap-c)# bandwidth remaining ratio 10
Specifies the bandwidth-remaining ratio for the traffic class.
Enter the bandwidth-remaining ratio. The ratio is the value used to determine the amount of unused bandwidth to allocate to each queue on the subinterface during periods of congestion. The queueing mechanism or scheduler allocates the excess bandwidth relative to other subinterfaces. Valid values are 1 to 1000. The default value is 1.
Note
In a hierarchical policy map structure, the bandwidthremainingratioratio
command must be used for at least one class. Using it in other classes is optional. When this command is not explicitly enabled in the other classes, the queueing mechanism uses 1 as the default.
Step 7
Repeat Steps 4
, 5
, and 6
for each class queue that you want to define, specifying the bandwidth-remaining ratio as applicable.
Step 8
exit
Example:
Router(config-pmap-c)# exit
Exits policy-map class configuration mode.
Step 9
exit
Example:
Router(config-pmap)# exit
Exits policy-map configuration mode.
Step 10
policy-mapparent-policy-name
Example:
Router(config)# policy-map Parent
Creates or modifies a parent policy map and enters policy-map configuration mode.
Enter the name of the parent policy map.
Step 11
classclass-default
Example:
Router(config-pmap)# class class-default
Configures the class-default class and enters policy-map class configuration mode.
Note
The router interprets any features that are configured under the class-default class as aggregate features on the subinterface.
Step 12
shape {average | peak} cir [bc] [be]
Example:
Router(config-pmap-c)# shape average 100000000
(Optional) Shapes the average or peak rate to the rate that you specify.
Enter either the average or peak keyword along with the CIR and any optional arguments. Note the following:
average--Specifies average-rate shaping.
peak--Specifies peak-rate shaping.
cir--Specifies the committed information rate (CIR), in bits per second (bps).
(Optional) bc--Specifies the committed burst size, in bits.
(Optional) be--Specifies the excess burst size, in bits.
Step 13
bandwidthremainingratioratio
Example:
Router(config-pmap-c)# bandwidth remaining ratio 10
(Optional for class-default or other classes in a hierarchical policy map structure) Specifies the bandwidth-remaining ratio for the subinterface.
Enter the bandwidth-remaining ratio. The ratio is the value used to determine the amount of unused bandwidth to allocate to each queue on the subinterface during periods of congestion. The queueing mechanism or scheduler allocates the excess bandwidth relative to other subinterfaces. Valid values are 1 to 1000. The default value is 1.
Note
In a hierarchical policy map structure, the bandwidthremainingratioratio
command must be used for at least one class. Using it in other classes is optional. When this command is not explicitly enabled in the other classes, the queueing mechanism uses 1 as the default.
Step 14
service-policychild-policy-name
Example:
Router(config-pmap-c)# service-policy Child
Applies the child policy map that you specify to the traffic class.
Enter the name of the child policy map. The router applies the QoS actions (features) specified in the child policy map to the traffic class.
Note
The service-policycommand typically requires that you specify the direction of the traffic using the input or output keywords. However, when applying a child policy map to a parent policy map, do not specify traffic direction.
Example Configuring Bandwidth-Remaining Ratios on Ethernet Subinterfaces
The following example shows how to configure bandwidth-remaining ratios on an Ethernet subinterface using a hierarchical policy. In the example, Gigabit Ethernet subinterface 1/0/0.1 is shaped to 100 Mbps. During congestion, the router uses the bandwidth-remaining ratio of 10 to determine the amount of excess bandwidth (unused by priority traffic) to allocate to the nonpriority traffic on subinterface 1/0/0.1, relative to the other subinterface-level and class-level queues on the interface.
policy-map Child
class precedence_0
bandwidth 10000
class precedence_1
shape average 100000
bandwidth 100
policy-map Parent
class class-default
bandwidth remaining ratio 10
shape average 100000000
service-policy Child
interface GigabitEthernet1/0/0.1
encapsulation dot1Q 100
ip address 10.1.0.1 255.255.255.0
service-policy output Parent
Example Verifying Bandwidth-Remaining Ratios on Class Queues
In the following sample configuration, vlan10_policy is applied on the Gigabit Ethernet subinterface 1/0/0.10 and vlan20_policy is applied on the Gigabit Ethernet subinterface 1/0/0.20. During congestion on the interface, subinterface Gigabit Ethernet 1/0/0.20 has 10 times more available bandwidth than subinterface Gigabit Ethernet 1/0/0.10 because the bandwidth-remaining ratio for subinterface Gigabit Ethernet 1/0/0.20 is 10 times more than the bandwidth-remaining ratio for subinterface 1/0/0.10: 100 on subinterface 1/0/0.20 and 10 on subinterface 1/0/0.10.
When congestion occurs within a subinterface level, the class queues receive bandwidth according to the class-level bandwidth-remaining ratios. In the example, the bandwidth for classes precedence_0, precedence_1, and precedence_2 is allocated based on the bandwidth-remaining ratios of the classes: 20, 40, and 60, respectively.
Router# showpolicy-map
Policy Map child-policy
Class precedence_0
Average Rate Traffic Shaping
cir 500000 (bps)
bandwidth remaining ratio 20 <---- Class-level ratio
Class precedence_1
Average Rate Traffic Shaping
cir 500000 (bps)
bandwidth remaining ratio 40 <---- Class-level ratio
Class precedence_2
Average Rate Traffic Shaping
cir 500000 (bps)
bandwidth remaining ratio 60 <---- Class-level ratio
Policy Map vlan10_policy
Class class-default
Average Rate Traffic Shaping
cir 1000000 (bps)
bandwidth remaining ratio 10 <---- Subinterface-level ratio
service-policy child-policy
Policy Map vlan20_policy
Class class-default
Average Rate Traffic Shaping
cir 1000000 (bps)
bandwidth remaining ratio 100 <---- Subinterface-level ratio
service-policy child-policy
interface GigabitEthernet1/0/0.10
encapsulation dot1Q 10
snmp trap link-status
service-policy output vlan10_policy
interface GigabitEthernet1/0/0.20
encapsulation dot1Q 20
snmp trap link-status
service-policy output vlan20_policy
Example Verifying Bandwidth Remaining Ratios
The following sample output from the show policy-map interface command indicates that bandwidth-remaining ratios are configured on class-level queues in the policy maps named vlan10_policy and child-policy, which are attached to Gigabit Ethernet subinterface 1/0/0.10.
The following sample output from the show policy-map interface command indicates that bandwidth-remaining ratios are configured on class-level queues in the policy maps named vlan20_policy and child-policy, which are attached to Gigabit Ethernet subinterface 1/0/0.20.
The following sample output from the show policy-map command indicates that a bandwidth-remaining ratio of 10 is configured on the parent class-default class of the policy map named vlan10_policy.
Router# show policy-map vlan10_policy
Policy Map vlan10_policy
Class class-default
Average Rate Traffic Shaping
cir 1000000 (bps)
bandwidth remaining ratio 10
service-policy child-policy
The following sample output from the show policy-map command indicates that a bandwidth-remaining ratio of 100 is configured on the parent class-default class of the policy map named vlan20_policy.
Router# show policy-map vlan20_policy
Policy Map vlan20_policy
Class class-default
Average Rate Traffic Shaping
cir 1000000 (bps)
bandwidth remaining ratio 100
service-policy child-policy
The following sample output from the show policy-map command indicates that bandwidth-remaining ratios of 20, 40, and 60 are configured on the class queues precedence_0, precedence_1, and precedence_2, respectively.
Router# show policy-map child-policy
Policy Map child-policy
Class precedence_0
Average Rate Traffic Shaping
cir 500000 (bps)
bandwidth remaining ratio 20
Class precedence_1
Average Rate Traffic Shaping
cir 500000 (bps)
bandwidth remaining ratio 40
Class precedence_2
Average Rate Traffic Shaping
cir 500000 (bps)
bandwidth remaining ratio 60
Cisco IOS Quality of Service Solutions Command Reference
Congestion avoidance
"Congestion Avoidance Overview" module
Class maps, policy maps, hierarchical policy maps, Modular Quality of Service Command-Line Interface (CLI) (MQC)
"Applying QoS Features Using the MQC" module
Traffic shaping, traffic policing
"Policing and Shaping Overview" module
Standards
Standard
Title
No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.
--
MIBs
MIB
MIBs Link
No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature.
To locate and download MIBs for selected platforms, Cisco IOS XE Software releases, and feature sets, use Cisco MIB Locator found at the following URL:
No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.
--
Technical Assistance
Description
Link
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.
Feature Information for Distribution of Remaining Bandwidth Using Ratio
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.
Table 1 Feature Information for Distribution of Remaining Bandwidth Using Ratio
Feature Name
Releases
Feature Information
MQC--Distribution of Remaining Bandwidth Using Ratio
Cisco IOS XE Release 2.1
The Distribution of Remaining Bandwidth Using Ratio feature allows service providers to configure a bandwidth-remaining ratio on subinterfaces and class queues. This ratio specifies the relative weight of a subinterface or queue with respect to other subinterfaces or queues. During congestion, the router uses this bandwidth-remaining ratio to determine the amount of excess bandwidth (unused by priority traffic) to allocate to a class of nonpriority traffic.
In Cisco IOS XE Release 2.1, this feature was introduced on Cisco ASR 1000 Series Routers.
The following commands were introduced or modified:
bandwidthremainingratio,showpolicy-map,showpolicy-mapinterface.