This document provides guidelines to configure Frame Relay Traffic Shaping (FRTS) for voice applications.
The configuration of FRTS for voice traffic is different from that of Traffic Shaping for data only, especially if quality voice is required. When configuring FRTS to achieve voice quality, some compromises are made with the data traffic, such as lower throughput due to traffic shaping bandwidth restrictions. The user must ultimately decide if data throughput or voice quality is the priority.
For more information on document conventions, see the Cisco Technical Tips Conventions.
There are no specific prerequisites for this document.
This document is not restricted to specific software and hardware versions.
FRTS provides parameters that are useful for managing network traffic congestion on frame relay networks. FRTS eliminates bottlenecks in Frame Relay networks with high-speed connections to the central site and low-speed connections to the branch sites. You can configure rate enforcement values to limit the rate at which data is sent from the virtual circuit (VC) at the central site.
These definitions are important to FRTS:
|Committed Information Rate (CIR)||
Rate (bits per second) the frame relay provider guarantees for
data transfer. CIR values are set by the Frame Relay service provider and
configured by the user on the router.
Note: The port / interface access rate can be higher than CIR. The rate is averaged over a Tc period of time.
|Committed Burst (Bc)||Maximum number of bits the frame relay network commits to transfer over a Committed Rate Measurement Interval (Tc). Tc = Bc / CIR.|
|Excess Burst (Be)||Maximum number of uncommitted bits the frame relay switch attempts to transfer beyond the CIR over the Committed Rate Measurement Interval (Tc).|
|Committed Rate Measurement Interval (Tc)||Time interval over which Bc or (Bc+ Be) bits are transmitted. Tc is calculated as Tc = Bc / CIR. The Tc value is not directly configured on Cisco routers. It is calculated after the Bc and CIR values are configured. Tc cannot exceed 125 ms.|
|Backwards Explicit Congestion Notification (BECN)||A bit in the Frame Relay frame header that indicates congestion in the network. When a Frame Relay switch recognizes congestion, it sets the BECN bit on frames destined for the source router, instructing the router to reduce the transmission rate.|
This diagram illustrates the network topology for the sample scenarios used in this document:
Assume this scenario: A 128Kbps frame relay circuit with a CIR PVC of 64Kbps. The user wants to burst to port speed (128Kbps) and throttle down to CIR rate (64 kbps) if BECNs are received to avoid data loss.
This is a typical FRTS configuration for data PVCs:
!--- Output suppressed. interface Serial1 no ip address no ip directed-broadcast encapsulation frame-relay no fair-queue frame-relay traffic-shaping ! interface Serial1.100 point-to-point ip address 184.108.40.206 255.255.255.0 no ip directed-broadcast frame-relay interface-dlci 100 class my_net ! !--- Output suppressed. ! map-class frame-relay my_net frame-relay adaptive-shaping becn frame-relay cir 128000 frame-relay bc 8000 frame-relay be 8000 frame-relay mincir 64000
frame-relay traffic-shaping—This command enables FRTS for the interface. Every DLCI under this interface is traffic shaped with either user-defined or default traffic shaping parameters. User-defined parameters can be specified in two ways:
Using the command class class_name under the frame-relay interface-dlci configuration or
Using the command frame-relay class under the serial interface.
In the example above, class my_net is used under the DLCI configuration.
class class_name —Use this command to configure FRTS parameters for a specific DLCI. In the above example, the class is defined as "my_net". The class parameters are configured under the command map-class frame-relay class_name .
map-class frame-relay class_name —Use this command to configure the FRTS parameters for a specified class. There can be multiple class-maps in a configuration. Each DLCI can have a separate class or DLCIs can share a single map class.
frame-relay adaptive-shaping becn —This command configures the router to respond to frame relay frames that have the BECN bit set. When a frame is received on that PVC with the BECN bit set, then the router throttles traffic down on that PVC to the MINCIR value. The CIR is usually set to the port speed or a value higher than the true CIR of the PVC. The MINCIR value is then set to the true CIR of the PVC.
frame-relay cir bps —Use this command to specify the incoming or outgoing committed information rate (CIR) for a Frame Relay virtual circuit.
frame-relay bc bits —Use this command to specify the incoming or outgoing committed burst size (Bc) for a Frame Relay virtual circuit.
frame-relay be bits —Use this command to specify the incoming or outgoing excess burst size (Be) for a Frame Relay virtual circuit.
frame-relay mincir bps —Use this command to specify the minimum acceptable incoming or outgoing committed information rate (CIR) for a Frame Relay virtual circuit. This is the rate at which traffic will be throttled down to when using adaptive shaping.
When configuring FRTS for voice, data performance may suffer at the expense of good voice quality. Here are some guidelines to enhance voice quality when configuring FRTS for voice:
Do not exceed the CIR of the PVC
Most users have difficulty following this recommendation because the result is the router will no longer be able to burst to port speed. Because voice quality cannot tolerate much delay, any queueing of voice packets within the Frame Relay cloud must be minimized. When CIR is exceeded (PVC CIR, not the router configured CIR), depending on the provider and how congested the rest of the Frame Relay network is, packets may begin queue in the Frame Relay network. By the time the Frame Relay switch queues have backed up enough to trigger BECNs, the voice quality is already diminished. Because customers have many different Frame Relay providers and differing amounts of congestion across their sites, it is difficult to forecast what configuration works. Maintaining values at (or below) CIR on the PVCs that transport voice has proven to work consistently.
Some providers sell a Frame Relay service of 0 CIR. Obviously, not exceeding CIR in this case would prevent any voice from being sent across the frame link. A service of 0 CIR may be used for voice but there needs to be a Service Level Agreement (SLA) with the provider to guarantee minimal delay and jitter for a certain bandwidth across the 0 CIR PVC.
Do not use frame relay adaptive shaping
If the configured CIR within the frame relay map class is the same as the true CIR of the PVC, there is no need to throttle down traffic due to BECNs. If CIR is not exceeded, BECNs are not generated.
Make Bc small so that Tc (shaping interval) is small (Tc = Bc/CIR)
The minimum Tc value is 10 ms, which is ideal for voice. With a small Tc value, there is no risk of large packets using all the shaping credits. Large Tc values can lead to large gaps between packets sent because the traffic shaper waits an entire Tc period to build up additional credits to send the next frame. Making Bc = 1000 bits is usually a low enough value to force the router to use the minimum Tc of 10ms. This setting should not affect data throughput.
Set Be = zero
To ensure the CIR value is not exceeded, Be is set to zero so there is no excess burst within the first shaping interval.
Note: A good solution employed by some customers is to use separate PVCs for data and voice. This solution enables the customer to transmit up to port speeds in the data only PVC while maintaining a load at or below CIR on the voice PVC. Some frame providers may not find the solution appropriate depending on the frame switch and its queuing structure. If possible, have the Frame Relay provider prioritize the voice PVC over the data one so that there is not any queuing delay because of the data packets.
Assume the following scenario: A 128Kbps frame relay circuit with a CIR PVC of 64Kpbs. The Frame Relay PVC is used to transport voice and data traffic.
This is a typical configuration for traffic shaping for Voice over IP (VoIP) over Frame Relay:
!--- Output suppressed. ! interface Serial1 no ip address no ip directed-broadcast encapsulation frame-relay frame-relay traffic-shaping ! ip address 220.127.116.11 255.255.255.0 no ip directed-broadcast frame-relay interface-dlci 100 class voice ! !--- Output suppressed. ! map-class frame-relay voice frame-relay fragment 160 no frame-relay adaptive-shaping frame-relay cir 64000 frame-relay bc 1000 frame-relay be 0 frame-relay fair-queue !
This is a typical configuration for traffic shaping for VoFR:
!--- Output suppressed. ! interface Serial1 no ip address no ip directed-broadcast encapsulation frame-relay frame-relay traffic-shaping ! interface Serial1.100 point-to-point ip address 18.104.22.168 255.255.255.0 no ip directed-broadcast frame-relay interface-dlci 100 class voice vofr cisco ! !--- Output suppressed. ! map-class frame-relay voice frame-relay voice bandwidth 32000 frame-relay fragment 160 no frame-relay adaptive-shaping frame-relay cir 64000 frame-relay bc 1000 frame-relay be 0 frame-relay fair-queue !
Relevant FRTS commands (not discussed in the Frame Relay Traffic Shaping For Data section) are explained in this section.
vofr cisco—(Applicable only for VoFR) This command enables VoFR for the PVC.
frame-relay voice bandwidth bps —Applicable only for VoFR) Use this command to specify how much bandwidth is reserved for voice traffic on a specific data link connection identifier (DLCI). This command gives voice traffic a bandwidth ceiling.
frame-relay fragment bytes —Use this command to enable fragmentation of Frame Relay frames for a Frame Relay map class. For more information refer to: Frame Relay Fragmentation for Voice. Be aware that every PVC that shares an interface with a voice PVC will need fragmentation depending on the lowest link speed between the two routers, even if the PVC is data only. Since the voice PVC may share the same physical interface as other PVCs, large datagrams going out on these other PVCs may cause delay for voice packets trying to go out the same physical interface on a voice PVC.
no frame-relay adaptive-shaping—This command disables adaptive shaping.
frame-relay cir 64000 —Use this command to force the router to transmit at the same rate of the PVC CIR (In the above example, 64kbps even though the port speed is 128Kbps).
frame-relay bc 1000—Use this command to configure the router to use a small Tc or shaping interval.
frame-relay be 0—Since the PVC CIR is not exceeded, be is set to 0 so that there is no excess burst in the first shaping interval.
This section contains some guidelines to verify and and troubleshoot FRTS.
Use the command show traffic-shape to display the configured FRTS parameters. The following sample output applies to the voice FRTS configuration above:
ms3810-3c#sh traffic-shape Access Target Byte Sustain Excess Interval Increment Adat I/F List Rate Limit bits/int bits/int (ms) (bytes) ActeSe1.100 64000 1125 1000 8000 15 125 -
Note: In the above example, the Tc Interval is set to 15ms; the minimum value is 10ms. Do not be concerned about setting Bc too low, since it will recalculate to 10ms if Bc tries to force it below 10ms. The CIR is also set to 64000bps which is the CIR of the PVC.
This table explains how to interpret the values from the command show traffic-shape output:
Target Rate frame-relay cir Byte Limit frame-relay bc + frame-relay be (value in bytes) Sustain bits/int frame-relay bc (configured value in bits) Excess bits/int frame-relay be (configured value in bits) interval (ms) Equivalent to Tc which is defined by Tc=Bc/CIR Increment (bytes) frame-relay bc (in bytes)
Another command to use to verify the configuration is show frame-relay pvc Below is a sample output for this command.
ms3810-3c#sh frame pvc 100 PVC Statistics for interface Serial1 (Frame Relay DTE) DLCI = 100, DLCI USAGE = LOCAL, PVC STATUS = DELETED, INTERFACE = Serial1.100 input pkts 0 output pkts 0 in bytes 0 out bytes 0 dropped pkts 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 0 out bcast bytes 0 pvc create time 05:29:55, last time pvc status changed 05:29:05 Service type VoFR-cisco configured voice bandwidth 32000, used voice bandwidth 0 fragment type VoFR-cisco fragment size 160 cir 64000 bc 1000 be 8000 limit 1125 interval 15 mincir 64000 byte increment 125 BECN response no fragments 0 bytes 0 fragments delayed 0 bytes delayed shaping inactive traffic shaping drops 0 Voice Queueing Stats: 0/100/0 (size/max/dropped) Current fair queue configuration: Discard Dynamic Reserved threshold queue count queue count 64 16 2 Output queue size 0/max total 600/drops 0 ms3810-3c#
Note: Often, traffic shaping is not configured until the user adds voice traffic to some of the PVCs in an interface. This forces all PVCs in an interface that do not have user defined FRTS parameters to use the default parameters. The following output displays the default FRTS parameters.
ms3810-3c#show traffic-shape Access Target Byte Sustain Excess Interval Increment Adat I/F List Rate Limit bits/int bits/int (ms) (bytes) Acte Se1 56000 875 56000 0 125 875 -
Note: The CIR defaults to a value of 56 Kbps. Hence, PVCs that inherit these default FRTS attributes are forced to throughput of 56Kbps. This is an important detail for customers who have configured voice and data PVC under the same interface.
The Cisco Support Community is a forum for you to ask and answer questions, share suggestions, and collaborate with your peers.
Refer to Cisco Technical Tips Conventions for information on conventions used in this document.