Table Of Contents
Supported Standards, MIBs, and RFCs
Configuring a Policy with DTS in the Policy Map
Attaching the Service Policy and Enabling DTS
Modifying DTS for an Existing Policy Map Class
Monitoring and Maintaining DTS
Class-based DTS on Main Interface
DTS on Frame Relay Point-to-Point Subinterface
Class-based DTS on Frame Relay Point-to-Point Subinterface
Traffic Shaping Configuration Comparisons
Distributed Traffic Shaping
This feature module describes the distributed Traffic Shaping (DTS) feature. It includes information on the benefits of the new feature, supported platforms, prerequisites, configuration examples and command references.
This document includes the following sections:
•
Supported Standards, MIBs, and RFCs
•
Monitoring and Maintaining DTS
Feature Overview
Many enterprise and service provider customers need to shape traffic in their networks and sometimes to shape IP traffic independent of the underlying interface. In other cases, the goal is to perform traffic shaping to ensure adherence to committed information rates on Frame Relay links.
The DTS feature is one element used to manage the bandwidth of an interface to avoid congestion, to meet remote site requirements, and to conform to a service rate that is provided on that interface.
DTS uses queues to buffer traffic surges that can congest a network. Data is buffered and then sent into the network at a regulated rate. This ensures that traffic will behave to the configured descriptor, as defined by command information rate (CIR), Committed Burst (Bc), and Excess Burst (Be). With the defined average bit rate and burst size that is acceptable on that shaped entity, you can derive a time interval value.
The Be allows more than the Bc to be sent during a time interval under certain conditions. Therefore, DTS provides two types of shape commands: average and peak. When shape average is configured, the interface sends no more than the Bc for each interval, achieving an average rate no higher than the CIR. When shape peak is configured, the interface sends Bc plus Be bits in each interval.
In a link layer network such as Frame Relay, the network sends messages with the forward explicit congestion notification (FECN) or backwards explicit congestion notification (BECN) if there is congestion. With the DTS feature, the traffic shaping adaptive mode takes advantage of these signals and adjusts the traffic descriptors. This approximates the rate to the available bandwidth along the path.
Benefits
DTS provides the following key benefits:
•
Offloads traffic shaping from the route switch processor (RSP) to the Versatile Interface Processor (VIP).
•
Supports up to 200 shape queues per VIP, supporting up to OC-3 rates when the average packet size is 250 bytes or greater and when using a VIP2-50 or better with 8MB of SRAM. Line rates below T3 are supported with a VIP2-40.
•
Configures distributed traffic shaping at the interface level or subinterface level.
•
Shaping based on the following traffic match criteria:
–
User-defined classes
–
All traffic on the physical or subinterface
–
Traffic classified via simple and extended IP access control lists (ACLs)
–
Traffic classified by quality of service (QoS) group (an internal packet label applied upstream by a previous feature)
–
Traffic classified by IP precedence bits in the ToS (type of service) byte
–
Traffic classified by IP differentiated services code points (DSCP)
•
Optional configuration to respond to Frame Relay network congestion (indicated by the presence of BECN or ForeSight signals) by reducing the shaped-to rate for a period of time until congestion is believed to have subsided. Supports FECN, BECN, and ForeSight Frame Relay signaling.
Restrictions
DTS does not support the following:
•
Fast EtherChannel, Tunnel, VLANs, and dialer interface
•
Any VIP below a VIP2-40
Note
A VIP2-50 is strongly recommended when the aggregate line rate of the port adapters on the VIP is greater than DS3. A VIP2-50 card is required for OC-3 rates.
Related Documents
For information on non-distributed traffic shaping in Cisco IOS Release 12.1 T, see the Class-Based Shaping feature module.
For related information on DTS, refer to the following documents:
•
Cisco IOS Release 12.1 Quality of Service Solutions Configuration Guide
•
Cisco IOS Release 12.1 Quality of Service Solutions Command Reference
•
Cisco IOS Release 12.0 Configuring Generic Traffic Shaping
•
Cisco IOS Release 12.0 Configuring Frame Relay and Frame Relay Traffic Shaping
Supported Platforms
This feature runs on Cisco 7500 series routers with VIP2-40, VIP2-50, or higher.
Supported Standards, MIBs, and RFCs
MIBs
•
No new or modified MIBs are supported by this feature.
RFCs
•
No new or modified RFCs are supported by this feature.
Prerequisites
Distributed Cisco Express Forwarding
Distributed Cisco Express Forwarding (DCEF) must be enabled on the interface before DTS can be enabled.
Policy Maps and Class Maps
A policy map and class maps must be created before DTS is enabled. (See "Configuring a Policy with DTS in the Policy Map" on page 5.)
Configuration Tasks
See the following sections for configuration tasks for DTS. Each task in the lists indicates if the task is optional or required.
•
Defining Class Maps (Required)
•
Configuring a Policy with DTS in the Policy Map (Required)
•
Attaching the Service Policy and Enabling DTS (Required)
•
Modifying DTS for an Existing Policy Map Class (Required)
Defining Class Maps
DTS is enabled using the Modular QoS CLI. The first step of enabling any feature using the Modular QoS CLI is creating a class map.
For information on the Modular QoS CLI, see the Modular Quality of Service Command Line Interface document on CCO or the Documentation CD-ROM.
For information on creating a class map, see the Defining a Traffic Class" section of the Modular Quality of Service Command Line Interface document.
Configuring a Policy with DTS in the Policy Map
To enable DTS you must create a policy map. You can configure class policies for as many classes as are defined on the router up to the maximum of 256.
To configure a policy map, use the policy-map command to specify the policy map name, then use the following configuration commands to configure class name, traffic shaping, and class policy.
Traffic is directed to the policy map default class if it does not satisfy the match criteria of any other classes whose policies are defined in the policy map.
Command PurposeStep 1
Router(config)# policy-map policy-nameSpecifies the name of the policy map to be created.
Step 2
Router(config-pmap)# class class-nameSpecifies the name of a predefined class included in the service policy. The class was defined in the previous "Defining Class Maps" step of this process.
Step 3
Router(config-pmap-c)# shape <average | peak> <mean rate>[<burst size> [<excess burst size>]]Specifies the target bits per second (bps) rate.
Attaching the Service Policy and Enabling DTS
To attach a policy map to the interface and enable DTS on the interface, use the following command in interface configuration mode:
Command PurposeRouter(config-if)# service-policy output policy-nameEnables DTS and attaches the specified policy map to the interface.
Modifying DTS for an Existing Policy Map Class
To change the amount of bandwidth allocated for an existing class, use the following commands:
Monitoring and Maintaining DTS
To monitor and maintain the DTS feature, use the following commands:
Configuration Examples
This section provides the following configuration examples:
•
Class-based DTS on Main Interface
•
DTS on Frame Relay Point-to-Point Subinterface
•
Class-based DTS on Frame Relay Point-to-Point Subinterface
DTS on Main Interface
In the following example, traffic that goes out on interface pos1/0/0 is shaped at the rate of 10Mbits/sec.
router(config)# class-map class-interface-allrouter(config-cmap)# match anyrouter(config-cmap)# exitrouter(config)# policy-map dts-interface-all-actionrouter(config-pmap)# class class-interface-allrouter(config-pmap-c)# shape average 10000000router(config-pmap-c)# exitrouter(config)# interface pos1/0/0router(config-if)# service-policy output dts-interface-all-actionClass-based DTS on Main Interface
In the following example, two classes are created and the match criteria is defined based on the access list number. Traffic that goes out on interface fdi4/0/0 and matches the criteria in access list 10 is shaped to 16Mbps. Traffic that matches the criteria in access list 20 is shaped to 8 Mbps.
Note
The following IP addresses are examples only.
router(config)# access-list 10 permit 171.69.0.0router(config)# access-list 20 permit 192.168.0.0router(config)# class-map class1router(config-cmap)# match access-group 10router(config-cmap)# exitrouter(config)# class-map class2router(config-cmap)# match access-group 20router(config-cmap)# exitrouter(config)# policy-map dts-interface-class-actionrouter(config-pmap)# class class1router(config-pmap-c)# shape average 16000000router(config-pmap-c)# exitrouter(config-pmap)# class class2router(config-pmap-c)# shape average 8000000router(config-pmap-c)# exitrouter(config-pmap)# interface fd4/0/0router(config-if)# service-policy output dts-interface-class-actionDTS on Frame Relay Point-to-Point Subinterface
In the following example, traffic going out on sub-interface 6/1/0.1 or 6/1/0.2 is shaped to 1 Mbps.
router(config)# class-map class-p2p-allrouter(config-cmap)# match anyrouter(config-cmap)# exitrouter(config)# policy-map dts-p2p-all-actionrouter(config-pmap)# class class-p2p-allrouter(config-pmap-c)# shape average 1000000router(config-pmap-c)# exitrouter(config)# interface hssi6/1/0.1 point-to-pointrouter(config-subif)# service-policy output dts-p2p-all-actionrouter(config-subif)# exitrouter(config)# interface hssi6/1/0.2 point-to-pointrouter(config-subif)# service-policy output dts-p2p-all-actionClass-based DTS on Frame Relay Point-to-Point Subinterface
In the following example, two classes are created with the match criteria defined by QoS number. Traffic goes out on subinterface 6/1/0.5 or 6/1/0.6 with the QoS-group number 30 shaped to 800 kbps and the QoS-group number 40 shaped to 1.6 Mbps. For the incoming Frame Relay packet that has the FECN bit on, a BECN message is sent out from the interface. For the outgoing Frame Relay packets that match the QoS-group number 40, the shape rate could be further reduced to 800 kbps.
router(config)# class-map class3router(config-cmap)# match qos-group 30router(config-cmap)# exitrouter(config)# class-map class4router(config-cmap)# match qos-group 40router(config-cmap)# exitrouter(config)# policy-map dts-p2p-class-actionrouter(config-pmap)# class class3router(config-pmap-c)# shape average 800000router(config-pmap-c)# shape fecn-adaptrouter(config-pmap-c)# exitrouter(config-pmap)# class class4router(config-pmap-c)# shape average 1600000router(config-pmap-c)# shape adaptive 800000router(config-pmap-c)# exitrouter(config)# interface serial 6/1/0.5 point-to-pointrouter(config-subif)# service-policy output dts-p2p-class-actionrouter(config-subif)# exitrouter(config)# interface serial 6/1/0.6 point-to-pointrouter(config-subif)# service-policy output dts-p2p-class-actionCommand Reference
This section documents new commands. All other commands used with this feature are documented in the Cisco IOS Release 12.1 command reference publications.
In Cisco IOS Release 12.0(1)T or later, you can search and filter the output for show commands. This functionality is useful when you need to sort through large amounts of output, or if you want to exclude output that you do not need to see.
To use this functionality, enter a show command followed by the "pipe" character (|), one of the keywords begin, include, or exclude, and an expression that you want to search or filter on:
command |{begin | include | exclude} regular-expression
Following is an example of the show interfaces shape command in which you want the command output to begin with the first line where the expression "Peak Rate" appears:
show interfaces shape | begin PeakRate
For more information on the search and filter functionality, refer to the Cisco IOS Release 12.0(1)T feature module titled CLI String Search.
Sample command reference pages follow. Refer to these samples for standard wording, syntax conventions, and format.
shape
Use the shape configuration command to shape traffic to the indicated bit rate according to the algorithm specified. The no form of this command removes shaping and leaves the traffic unshaped.
shape [average | peak] mean-rate [[burst-size] [excess-burst-size]]
no shape shape [average | peak]
Syntax Description
Defaults
See Usage Guidelines for burst size.
Command Modes
Policy map class configuration
Command History
Release Modification12.0(5)XE
This command was introduced.
12.1(5)T
This command became available for Cisco IOS Release 12.1 T.
Usage Guidelines
The measurement interval is Bc/CIR. Bc cannot be set to 0. If this is too large (greater than 128 ms), the system subdivides it into smaller intervals.
If you do not specify Bc and Be, the algorithm decides the default values for the shape entity. The algorithm uses a 4 ms measurement interval, so Bc will be CIR * 4/1000.
Burst sizes larger than the default Bc need to be explicitly specified. The larger the Bc, the longer the measurement interval. This may affect voice traffic latency, if applicable.
When Be is not configured, the default value is equal to Bc.
Examples
The following example configures a shape entity with CIR 1 Mbps and attaches the policy map called dts-interface-all-action to pos1/0/0:
policy-map dts-interface-all-actionclass class-interface-allshape average 10000000interface pos1/0/0service-policy output dts-interface-all-actionRelated Commands
Command Descriptionshape adaptive
Causes the traffic shaping feature to recognize BECN signals from the Frame Relay network and adjust its shape rate as a result.
shape fecn-adapt
Configures a Frame Relay PVC1 to reflect received FECN bits as BECN in Q.922 TEST RESPONSE message.
1 permanent virtual circuit
shape adaptive
Use the shape adaptive command to configure a Frame Relay interface or a point-to-point subinterface to estimate the available bandwidth by BECN integration while traffic shaping is enabled. If traffic shaping is not enabled, this command has no effect. The no form of this command no longer estimates the available bit rate.
shape adaptive mean-rate-lower-bound
no shape adaptive
Syntax Description
mean-rate-lower-bound
To react to Frame Relay BECN the lower bound of the range of bit rates that is permitted.
Defaults
No default behavior or values.
Command Modes
Policy map class configuration
Command History
Release Modification12.0(5)XE
This command was introduced.
12.1(5)T
This command became available for Cisco IOS Release 12.1 T.
Usage Guidelines
When continuous BECN messages are received, the shape entity immediately decreases its maximum shape rate by 1/4 for each BECN message received until it reaches the lower bound CIR. If, after several intervals, the interface has not received another BECN and there is traffic waiting in the shape queue, it increases back to the maximum rate by 1/16 for each interval. A shape entity with "shape adaptive <lower CIR>" configured will always be shaped between the mean rate upper bound and the mean rate lower bound.
Examples
The following example configures a shape entity with CIR 128 Kbps and sets the lower bound CIR to 64 Kbps when BECN is received:
policy-map dts-p2p-all-actionclass class-p2p-allshape average 128000shape adaptive 64000shape fecn-adapt
Use the shape fecn-adapt configuration command to configure a Frame Relay interface to reflect received FECN bits as BECN in Q.922 TEST RESPONSE messages. The no form of this command configures the Frame Relay to no longer reflect FECN as BECN.
shape fecn-adapt
no shape fecn-adapt
Syntax Description
None
Defaults
No default behavior or values.
Command Modes
Policy-map class configuration
Usage Guidelines
When the downstream Frame Relay switch is congested, a Frame Relay interface or point-to-point interface receives a Frame Relay message with FECN bit on. This may be an indication that there is no traffic waiting to carry a BECN to the far end (voice/multimedia traffic is one-way). When shape fecn-adapt is configured a small buffer is allocated, and a Frame Relay Test Response is built on behalf of the Frame Relay switch. The Frame Relay Test Response is equipped with the triggering message's data-link connection identifier (DLCI). It also sets the BECN bit and sends it out to the wire.
Command History
Release Modification12.0(5)XE
This command was introduced.
12.1(5)T
This command became available for Cisco IOS Release 12.1 T.
Examples
The following example configures a shape entity with CIR 1 Mbps and adapts the Frame Relay message with FECN to BECN:
policy-map dts-p2p-all-actionclass class-p2p-allshape average 1000000shape fecn-adaptRelated Commands
show interfaces shape
Use the show interfaces shape EXEC command, to display information about traffic shaping for an interface.
show interfaces [interface-type interface-number] shape
Syntax Description
interface-type
(Optional) The name of the interface.
interface-number
(Optional) The number of the interface.
Defaults
No default behavior or values.
Command Modes
EXEC
Command History
Release Modification12.0(5)XE
This command was introduced.
12.1(5)T
This command became available for Cisco IOS Release 12.1 T.
Examples
The following example shows traffic shaping data:
POS1/0/0 nobuffer drop 0POS1/0/0(class 2):cir 140000000, Bc 4480000, Be 0packets output 15926185, bytes output 6578Mqueue limit 10000, queue size 9987, drops 2292096last clear = 00:06:16 ago, shape rate = 139499000 bpsFddi4/0/0 nobuffer drop 0Fddi4/0/0(class 20):cir 64000, Bc 8192, Be 0packets output 0, bytes output 0queue limit 0, queue size 0, drops 0last clear = 00:03:51 ago, shape rate = 0 bpsSerial6/1/0 nobuffer drop 0Serial6/1/0.1(class 2):cir 128000, Bc 8192, Be 0lower bound cir 0, adapt to fecn 0packets output 0, bytes output 0queue limit 0, queue size 0, drops 0last clear = 00:01:15 ago, shape rate = 0 bps
Examples
The following example shows the currently configured policy maps:
router(config) # show policy-mapPolicy Map dts-p2p-all-actionclass-p2p-allshape average 1000000 32000 0Policy Map dts-p2p-class-actionclass3shape average 800000 51200 0shape fecn-adaptclass4shape average 1600000 51200 0shape adaptive 800000Policy Map dts-interface-all-actionclass-interface-allshape average 10000000 320000 0Policy Map dts-interface-class-actionclass1shape average 16000000 512000 0class2shape average 8000000 256000 0Related Commands
Glossary
•
ACL—access control list
•
Bc—committed Burst
•
Be—excess Burst
•
BECN—backwards explicit congestion notification.
•
CIR—command Information Rate
•
DSCP—differentiated services code point
•
FECN—forward explicit congestion notification.
•
QoS group—A packet label internal to the router that identifies the packet as belonging to a user defined group. A QoS group label can be assigned to a packet using multiple features, including QPPB, CAR, and set qos-group qos-group number.
Appendix
Traffic Shaping Configuration Comparisons
This section provides a comparison between the distributed Traffic Shaping (DTS), Frame Relay Traffic Shaping (FRTS), and Generic Traffic Shaping (GTS) configurations. For more information on DTS Configuration Commands refer to the "Command Reference" section.
To shape all traffic on an interface, subinterface, or PVC use the configurations in the following table:
Feature ConfigurationGTS
Router(config)# interface hssi 3/0/0.1 point-to-pointRouter(config-if)# traffic-shape rate CIR1 [Bc[Be]]FRTS
Router(config)# map-class frame-relay slow_vc2Router(config-cmap)# frame-relay traffic-rate CIR [CIR+EIR]3Router(config)# interface hssi 3/0/0Router(config-if)# frame-relay traffic-shapingRouter(config)# interface hssi 3/0/0.1 point-to-pointRouter(config-if)# class slow_vcDTS
Router(config)# class-map all-traffic4Router(config-cmap)# match anyRouter(config)# policy-map shape-all-traffic5Router(config-pmap)# class all-traffic6Router(config-pmap-c)# shape <average | peak>7 CIR [Bc [Be]]Router(config)# interface hssi 3/0/0.1Router(config-if)# service-policy output shape-all-traffic
1 CIR=Bc bits per second (bps)
2 map-class-name
3 CIR+EIR=(Bc+Be) bps
4 class-name
5 policy-name
6 class-name
7 <average>=Bc bps <peak>=(Bc+Be) bps
To shape a specific class of traffic on an interface use the configurations in the following table:
:
Feature ConfigurationGTS
Router(config)# access-list 10 permit {type-code wild-mask|address mask}Router(config)# access-list 20 permit {type-code wild-mask|address mask}Router(config)# interface hssi 3/0/0.1 point-to-pointRouter(config-if)# traffic-shape group 10 CIR [Bc[Be]]Router(config-if)# traffic-shape group 20 CIR [Bc[Be]]FRTS
Router(config)# access-list 10 {type-code wild-mask|address mask}Router(config)# priority-list 2 protocol ip highRouter(config)# map-class frame-relay slow_vc4Router(config-cmap)# frame-relay custom-queue list 1Router(config-cmap)# frame-relay traffic-rate CIR[CIR+EIR]Router(config)# map-class frame-relay fast_vc5Router(config-cmap)# frame-relay priority-group 2Router(config-cmap)# frame-relay traffic-rate CIR [CIR+EIR]Router(config)# interface hssi 3/0/0Router(config-if)# frame-relay traffic-shapingRouter(config)# interface hssi 3/0/0.1 point-to-pointRouter(config-if)# class slow_vcRouter(config)# interface hssi 3/0/0.2 point-to-pointRouter(config-if)# class fast_vcDTS
Router(config)# access-list 10 permit{type-code wild-mask|address mask}Router(config)# access-list 20 permit{type-code wild-mask|address mask}Router(config)# class-map class 1Router(config-cmap)# match access-group 106Router(config)# class-map class 2Router(config-cmap)# match access-group 20Router(config)# policy-map shape-class-1-and-2Router(config-pmap)# class class 1Router(config-pmap-c)# shape <average|peak> CIR[Bc[Be]]Router(config-pmap)# class class 2Router(config-pmap-c)# shape <average|peak> CIR[Bc[Be]]Router(config)# interface hssi 3/0/0.1 point-to-pointRouter(config-if)# service-policy output shape-class-1-and-2
1 queue-number
2 queue-keyword
3 keyword-value
4 map-class-name
5 map-class-name
6 access-group

