Cisco 10000 Series Router Quality of Service Configuration Guide
Shaping Traffic
Downloads: This chapterpdf (PDF - 508.0KB) The complete bookPDF (PDF - 21.32MB) | Feedback

Shaping Traffic

Table Of Contents

Shaping Traffic

Traffic Shaping

Feature History for Traffic Shaping

Class-Based Traffic Shaping

Feature History for Class-Based Traffic Shaping

System Limits for Class-Based Shaping

Restrictions and Limitations for Class-Based Shaping

Hierarchical Shaping

Feature History for Hierarchical Shaping

VP-Level Shaping

VC-Level Shaping

Shaped UBR PVCs

How Hierarchical Shaping Works

Hierarchical Shaping and Oversubscription

Active ATM VCs

Restrictions and Limitations for Hierarchical Shaping

Percentage-Based Traffic Shaping

History for the Percentage-Based Shaping Feature

Frame Relay Traffic Shaping

Feature History for Frame Relay Traffic Shaping

Restrictions and Limitations for Frame Relay Traffic Shaping

Configuration Commands for Traffic Shaping

Differences Between Traffic Shaping Mechanisms

Bandwidth and Traffic Shaping

Differences Between Shaping and Policing

Advantages and Disadvantages of Shaping and Policing for Bandwidth Limiting

Modifying the VC Weight and the VP Shaping Parameters

Example Scenarios of Traffic Shaping Usage

Interfaces Supporting Traffic Shaping

Configuring Traffic Shaping

Shaping a Traffic Class

Shaping Traffic at the VC-Level and Virtual Path-Level

Configuration Example for Traffic Shaping at the VC-Level and the VP-Level

Verifying Traffic Shaping

Verification Examples for Traffic Shaping

Configuration Examples for Traffic Shaping

Configuration Example for Class-Based Shaping

Configuration Examples for Hierarchical Shaping

Related Documentation


Shaping Traffic


Managing the flow of data across your network helps to ensure network efficiency by maximizing bandwidth and avoiding congestion. Manage network traffic using traffic policing and traffic shaping. Using these tools, you can configure your system to effectively manage issues before an overload on the network. Traffic policing uses rate-limiting to regulate traffic and traffic shaping regulates traffic by shaping it to a specified rate. Deploying policing and shaping throughout your network helps to ensure that a packet, or data source, conforms to the QoS policies contracted for it.

The Cisco 10000 series router supports traffic policing and shaping. This chapter describes traffic shaping and includes the following topics:

Traffic Shaping

Differences Between Traffic Shaping Mechanisms

Bandwidth and Traffic Shaping

Differences Between Shaping and Policing

Advantages and Disadvantages of Shaping and Policing for Bandwidth Limiting

Modifying the VC Weight and the VP Shaping Parameters

Example Scenarios of Traffic Shaping Usage

Interfaces Supporting Traffic Shaping

Configuring Traffic Shaping

Verifying Traffic Shaping

Configuration Examples for Traffic Shaping

Related Documentation

For information about traffic policing, see Chapter 6 "Policing Traffic."

For information about per-session traffic shaping and queuing, see Chapter 18 "Regulating and Shaping Subscriber Traffic."

Traffic Shaping

Traffic shaping is a tool used to manage network traffic by shaping the traffic to a specified rate. Traffic shaping enables you to control access to available bandwidth, to ensure that traffic conforms to the policies established for it, and to regulate the flow of traffic to avoid congestion that can occur when the transmitted traffic exceeds the access speed of its remote target interface.

Traffic shaping uses a traffic descriptor for a packet—indicated by the classification of the packet—to ensure that a packet, or data source, adheres to the policies contracted for it and to determine the QoS to apply to the packet. Traffic shaping enables you to control the traffic leaving an interface, matching its packet flow to the speed of a particular remote interface. By shaping a class of traffic to conform to downstream requirements, you can eliminate bottlenecks in topologies with data-rate mismatches.

The Cisco 10000 series router's traffic shaping algorithm is not based on the token bucket model. Therefore, the concepts of committed burst (Bc) and excess burst (Be) are not applicable. Because shaping does not use token buckets, the router cannot gather shaping statistics. As a result, you cannot display the amount of shaped traffic in relation to the amount of traffic forwarded unshaped.

Unlike traffic policing, shaping does not propagate bursts and is applied to only outbound traffic on an interface. When congestion occurs, policing drops traffic whereas traffic shaping delays the excess traffic using a buffer or queuing mechanism and then schedules the excess packets for later transmission over increments of time. This results in a smooth packet output rate. Shaping requires a queue and sufficient memory to buffer delayed packets. Since queuing is an outbound function, only packets leaving an interface can be queued and shaped.

When configuring shaping, you must ensure that the following exists:

Sufficient memory to buffer delayed packets

Scheduling function for later transmission of delayed packets

The Cisco 10000 series router supports the following types of traffic shaping:

Class-Based Shaping—Enables you to shape a class of traffic to control the flow of traffic on an interface. A service policy that defines shaping for a particular traffic class is attached to an interface. Shaping is applied on a per-class basis. For more information, see the "Class-Based Traffic Shaping" section.

Hierarchical Shaping—Provides two levels of shaping—per-VC ATM-level shaping and per-VC packet-level shaping—and provides per-VC and per-VP traffic shaping to control or modify the flow of traffic on an interface. Traffic shaping ensures that traffic from one VC does not adversely impact another VC and result in loss of data. For more information, see the "Hierarchical Shaping" section.

Percentage-Based Shaping—Provides the ability to configure traffic shaping on the basis of a percentage of bandwidth available on an interface. For more information, see the "Percentage-Based Traffic Shaping" section.

Frame Relay Traffic Shaping (FRTS)—Shapes traffic on Frame Relay interfaces. Using FRTS, service providers can organize traffic into per-data-link connection identifier (DLCI) queues, and shape each DLCI separately. For more information, see the "Frame Relay Traffic Shaping" section.


Note FRTS is available only on the PRE1.


Feature History for Traffic Shaping

Cisco IOS Release
Description
Required PRE

Release 12.0(17)SL

The Traffic Shaping feature was introduced on the router to provide generic traffic shaping and Frame Relay Traffic Shaping (FRTS).

