Guest

Cisco IOS Software Releases 11.3

Upstream Traffic Shaping Feature

Table Of Contents

Upstream Traffic Shaping Feature

Feature Overview

Benefits

Supported Platforms

Supported MIBs and RFCs

Configuration Tasks

Configuring Shaping

Verifying Shaping

Configuration Examples

Configuring the Low-Peak-Rate Limit

Applying the Rate-Limiting Algorithm Without Rate Shaping

Enabling Shaping

Forcing the Cable Modem to Exceed the Peak Rate

Command Reference

cable upstream rate-limit

Syntax Description

Default

Command Mode

Command History

Usage Guidelines

Example

Related Commands


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

Configuring Shaping

Step
Command
Purpose

1

Router(config)# interface cable slot/port

Enters the interface configuration mode for a cable interface.

2

Router(config-if)# cable slot/port rate-limit 
token-bucket shaping

Enables grant shaping on the upstream channel.

3

Router(config-if)# ^Z
Router

Exits back to the EXEC mode, so that you can verify the steps.


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

Enabling Shaping

Forcing the Cable Modem to Exceed the Peak Rate

Configuring the Low-Peak-Rate Limit

Router# show cable modem
Interface    SID   Online     Timing Receive QoS IP address      MAC address
                   State      Offset Power
Cable3/0/U0  1     online     3564    0.00   6   1.11.53.102     0010.7b6b.7235

Router# show cable qos profile 6
Service Prio Max       Guarantee Max        Max tx TOS  TOS   Create     B 
class        upstream  upstream  downstream burst  mask value by         priv 
             bandwidth bandwidth bandwidth                               enab
6       7    128000    100000    4000000    0      0x0  0x0   management yes  

Applying the Rate-Limiting Algorithm Without Rate Shaping

Router(config-if)# cable upstream 0 rate-limit

Router# ping ip
Target IP address:1.11.53.100
Repeat count [5]:100000
Datagram size [100]:10000 
Timeout 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 counters
Sid   Inpackets  Inoctets   Outpackets Outoctets  Ratelimit  Ratelimit 
                                                  BWReqDrop  DSPktDrop
1     67859      99158800   67570      98734862   2579       0          
Router# sh int c3/0 
Cable3/0 is up, line protocol is up 
  Hardware is BCM3210 ASIC, address is 0009.4553.0061 (bia 0009.4553.0061)
  Internet address is 1.11.53.100/27
  MTU 1500 bytes, BW 27000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation MCNS, loopback not set, keepalive not set
  ARP type:ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:00, output hang never
  Last clearing of "show interface" counters never
  Queueing strategy:fifo
  Output queue 0/40, 0 drops; input queue 0/75, 0 drops
  5 minute input rate 95000 bits/sec, 9 packets/sec
  5 minute output rate 82000 bits/sec, 7 packets/sec
     70093 packets input, 100855618 bytes, 4569 no buffer
     Received 992 broadcasts, 0 runts, 0 giants, 0 throttles
     3 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     68477 packets output, 100193806 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 output buffer failures, 0 output buffers swapped out

Enabling Shaping

Router(config-if)# cab u0 rate-limit token-bucket shaping   

Forcing the Cable Modem to Exceed the Peak Rate

Router# ping ip
Target IP address:1.11.53.100
Repeat count [5]:1000000
Datagram size [100]:10000
Timeout 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 2
seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Router# sh int c3/0
Cable3/0 is up, line protocol is up 
  Hardware is BCM3210 ASIC, address is 0009.4553.0061 (bia 0009.4553.0061)
  Internet address is 1.11.53.100/27
  MTU 1500 bytes, BW 27000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation MCNS, loopback not set, keepalive not set
  ARP type:ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:00, output hang never
  Last clearing of "show interface" counters 00:07:45
  Queueing strategy:fifo
  Output queue 0/40, 0 drops; input queue 0/75, 0 drops
  5 minute input rate 128000 bits/sec, 11 packets/sec
  5 minute output rate 131000 bits/sec, 11 packets/sec
     4098 packets input, 5860349 bytes, 0 no buffer
     Received 92 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     4004 packets output, 5868720 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 output buffer failures, 0 output buffers swapped out

Router# show int c3/0 sid counters
Sid   Inpackets  Inoctets   Outpackets Outoctets  Ratelimit  Ratelimit 
                                                  BWReqDrop  DSPktDrop
1     4780       6996880    4774       6987772    6244       0          


Router# show int c3/0 sid counters
Sid   Inpackets  Inoctets   Outpackets Outoctets  Ratelimit  Ratelimit 
                                                  BWReqDrop  DSPktDrop
1     4866       7122488    4865       7120970    6244       0          

Command Reference

cable upstream rate-limit

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-limit

Syntax 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
Modification

11.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 shaping

Related Commands

Command
Description

cable downstream rate-limit

Enables DOCSIS rate limiting on downstream traffic.