Table Of Contents
Upstream Traffic Shaping Feature
Configuring the Low-Peak-Rate Limit
Applying the Rate-Limiting Algorithm Without Rate Shaping
Forcing the Cable Modem to Exceed the Peak Rate
Upstream Traffic Shaping Feature
Feature Overview
This feature allows the cable modem termination system (CMTS) to perform upstream rate shaping on the DOCSIS (Data-Over-Cable Service Interface Specifications) upstream channel.
Benefits
With traffic shaping, the CMTS can buffer the grants for rate exceeded modems. This grant buffering at the CMTS avoids TCP-related timeouts and retransmits resulting in an improved TCP throughput performance for the rate-exceeded modems. Thus, shaping enables the CMTS to enforce the peak upstream rate for the modem without degrading overall TCP performance for the modem.
When users do not enable the shaping option for upstream rate limiting, the CMTS upstream-rate-policing code drops bandwidth requests from cable modems that are found to have exceeded their configured-peak-upstream rate (using different local drop policies). The effect of bandwidth requests (eventually upstream packets) being dropped causes degraded throughput performance of window-based protocols (like TCP) for these rate-exceeded modems because of the timeouts and retransmits that follow.
Supported Platforms
uBR7200
Supported MIBs and RFCs
None
Configuration Tasks
Perform the following tasks to configure shaping on the upstream channel.
Configuring Shaping
Verifying Shaping
Perform the following tasks to verify that shaping is enabled on the upstream channel:
Step 1
Configure a low-peak upstream-rate limit for the cable modem in its qos profile. Either use the command line interface to modify the modem's qos profile, or edit the modem's tftp config file.
Step 2
Use a regular rate-limiting algorithm on the upstream without rate shaping and see the drops of the excess bandwidth requests from this cable modem when it exceeds its peak upstream rate.
Use the show interface cx/y sid counters to see the bandwidth request drops. See that the upstream rate received by that modem is in fact less than its configured-peak rate due to the timeouts and backoffs produced by the drop in bandwidth requests. Enter the show interface cx/y sid command to see the input rate at CMTS in bps.Step 3
Enable grant shaping on the upstream channel by using the new shaping keyword extension to the token-bucket algorithm command line interface.
Step 4
Make the cable modem exceed its peak upstream rate by generating lots of upstream traffic and see the effect of grant buffering (shaping) at the CMTS. If you use cable modem-to-CMTS pings, you will see a perceivable slowing down of the pings.
Let the pings run for a while (to let averages at CMTS settle); then, see the upstream rate received by this single modem. Use the show interface cx/y command and see the input rate in bps. This value should be close to the modem's peak-upstream rate. Also see the drop counts for the modem's Sid by using the show interface sid counters command and see that CMTS no longer drops the bandwidth requests from the cable modem.The bandwidth request drop count (from previous non-shaping test) remains unchanged when upstream-rate shaping is used indicating that CMTS is actually shaping (buffering) the grants for the modem. See that the input rate at CMTS (from the single rate exceeded CM) stabilizes close to the configured-peak rate of 128 Kbps.
Configuration Examples
This section provides the following configuration examples:
•
Configuring the Low-Peak-Rate Limit
•
Applying the Rate-Limiting Algorithm Without Rate Shaping
•
Forcing the Cable Modem to Exceed the Peak Rate
Configuring the Low-Peak-Rate Limit
Router# show cable modemInterface SID Online Timing Receive QoS IP address MAC addressState Offset PowerCable3/0/U0 1 online 3564 0.00 6 1.11.53.102 0010.7b6b.7235Router# show cable qos profile 6Service Prio Max Guarantee Max Max tx TOS TOS Create Bclass upstream upstream downstream burst mask value by privbandwidth bandwidth bandwidth enab6 7 128000 100000 4000000 0 0x0 0x0 management yesApplying the Rate-Limiting Algorithm Without Rate Shaping
Router(config-if)# cable upstream 0 rate-limitRouter# ping ipTarget IP address:1.11.53.100Repeat count [5]:100000Datagram size [100]:10000Timeout in seconds [2]:Extended commands [n]:Sweep range of sizes [n]:Type escape sequence to abort.Sending 100000, 10000-byte ICMP Echos to 1.11.53.100, timeout is 2 seconds:!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!.!!.!.!!!Router# show interface c3/0 sid 1 countersSid Inpackets Inoctets Outpackets Outoctets Ratelimit RatelimitBWReqDrop DSPktDrop1 67859 99158800 67570 98734862 2579 0Router# sh int c3/0Cable3/0 is up, line protocol is upHardware is BCM3210 ASIC, address is 0009.4553.0061 (bia 0009.4553.0061)Internet address is 1.11.53.100/27MTU 1500 bytes, BW 27000 Kbit, DLY 1000 usec,reliability 255/255, txload 1/255, rxload 1/255Encapsulation MCNS, loopback not set, keepalive not setARP type:ARPA, ARP Timeout 04:00:00Last input 00:00:00, output 00:00:00, output hang neverLast clearing of "show interface" counters neverQueueing strategy:fifoOutput queue 0/40, 0 drops; input queue 0/75, 0 drops5 minute input rate 95000 bits/sec, 9 packets/sec5 minute output rate 82000 bits/sec, 7 packets/sec70093 packets input, 100855618 bytes, 4569 no bufferReceived 992 broadcasts, 0 runts, 0 giants, 0 throttles3 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort68477 packets output, 100193806 bytes, 0 underruns0 output errors, 0 collisions, 1 interface resets0 output buffer failures, 0 output buffers swapped outEnabling Shaping
Router(config-if)# cab u0 rate-limit token-bucket shapingForcing the Cable Modem to Exceed the Peak Rate
Router# ping ipTarget IP address:1.11.53.100Repeat count [5]:1000000Datagram size [100]:10000Timeout in seconds [2]:Extended commands [n]:Sweep range of sizes [n]:Type escape sequence to abort.Sending 1000000, 10000-byte ICMP Echos to 1.11.53.100, timeout is 2seconds:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Router# sh int c3/0Cable3/0 is up, line protocol is upHardware is BCM3210 ASIC, address is 0009.4553.0061 (bia 0009.4553.0061)Internet address is 1.11.53.100/27MTU 1500 bytes, BW 27000 Kbit, DLY 1000 usec,reliability 255/255, txload 1/255, rxload 1/255Encapsulation MCNS, loopback not set, keepalive not setARP type:ARPA, ARP Timeout 04:00:00Last input 00:00:00, output 00:00:00, output hang neverLast clearing of "show interface" counters 00:07:45Queueing strategy:fifoOutput queue 0/40, 0 drops; input queue 0/75, 0 drops5 minute input rate 128000 bits/sec, 11 packets/sec5 minute output rate 131000 bits/sec, 11 packets/sec4098 packets input, 5860349 bytes, 0 no bufferReceived 92 broadcasts, 0 runts, 0 giants, 0 throttles0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort4004 packets output, 5868720 bytes, 0 underruns0 output errors, 0 collisions, 0 interface resets0 output buffer failures, 0 output buffers swapped outRouter# show int c3/0 sid countersSid Inpackets Inoctets Outpackets Outoctets Ratelimit RatelimitBWReqDrop DSPktDrop1 4780 6996880 4774 6987772 6244 0Router# show int c3/0 sid countersSid Inpackets Inoctets Outpackets Outoctets Ratelimit RatelimitBWReqDrop DSPktDrop1 4866 7122488 4865 7120970 6244 0Command Reference
cable upstream rate-limit
To set DOCSIS rate limiting for an upstream port on a cable modem card, use the cable upstream rate-limit interface configuration command. Use the no form of this command to disable DOCSIS rate limiting for an upstream port on a cable modem card:
cable upstream portnum rate-limit [token-bucket [shaping]]
no cable upstream portnum rate-limitSyntax Description
portnum
Specifies the upstream port.
token-bucket
(Optional) Applies the token bucket filter algorithm.
shaping
(Optional) Enables traffic shaping on the upstream channel.
Default
The rate limit of the cable upstream port with grant shaping.
Command Mode
Interface configuration
Command History
Release Modification11.3(6)NA
This command was first introduced.
11.3(9)NA
The shaping keyword was added.
Usage Guidelines
Use of the default value (the upstream port's rate limit) enforces strict DOCSIS-compliant rate limiting. The shaping option cannot be used without the token-bucket option.
Example
The following example uses the token bucket filter algorithm and turns on grant shaping for upstream port 4:
Router(config-if)# cable upstream 4 rate-limit token-bucket shapingRelated Commands