PRE1

Release 12.0(25)SX

This feature was enhanced to include the Class-based Traffic Shaping feature.

PRE1

Release 12.2(16)BX

This feature was introduced on the PRE2 to provide Class-based Traffic Shaping.

PRE2

Release 12.3(7)XI

This feature was enhanced on the PRE2 to include the Hierarchical Shaping feature and the ATM VC/VP Shaping feature, enabling you to shape traffic at both the VC-level and VP-level.

PRE2

Release 12.2(28)SB

This feature was integrated in Cisco IOS Release 12.2(28)SB for the PRE2.

PRE2

Release 12.2(31)SB2

This feature was introduced on the PRE3 to provide Class-based Traffic Shaping, Hierarchical Shaping, and Percentage-based Shaping.

PRE2, PRE3

Release 12.2(33)SB

This feature was introduced on the PRE4 to provide Class-based Traffic Shaping, Hierarchical Shaping, and Percentage-based Shaping.

PRE2, PRE3, PRE4


Class-Based Traffic Shaping

Class-based traffic shaping allows you to control the traffic going out an interface in order to match its transmission to the speed of the remote target interface and to ensure that the traffic conforms to policies contracted for it. Class-based traffic shaping creates a class of traffic that is shaped to meet downstream requirements, thereby eliminating bottlenecks in topologies with data-rate mismatches.

Any interface that supports generic traffic shaping also supports class-based shaping. Using class-based traffic shaping, you can do the following:

Configure generic traffic shaping on a traffic class—Configuring generic traffic shaping on traffic classes provides greater flexibility for configuring traffic shaping. Previously, this ability was limited to the use of ACLs.

Specify average rate traffic shaping—Specifying average rate shaping allows you to make better use of available bandwidth by allowing the maximum number of bits to be sent out in each interval. This option is only supported on the PRE3.

CBWFQ allows you to define what constitutes a class based on criteria that exceed the confines of flow. CBWFQ allows you to use ACLs and protocols or input interface names to define how traffic is classified, thereby providing coarser granularity. You do not need to maintain traffic classification on a flow basis. Moreover, you can configure up to 64 discrete classes in a service policy.

Configure class-based weighted fair queueing (CBWFQ) inside generic traffic shaping—CBWFQ allows you to specify the exact amount of bandwidth to be allocated for a specific class of traffic.

Feature History for Class-Based Traffic Shaping

Cisco IOS Release
Description
Required PRE

Release 12.0(25)SX

The Class-Based Traffic Shaping feature was introduced on the router.

PRE1

Release 12.2(16)BX

This feature was introduced on the PRE2.

PRE2

Release 12.2(28)SB

This feature was integrated in Cisco IOS Release 12.2(28)SB for the PRE2.

PRE2

Release 12.2(31)SB2

This feature was introduced on the PRE3.

PRE3


System Limits for Class-Based Shaping

Table 3-1 lists the system limits for policy maps supported on the Cisco 10000 series router.

Restrictions and Limitations for Class-Based Shaping

A single policy map can be attached to multiple interfaces concurrently. If you attempt to attach a policy map to an interface when the sum of the bandwidth assigned to classes is greater than 99 percent of the available bandwidth, the router logs a warning message and does not allocate the requested bandwidth to all of the classes. If the policy map is already attached to other interfaces, it is removed from them.

Whenever you modify a class policy in an attached policy map, class-based weighted fair queuing (CBWFQ) is notified and the new classes are installed as part of the policy map in the CBWFQ system.

Hierarchical Shaping

Hierarchical shaping provides two levels of shaping—per-VC ATM-level shaping and per-VC packet-level shaping—and provides per-VC and per-VP traffic shaping to control or modify the flow of traffic on an interface. Traffic shaping limits throughput by buffering excess traffic instead of dropping packets. The shaping function also ensures that traffic from one VC does not adversely impact another VC, resulting in loss of data.

The Cisco 10000 series router supports hierarchical shaping for the following ATM line cards:

OC-12

4-port OC-3

8-port E3/DS3

The router supports hierarchical shaping when operating as a Layer 2 Access Concentrator (LAC) and in the following modes:

PPP termination and aggregation (PTA)

Router bridge encapsulation (RBE)

RFC 1483

Hierarchical shaping does not require that you configure policy maps. You can use hierarchical shaping with non-queuing related policy maps configured in a virtual template or configured directly on the VC. Apply queuing-related policy maps directly to the VC.

Hierarchical shaping supports the range pvc command to define shaping for a range of PVCs and the vc-class atm command to create a VC class with shaping defined for a PVC.

Feature History for Hierarchical Shaping

Cisco IOS Release
Description
Required PRE

Release 12.3(7)XI

The Hierarchical Shaping and ATM VC/VP Shaping features were introduced on the router.

PRE2

Release 12.2(28)SB

This feature was integrated in Cisco IOS Release 12.2(28)SB for the PRE2.

PRE2

Release 12.2(31)SB2

This feature was introduced on the PRE3.

PRE3


VP-Level Shaping

The segmentation and reassembly (SAR) mechanism of the Cisco 10000 series router handles VP-level shaping functions, based on the aggregate VP traffic. VP shaping regulates the output rate of the VP tunnel, rather than the output rate of the individual VCs. The SAR limits the rate of the overall output of the VP tunnel to the constant bit rate (CBR) with a peak cell rate (PCR) specified for the tunnel that is compliant with VP-level shaping requirements.

The SAR sends the cells (from the VCs in the VP tunnel) into the tunnel based on a weighted round robin format. The weight indicates the number of cells a VC can send into the tunnel before the SAR processes the next VC. The line card software programs a weight that is proportional to the VC's rate. Only variable bit rate (VBR) VCs are allowed in the tunnel.

VC-Level Shaping

The parallel express forwarding (PXF) engine of the Cisco 10000 series router handles the VC-level shaping functions. The PXF shapes the VCs at the packet level, including all ATM overheads based on the sustained cell rate (SCR). VC-level shaping ensures that the VC traffic stream averages to be no greater than the SCR, but is not compliant with ATM level instantaneous shaping requirements.

Shaped UBR PVCs

Prior to Cisco IOS Release 12.3(7)XI2, you could configure shaped unspecified bit rate (UBR) PVCs only when the no atm pxf queuing command is configured. In Cisco IOS Release 12.3(7)XI2 and later releases, you can configure shaped UBR PVCs when the atm pxf queuing command is configured.

When you specify shaped UBR, the router sets up layer 3 scheduling for the UBR VC in the same fashion as VBR and CBR VCs. The VC has its own VTMS link and a set of queues assigned to it. The rate of the link is based on the PCR you specify. Flowbits are assigned to the VC. Unlike VBR and CBR VCs, only a single flowbit is assigned to the VC; it is not based on rate.

Like VBR and CBR VCs, the shaped UBR VCs can have queuing service policies applied to them. The UBR VCs are not subject to any CAC checks, but the number of shaped UBR VCs must be within existing limits, which include the maximum number of VCs per system, maximum number of VCs per port, and maximum number of VCs with flowbits.

Shaped UBRs on the ATM OC-12 Line Card

On an ATM OC-12 line card, when you configure UBR PVCs with a shaped value (UBR-PCR) and the shaped value is greater than one-half of the line rate (for example, 299,520 Kbps), the following limitations apply:

The number of VCs the OC-12 line card supports is up to one-half of the VC scaling limit of 16,384 VCs. Cisco IOS software counts each UBR-PVC above 299,520 as two VCs. Therefore, the active VC count must be maintained at the following:

16,384 > (number of VCs at 299,520 and above * 2) + (number of VCs below 299,520)

At any time, if more VCs are active than the allowed number above, the SAR on the line card leaks buffers, which results in a reduced buffer pool for active VCs and the SAR might fail if enough buffers are lost. To recover the lost buffers, reboot the system.

The router allows you to enter shaping values between 299,520 and 599,040, which the SAR does not support. The SAR performs shaping in the range of 599,040 and 299,520 to 299,538. If you configure a shaping value between 299,528 and 399,032, the shape rate the SAR returns is unclear.

If you initially set a shaping rate of 599,040 and then change to another rate, or you initially configure a shape rate and change to a rate of 599,040, the router accepts the command and the show commands display the new rate. However, the SAR does not perform shaping correctly until the next reload.

If you change the shaping rate from 599,040 to a lower rate, the LP shaper in VTMS allows the average rate to be met. However, during traffic bursts, ATM-level shaping is not accurate.

How Hierarchical Shaping Works

The virtual time management system (VTMS) provides a single stage shaper at the packet level (IP plus the appropriate MAC header) and the segmentation and reassembly (SAR) mechanism provides a single stage shaper at the cell level. You can configure the SAR to shape and schedule at the VC level or VP level. However, the SAR cannot shape and schedule at both the VC and VP levels simultaneously (for example, shaping an individual VC and then shaping the aggregate VCs into a VP). When configured to perform VP shaping, the SAR is configured with permanent virtual path (PVP) parameters.

Hierarchical shaping combines the single-stage VTMS and SAR mechanisms to provide a simultaneous VC and VP shaping solution. When using hierarchical shaping, VC shaping occurs at the packet level (using the VTMS) with the ATM VC functioning as a "link" scheduling mechanism.

From the perspective of the command line interface (CLI), you configure the shaped VC the same way as you configure a regular VBR-nrt VC. Hierarchical shaping uses the CLI values you enter to configure VTMS traffic shaping instead of SAR shaping. The VTMS schedules packets at the configured bit rate for transmission to the appropriate line card SAR.

You configure the VP as a PVP. When you configure the VP as a constant bit rate (CBR) VP service, hierarchical shaping uses the CLI values you enter to configure the SAR for ATM-based cell scheduling.

Hierarchical shaping shapes the ATM VC at the AAL5 packet layer on the parallel express forwarding (PXF) processor using the VTMS. (Normally, the SAR provides this function at the cell layer in non-PVP configurations.) The VTMS shapes the VC at the sustained cell rate (SCR) for VBR-nrt VCs and at the peak cell rate (PCR) for CBR VCs. The VTMS uses the virtual path identifier (VPI) and the virtual channel identifier (VCI) of VCs to associate shaped VCs with the appropriate PVP. The VTMS places all VCs with the same VPI value in a common PVP and schedules the VCs to the SAR.

The SAR uses weighted round-robin scheduling to schedule the PVP VCs onto the wire. The SAR also does the following:

Assigns high rate VCs a high weighting

Ensures that cells are scheduled in accordance with the configured rate of the PVP

Offers per-VC buffering to accommodate small bursts at the VC packet level

Ensures that transmitted cells conform to ATM transmission standards, including cell delay variation tolerance (CDVT)

The priority of the PVP is the same as the priority of CBR VCs on an interface. If the physical interface experiences congestion, the PVPs and any CBR VC have priority over VBR-nrt VCs and unspecified bit rate (UBR) VCs.

Hierarchical Shaping and Oversubscription

You can oversubscribe the PVP bandwidth by configuring the VCs in such a way that the sum of the VCs' bandwidths exceeds the configured rate of the PVP. The atm over-subscription-factor command is used to configure oversubscription. This command sets up flow-control between the SAR and the VTMS, and provides Caller Admission Control (CAC) based on the configured oversubscription value. Valid values for oversubscription are from 0 (no oversubscription allowed) to 10.

You cannot oversubscribe the physical interface by oversubscribing the interface's PVPs. For a given interface, the sum of the PVPs' bandwidth must be less than or equal to the physical interface speed, minus the appropriate overhead. PVPs are subject to the same CAC mechanisms as the VCs.

The current oversubscription mechanism is optimized for VC-level fairness. When PVP congestion occurs, the router cannot guarantee bandwidth allocation to an IP traffic class on a given VC.

The current oversubscription mechanism is optimized for VCs—it is not designed to handle PVP congestion. If VCs are oversubscribed and PVP congestion occurs, VC shaping accuracy and bandwidth distribution can degrade.

Active ATM VCs

Table 9-1 lists the maximum number of active VCs supported on ATM line cards when configured for hierarchical shaping.

Table 9-1 Active VCs on ATM Line Cards

Line Card
Maximum VCs per Port
Maximum VCs per Module
VBR, CBR, Shaped UBR VCs

E3/DS3

4,096

32,768

28,672

OC-3

8,192

32,768

28,672

OC-12

16,384

16,384

16,384


Restrictions and Limitations for Hierarchical Shaping

The Cisco 10000 series router supports a maximum of 31,500 VCs when hierarchical shaping is enabled.

You can configure a maximum of 127 VP tunnels for each ATM line card, configured across the ports in any fashion.

You can configure the maximum number of VCs across the ports in any fashion, provided that you do not exceed the per-port maximum.

You must have the atm pxf queuing command configured on the port. If not, the SAR still does VP shaping and the VCs are sent to the tunnel based on a weighted round robin format; however, the PXF does not shape the VCs. The default queuing mode for a port is atm pxf queuing.

Only variable bit rate (VBR) VCs are allowed in the VP tunnel. You cannot configure unspecified bit rate (UBR) VCs or constant bit rate (CBR) VCs in the tunnels.

Congestion is not handled at the VP tunnel or at the port. During congestion, shaping is degraded.

During congestion at the port-level, shaping degrades to simple round robin for all VPs contending for the port's capacity; shaping is not weighted based on the rate of the VPs.

Percentage-Based Traffic Shaping

Percentage-based shaping allows you to configure traffic shaping on the basis of a percentage of bandwidth available on the interface. Instead of using a strict fixed-rate for shaping, percentage-based shaping allows you to offer a shaping service that dynamically adjusts to an interface rate based on the shape percent command configured in a policy map.

History for the Percentage-Based Shaping Feature

Cisco IOS Release
Description
PRE Required

Release 12.2(31)SB2

This feature was introduced on the PRE3.

PRE3


Frame Relay Traffic Shaping


Note Frame Relay traffic shaping (FRTS) is available only on the PRE1.


Frame Relay traffic shaping (FRTS) is a shaping mechanism used to eliminate bottlenecks in Frame Relay networks with high-speed connections at the central site and low-speed connections at the branch sites. Using FRTS, you can configure rate enforcement to either the committed information rate (CIR) or some other defined value, such as the excess information rate, on a per-VC basis. The ability to allow the transmission speed used by the router to be controlled by criteria other than line speed (that is, by the CIR or the excess information rate) provides the mechanism by which multiple VCs can share media. By allocating bandwidth to each VC, you create a virtual time-division multiplexing (TDM) network.

Defining a priority queue (PQ) or weighted fair queue (WFQ) at the VC or subinterface level allows for finer granularity in the prioritization and queuing of traffic. As a result, you have more control over the traffic flow on an individual VC.

Using information contained in the BECN-tagged packets received from the network, FRTS can dynamically throttle (decrease) traffic. When an interface configured with FRTS receives a BECN, it immediately decreases its maximum rate and holds the packets in the buffers of the router to reduce the data flow from the router into the Frame Relay network. If, after several intervals, the interface has not received another BECN and traffic is waiting in the queue, the maximum rate increases slightly. FRTS decreases traffic on a per-VC basis and adjusts the transmission rate based on the number of BECN-tagged packets received. The dynamically adjusted maximum rate is called the derived rate.

The derived rate is always between the upper bound and the lower bound rate configured on the interface.

For more information, see the "Configuring Frame Relay Traffic Shaping" section.

Feature History for Frame Relay Traffic Shaping

Cisco IOS Release
Description
Required PRE

Release 12.0(17)SL

The Frame Relay Traffic Shaping (FRTS) feature was introduced on the router.

PRE1


Restrictions and Limitations for Frame Relay Traffic Shaping

Frame Relay traffic shaping applies only to Frame Relay PVCs.

Configuration Commands for Traffic Shaping

The following commands are used to configure class-based and hierarchical shaping (see the Cisco IOS command reference documentation):

shape

shape percent

atm pvp

pvc

vbr-nrt

For information about configuring Frame Relay and Generic Traffic Shaping using Frame Relay legacy commands, see the "Configuring Frame Relay Traffic Shaping" section.

Differences Between Traffic Shaping Mechanisms

Table 9-2 describes the differences between traffic shaping mechanisms.

Table 9-2 Comparison of Traffic Shaping Mechanisms

Shaping Type
Shaping Queue
Applies Parameters

Class-Based Shaping

Class-based weighted fair queuing (CBWFQ) inside generic traffic shaping

Per interface or per class

Hierarchical Shaping

Not Applicable

Per VC and per VP

Frame Relay Traffic Shaping (FRTS)1

Weighted fair queue (WFQ), strict priority queue with WFQ, custom queue (CQ), priority queue (PQ), or First-In-First-Out (FIFO) per VC

All virtual circuits (VCs) on an interface through the inheritance mechanism or per DLCI

1 Available only on the PRE1.


Bandwidth and Traffic Shaping

The router uses class queues to allocate bandwidth, first servicing priority queue traffic followed by either bandwidth guarantee or bandwidth remaining queue traffic. By default, a minimum bandwidth guaranteed queue has buffers for up to 50 milliseconds of 256-byte packets at line rate, but not less than 32 packets. The router does not ensure latency characteristics for bandwidth queues.

The router can commit up to 99 percent of the interface bandwidth to one or more class queues. If you attempt to attach a policy map to an interface when the sum of the bandwidth assigned to classes is greater than 99 percent of the available bandwidth, the router logs a warning message and does not allocate the requested bandwidth to all of the classes. If the policy map is already attached to other interfaces, it is removed from them.

Bandwidth includes the Layer 2 header and payload, and two bytes of trailer.

On ATM networks, the bandwidth is cell-based and includes Layer 2 overhead and cell overhead (for example, it includes the cell overhead for SNAP and AAL5, the cell header, the AAL5 trailer, and AAL5 padding).

On Frame Relay networks with link fragmentation and interleaving (LFI) enabled, bandwidth is based on fragments with Layer 2 overhead included.

For a physical interface, the total bandwidth is the bandwidth of the physical interface. The router converts the minimum bandwidth that you specify to the nearest multiple of 1/255 (PRE1) or 1/65535 (PRE2) of the interface speed. When you request a value that is not a multiple of 1/255 or 1/65535, the router chooses the nearest multiple. Use the show policy-map interface command to display the actual bandwidth.

The bandwidth percentage is based on the interface bandwidth. In a hierarchical policy, the bandwidth percentage is based on the nearest parent shape rate.

Differences Between Shaping and Policing

Table 9-3 describes the differences between shaping and policing for bandwidth limiting.

Table 9-3 Comparison of Shaping and Policing for Bandwidth Limiting

Criteria
Shaping
Policing

Primary Function

Buffers and queues excess packets above the committed rates.

Drops or remarks excess packets above the committed rates.

Does not buffer.

Token Value

Bits per second (bps)

Bytes

Applicable on Inbound

No

Yes

Applicable on Outbound

Yes

Yes

Bursts

Controls bursts by smoothing the output rate.

Uses a leaky bucket to delay traffic, resulting in a smoothing effect.

Propagates bursts.

Does no smoothing.

Optional Packet Remarking

No

Yes (using the legacy committed access rate (CAR) feature)


Advantages and Disadvantages of Shaping and Policing for Bandwidth Limiting

As the following describes, shaping and policing both have advantages and disadvantages for limiting bandwidth:

Advantages

Shaping

Buffers excess packets, therefore, less likely to drop excess packets.

Buffers packets up to the length of the queue. Drops may occur if excess traffic is sustained at a high rate.

Typically avoids retransmissions due to dropped packets.

Policing

Controls the output rate through packet drops.

Avoids delays resulting from queuing.

Disadvantages

Shaping

Can introduce delay resulting from queuing (especially when deep queues are used).

Policing

Drops excess packets (when configured), throttles TCP window sizes, and reduces the overall output rate of affected traffic streams.

Overly aggressive burst sizes can lead to excess packet drops and throttle the overall output rate (particularly with TCP-based flows).

Modifying the VC Weight and the VP Shaping Parameters

In Cisco IOS Release 12.3(7)XI1, when you change the weight of a VC or the VP shaping parameters, the SAR mechanism brings down the VC or VP and the session goes down.

In Cisco IOS Release 12.3(7)XI2 and later releases, you can change the VC weight, VP shaping parameters, or VC shaping parameters without affecting the state of the VC or VP. Instead, the VC and VP remain up and operational.

The dynamic parameters include the following:

ATM VP parameters such as peak cell rate (PCR) and cell delay variation tolerance (CDVT)

VC parameters such as weight, PCR, sustained cell rate (SCR), maximum burst size (MBS), and CDVT

If VC members of a VP do not have a configured weight and you dynamically modify the VP rate, the router dynamically adjusts the weight of the member VCs based on the associated tunnel's new rate. The member VCs remain up as their weights are dynamically modified.

If you dynamically modify the tunnel VC's shaping parameters (for example, the PCR or SCR), the router adjusts the weight of the tunnel VC based on the VC speed if no weight is configured for the VC. If a VC weight is configured, the router adjusts the weight of the tunnel VC based on the configured weight.

Example Scenarios of Traffic Shaping Usage

Traffic shaping is primarily used to control access to available bandwidth, to ensure that traffic conforms to the policies established for it, and to regulate the flow of traffic to avoid congestion that can occur when the transmitted traffic exceeds the access speed of its remote target interface.

The following describe scenarios in which you can apply traffic shaping to interfaces to regulate traffic:

Controlling access to bandwidth—A policy stipulates that the rate of a given interface should not, on the average, exceed a certain rate, even though the access rate exceeds the speed.

Differing access rates defined in a network—One end of a link in a Frame Relay network runs at 256 kbps and the other end of the link runs at 128 kbps. Sending packets at 256 kbps could cause failure of the applications using the link.

Differing access rates defined on different DTEs—A link-layer network is giving indications of congestion. The network has differing access rates defined on different DTEs attached to the network. The network might be able to deliver more transit speed to a given DTE device at one time than another. (This scenario warrants that the token bucket be derived and then its rate maintained.)

Offering subrate services—If you offer a subrate service, traffic shaping enables you to partition T1 or T3 links into smaller channels.

Preventing packet loss—Traffic shaping prevents packet loss. Using traffic shaping is especially important in Frame Relay networks because the switch cannot determine which packets take precedence. As a result, the switch cannot determine which packets to drop when congestion occurs. It is critically important for real-time traffic that latency be bounded, thereby bounding the amount of traffic and traffic loss in the data link network at any given time by keeping the data in the router that is making the guarantees. Retaining the data in the router allows the router to prioritize traffic according to the guarantees it is making. (Packet loss can result in detrimental consequences for real-time and interactive applications.)

Interfaces Supporting Traffic Shaping

The following describes interface support for traffic shaping:

Interfaces Supporting Traffic Shaping

Physical

Multilink PPP and multilink Frame Relay

ATM variable bit rate (VBR) and constant bit rate (CBR) PVCs, and point-to-point subinterfaces

Label-controlled ATM (LC-ATM) subinterfaces *

Frame Relay permanent virtual circuits (PVCs), point-to-point subinterfaces, and map classes **

Ethernet VLANs **

* Requires a specific type of hierarchical policy or a policy map with only the class-default class defined. The class-default class must have the shape command configured.

** Requires a specific type of hierarchical policy. For more information, see Chapter 13 "Defining QoS for Multiple Policy Levels."


Note The router supports traffic shaping only on outbound interfaces.


Interfaces Not Supporting Traffic Shaping

ATM unspecified bit rate (UBR) PVCs and point-to-point subinterfaces

IP tunnel

Virtual-access (See the "VAI QoS Inheritance" section.)


Note The router does not support traffic shaping on inbound interfaces.


Configuring Traffic Shaping

To configure traffic shaping, perform the following configuration tasks:

Shaping a Traffic Class

Shaping Traffic at the VC-Level and Virtual Path-Level

Shaping a Traffic Class

To shape a traffic class to control the flow of traffic on an interface, enter the following commands beginning in global configuration mode:


Note These steps configure class-based traffic shaping, which can be applied to interfaces, subinterfaces, VCs, and DLCIs.


 
Command
Purpose

Step 1 

Router(config)# policy-map policy-map-name

Creates or modifies a policy map.

policy-map-name is the name of the child policy map. The name can be a maximum of 40 alphanumeric characters.

Step 2 

Router(config-pmap)# class class-map-name

Assigns the traffic class you specify to the policy map. Enters policy-map class configuration mode.

class-map-name is the name of a previously configured class map and is the traffic class you want to shape.

Step 3 

Router(config-pmap-c)# shape [average] cir

or

Router(config-pmap-c)# shape [average] percent percentage [be excess-burst-in-msec ms] [bc committed-burst-in-msec ms]

Shapes traffic to the rate you specify, or shapes traffic based on the percentage of available bandwidth you specify.

average is the committed burst (Bc) that specifies the maximum number of bits sent out in each interval. This option is only supported on the PRE3.

cir specifies the committed information rate (CIR), in bits per second (bps).

percent percentage specifies the percentage of available bandwidth to allocate.

(Optional) be excess-burst-in-msec ms is the excess (peak) burst (be) size in milliseconds (ms).

(Optional) bc committed-burst-in-msec ms is the committed (conform) burst (bc) size in milliseconds (ms).

Step 4 

Router(config-pmap-c)# shape max-buffers number-of-buffers

(Optional) Specifies the maximum number of buffers allowed on shaping queues.

number-of-buffers specifies the maximum number of buffers. Valid values are from 1 to 4096.

Step 5 

Router(config-pmap-c)# service-policy policy-map-name

(Optional) Applies the child policy map you specify to the traffic class. The router applies the QoS actions specified in the child policy to the traffic class.

policy-map-name is the name of the child policy.

Note Do not specify the output or input keywords.

For more information, see Chapter 13 "Defining QoS for Multiple Policy Levels."

Shaping Traffic at the VC-Level and Virtual Path-Level

To shape traffic at the VC-level and simultaneously shape traffic at the virtual path (VP)-level, enter the following commands beginning in global configuration mode:


Note These steps configure hierarchical shaping. Use these commands to shape an individual VC and then shape the aggregate VCs into a VP.


 
Command
Purpose

Step 1 

Router(config)# interface atm slot/module/port

Creates or modifies an ATM interface. Enters interface configuration mode.

slot/module/port is the interface number.

Step 2 

Router(config-if)# atm over-subscription-factor factor

(Optional) Enables oversubscription on ATM virtual circuits and specifies the factor by which the sum of the sustained cell rate (SCR) values of all VCs in a tunnel can oversubscribe the tunnel's peak cell rate (PCR).

factor specifies the amount of oversubscription. Valid values are from 1 to 500. The default value is 1, which indicates no oversubscription.

Step 3 

Router(config-if)# atm pvp vpi [peak-rate] [cdvt]

Creates a permanent virtual path (PVP) used to multiplex (or bundle) one or more virtual circuits (VCs).

vpi is the ATM network virtual path identifier (VPI) of the VC. Valid values are 0 to 255. The vpi value is unique only on a single link, not throughout the ATM network because it has local significance only.

Note The number specified for the vpi must not already exist. If the number specified is already being used by an existing VC, the router rejects this command.

(Optional) peak-rate is the maximum rate in kbps at which the PVP can transmit data. Valid values are 84 kbps to line rate. The default is the line rate.

(Optional) cdvt is the cell delay variation tolerance (CDVT).

Step 4 

Router(config-if)# interface atm slot/module/port.subinterface [point-to-point | multipoint]

Creates or modifies an ATM subinterface.

slot/module/port.subinterface is the number of the subinterface that identifies the subinterface.

point-to-point indicates that the subinterface is a point-to-point subinterface.

multipoint indicates that the subinterface is a point-to-multipoint subinterface.

Step 5 

Router(config-if)# pvc vpi/vci

Creates an ATM permanent virtual circuit (PVC) and enters ATM virtual circuit configuration mode.

vpi is the virtual path identifier.

vci is the virtual channel identifier.

Step 6 

Router(config-if-atm-vc)# vbr-nrt output-pcr output-scr output-mbs

Enables shaping on the ATM PVC and configures variable bit rate-nonreal time (VBR-NRT) quality of service (QoS).

output-pcr is the peak cell rate (PCR) for outbound traffic.

output-scr is the sustained cell rate (SCR) for outbound traffic.

(Optional) output-mbs is the output maximum burst cell size, in number of cells.

Step 7 

Router(config-if-atm-vc)# encapsulation {aal5mux ppp virtual-template number | aal5ciscoppp virtual-template number | aal5snap}

Configures the ATM adaptation layer (AAL) and encapsulation type for an ATM virtual circuit (VC).

aal5mux ppp specifies the AAL and encapsulation type for multiplex (MUX)-type VCs. The keyword ppp is Internet Engineering Task Force (IETF)-compliant PPP over ATM. It specifies the protocol type being used by the MUX encapsulated VC.

aal5ciscoppp specifies the AAL and encapsulation type for Cisco PPP over ATM.

aal5snap specifies the AAL and encapsulation type that supports Inverse ARP. Logical Link Control/Subnetwork Access Protocol (LLC/SNAP) precedes the protocol datagram.

virtual-template number is the number used to identify the virtual template.

Step 8 

Router(config-atm-vc)# queue-depth hwm lwm

(Optional) Defines the queue-depth size by setting the high and low watermarks. This ensures the correct shaping of traffic.

hwm is the high watermark. The value you specify is not required to be higher than 288.

lwm is the low watermark. The value you specify is not required to be higher than 256.

For information about the default high and low watermark values, see the "High Watermark and Low Watermark Default Values" section.

Note The values for high and low watermarks of a VC queue depend greatly on the queue's configuration, its purpose, and usage. We recommend that you configure watermark values small enough so as to avoid exhausting the line card buffer. When the queues exhaust the buffer, packets are randomly dropped, which can cause the loss of critical system traffic.

Configuration Example for Traffic Shaping at the VC-Level and the VP-Level

Example 9-1 configures hierarchical shaping and shapes traffic at the VC-level and the VP-level. In the example, shaping is enabled on PVC 1/36 on ATM interface 5/0/0.

Example 9-1 Configuring Traffic Shaping at the VC-Level and the VP-Level

Router(config)# interface atm 5/0/0
Router(config-if)# atm over-subscription-factor 50
Router(config-if)# atm pvp 1 1000 cdvt 600 
Router(config-if)# pvc 1/36
Router(config-atm-vc)# vbr-nrt 1000 512
Router(config-atm-vc)# encapsulation aal5mux ppp Virtual-Template1
Router(config-atm-vc)# queue-depth 288 256
Router(config-atm-vc)# exit

Verifying Traffic Shaping

To verify the configuration of traffic shaping, enter any of the following commands in privileged EXEC mode:

Command
Purpose

Router# show atm vp [vpi]

Displays the statistics for all virtual paths (VPs) on an interface or for a specific VP.

(Optional) vpi is the ATM network virtual path identifier (VPI) for the permanent virtual path (PVP). Valid values are from 0 to 255. The VPI is an 8-bit field in the header of the ATM cell.

Router# show atm vc [vcd] [interface interface-number]

Displays all ATM permanent virtual circuits (PVCs) and traffic information.

(Optional) vcd specifies a virtual circuit. When you specify vcd, information about only the specified virtual circuit displays.

(Optional) interface interface-number is the interface number or subinterface number of the PVC. When you specify interface interface-number, information about all of the PVCs on the specified interface or subinterface displays.

Router# show controllers atm slot/module/port

Displays ATM controller status.

Use this command to ensure that packets are not being discarded due to internal buffer exhaustion.

slot/module/port is the interface number.

Router# show policy-map

Displays the configuration of all policy maps configured on the router.

Router# show policy-map interface

Displays the configuration of all of the classes configured in all of the policy maps that are attached to all of the router interfaces.

Router# show policy-map interface interface [input | output]

Displays the configuration of all classes configured for all inbound or outbound policy maps attached to the specified interface.

interface interface is the type and number of the interface or subinterface to which the policy configuration you want to display is attached.

input indicates to display the statistics for the attached inbound policy.

output indicates to display the statistics for the attached outbound policy.

Note If you do not specify input or output, the router displays information about all classes that are configured for all inbound and outbound policies attached to the interface you specify.

Router# show policy-map policy-map-name

Displays the configuration of all classes contained in the policy map you specify.

policy-map-name is the name of the policy map for the configuration information you want to display.

If you do not specify a policy-map-name, the command displays the configuration of all policy maps configured on the router.

Router# show policy-map policy-map-name class class-name

Displays the configuration of the class you specify. The policy map you specify includes this class.

policy-map-name is the name of the policy map that contains the class configuration you want to display.

class-name is the name of the class whose configuration you want to display. If you do not specify class-name, the router displays class configuration for all classes in the policy map.

Router# show pxf cpu queue atm number

Displays the number of dropped and dequeued packets for each VC on the interface, and for classes associated with sessions that inherit queues from VCs. Also, monitors the current capacity of the queue.

number is the number of the interface or subinterface.

Router# show running-config

Displays the contents of the currently running configuration file.

Router# show running-config [interface interface]

Displays the configuration of the interface you specify that is currently configured in the running-config file, including any service policies attached to the interface.

(Optional) interface interface is the type and number of the interface.


Verification Examples for Traffic Shaping

Example 9-2 shows sample output from the show atm vp command for a specific virtual path identifier (VPI). The output displays packet counts, AAL and encapsulation, the status of each PVC with a VPI of 10, and the total packet counts for the PVP.

Example 9-2 show atm vp Command Sample Output for a Specific VPI

Router# show atm vp 10
ATM7/0/0 VPI: 10, PeakRate: 1000, CesRate: 0, CDVT: 35.0 Usecs, DataVCs: 10 
CesVCs: 0, Status: ACTIVE
VCD VCI Type InPkts OutPkts AAL/Encap Status 
 1   3   PVC   0      0       F4 OAM  ACTIVE 
 2   4   PVC   0      0       F4 OAM  ACTIVE 
 3   33  PVC  4007   6632    AAL5-MUX ACTIVE 
 4   34  PVC  4009   6625    AAL5-MUX ACTIVE 
 5   35  PVC  4008   6625    AAL5-MUX ACTIVE 
 6   36  PVC  4011   6625    AAL5-MUX ACTIVE 
 7   37  PVC  4014   6624    AAL5-MUX ACTIVE 
 8   38  PVC  4013   6636    AAL5-MUX ACTIVE 
 9   39  PVC  4010    3      AAL5-MUX ACTIVE 
 10  40  PVC  4012    3      AAL5-MUX ACTIVE 
 11  41  PVC  4009    3      AAL5-MUX ACTIVE 
 12  42  PVC  4010    3      AAL5-MUX ACTIVE 
TotalInPkts: 40103, TotalOutPkts: 39779, TotalInFast: 0, TotalOutFast: 39779, 
TotalBroadcasts: 0 
TotalInPktDrops: 0, TotalOutPktDrops: 0
 
   

Example 9-3 shows sample output from the show atm vp command. The output displays the configuration of the virtual path (VP) with an identifier of 10.

Example 9-3 show atm vp Command Sample Output

Router# show atm vp
Data CES Peak CES CDVT 
Interface VPI VCs VCs Kbps Kbps Usecs Status 
ATM7/0/0   10 10   0  1000   0   35.0 ACTIVE 
 
   

Example 9-4 shows sample output from the show pxf cpu queue atm command. The output indicates the number of packets dropped and dequeued for VC 1/229 and VC 1/233.

Example 9-4 show pxf cpu queue Command Sample Output

Router# show pxf cpu queue atm 5/0/2 
VCCI 2517: ATM non-aggregated VC 1/229, VCD 1, Handle 1, Rate 500 kbps
 
   
      VCCI/ClassID  ClassName      QID   Length/Max  Res  Dequeues  Drops
      0 2517/0      class-default  269   0/4096       11         3      0
      0 2517/31     pak-priority   268   0/32         11         4      0
 
   
   Queues Owned but Unused by VC (inheritable by sessions)
 
   
      ClassID       ClassName      QID   Length/Max  Res  Dequeues  Drops
            0       class-default  275   0/32         11       100      0
           31       pak-priority   268   0/32         11         4      0
 
   
VCCI 2517: ATM non-aggregated VC 1/233, VCD 4, Handle 4, Rate 50 kbps
 
   
      VCCI/ClassID  ClassName      QID   Length/Max  Res  Dequeues  Drops
      0 2517/0      class-default  269   0/4096       11         3      0
      0 2517/31     pak-priority   268   0/32         11         4      0
 
   
   Queues Owned but Unused by VC (inheritable by sessions)
 
   
      ClassID      ClassName       QID   Length/Max  Res  Dequeues  Drops
            0      class-default   274   0/32         11         0      0
           31      pak-priority    268   0/32         11         4      0
 
   

Example 9-5 shows sample output from the show controllers atm command. The output indicates that no output packets were discarded due to internal buffer exhaustion.

Example 9-5 show controllers atm Command Sample Output

Router# show controllers atm 6/0/0
ATM6/0/0, Card type is 4oc3atm-1 (0x02D8)
The current state of the controller is up.
Current configurable parameter settings;
	Clock source is LINE, Loopback is NONE, Framing is SONET,
	Cell payload scrambling is enabled, STS stream scrambling is enabled,
	MTU is 4470, PXF queuing is enabled, hold-queue is 27230
	Burst tolerance floor 2
Total subscribed rate is 50000, flowbit change 90 / no change 0
Configuration collisions 0
 
   
SECTION
	LOF 	=0	LOS	=0	RDOOL	=0	BIP(B1)	=0
LINE
	AIS	=0	RDI	=0	FEBE	=0	BIP(B2)	=0
PATH
	AIS	=0	RDI	=0	FEBE	=0	BIP(B3)	=0
	LOP	=0	NEWPTR =0		PSE	=0	NSE	=0
	LCD	=0
Active Defects: None
Active Alarms: None
Alarm reporting enabled for: SF SLOS SLOF B1-TCA LAIS LRDI B2-TCA PAIS PLOP PRDI B3-TCA
RDOOL LCD
PATH TRACE BUFFER: STABLE
	Remote hostname:
	Remote interface:
	Remote IP addr:
	Remote Rx(K1/K2): / Tx(K1/K2): /
 
   
BER thresholds: SF = 10e-3 SD = 10e-6
TCA thresholds: B1 = 10e-6 B2 = 10e-6 B3 = 10e-6
 
   
Per Card Statistics:
	0 Input Packets Discarded, queue exhaustion
	0 Input Packets Discarded, no host buffers
	0 Output Packets Discarded, no channel
	0 Output Packets Discarded, MRED
	0 Output Packets Discarded, internal buffer exhaustion
	0 Output Packets Discarded, Utopia RX errors
	0 Output Packets Discarded, EPD

Configuration Examples for Traffic Shaping

This section provides the following sample configurations for traffic shaping:

Configuration Example for Class-Based Shaping

Configuration Examples for Hierarchical Shaping

Configuration Example for Class-Based Shaping

Example 9-6 defines one class named c1, which is configured to shape traffic to 384 kbps with a normal burst size of 15,440 bits.

Example 9-6 Configuring Class-Based Shaping

policy-map shape
class c1
shape average 38400 15440
!
interface serial 3/3/0
service-policy output shape

Note The shape average command is available only on the PRE3. The PRE2 supports the shape cir command.


Configuration Examples for Hierarchical Shaping

Example 9-7 shows how to configure hierarchical shaping. In this example, the total VC bandwidth (the sum of SCR) is above the tunnel rate. The PVP is configured with a PCR of 1000 kbps and is oversubscribed by the total rate of the VCs (2 VCs at 256 kbps and 2 VCs at 512 kbps). The queue-depth command ensures the correct shaping.

Example 9-7 Configuring Hierarchical Shaping

interface ATM5/0/0
 no ip address
 no ip mroute-cache
 atm over-subscription-factor 50
 atm pvp 1 1000 cdvt 600
 no atm auto-configuration
 no atm ilmi-keepalive
 no atm address-registration
 no atm ilmi-enable
!
interface ATM5/0/0.1 point-to-point
 pvc 1/33 
  vbr-nrt 1000 256 
  encapsulation aal5mux ppp Virtual-Template1
  queue-depth 288 256
!
!
interface ATM5/0/0.2 point-to-point
 pvc 1/34 
  vbr-nrt 1000 256
  encapsulation aal5mux ppp Virtual-Template1
  queue-depth 288 256
!
!
interface ATM5/0/0.3 point-to-point
 pvc 1/35 
  vbr-nrt 1000 512
  encapsulation aal5mux ppp Virtual-Template1
  queue-depth 288 256
!
!
interface ATM5/0/0.4 point-to-point
 pvc 1/36 
  vbr-nrt 1000 512
  encapsulation aal5mux ppp Virtual-Template1
  queue-depth 288 256
!

Related Documentation

This section provides hyperlinks to additional Cisco documentation for the features discussed in this chapter. To display the documentation, click the document title or a section of the document highlighted in blue. When appropriate, paths to applicable sections are listed below the documentation title.

Feature
Related Documentation

ATM overhead accounting

Traffic Shaping Overhead Accounting for ATM, Release 12.2(31)SB2 feature module.

Class-based shaping

Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.3

Part 4: Policing and Shaping > Configuring class-Based Shaping

Class maps

Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.2

Part 8: Modular Quality of Service Command-Line Interface > Configuring the Modular Quality of Service Command-Line Interface > Modular QoS CLI Configuration Task List > Creating a Traffic Class

Percentage-Based Traffic Shaping

QoS: Percentage-Based Shaping, Release 12.2(31)SB2 feature module

Policing

Comparing Traffic Shaping and Traffic Policing for Bandwidth Limiting

Policy maps

Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.2

Part 8: Modular Quality of Service Command-Line Interface > Configuring the Modular Quality of Service Command-Line Interface > Modular QoS CLI Configuration Task List > Creating a Traffic Policy

QoS service policies

QoS Configuration and Monitoring, Creating Time-of-Day QoS Service Policies tech note

QoS Configuration and Monitoring, Monitoring Voice over IP Quality of Service tech note

Site-to-Site MPLS VPN Solution for Service Providers, Service Provider Quality-of-Service Overview tech note

Traffic shaping

Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.3

Part 4: Policing and Shaping