|
|
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.
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.
uBR7200
None
Perform the following tasks to configure shaping on the upstream channel.
| Step | Command | Purpose | ||
|---|---|---|---|---|
| Router(config)#interface cable slot/port | Enters the interface configuration mode for a cable interface. | ||
| Router(config-if)#cable slot/port rate-limit token-bucket shaping | Enables grant shaping on the upstream channel. | ||
| Router(config-if)# | Exits back to the EXEC mode, so that you can verify the steps. |
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.
This section provides the following configuration examples:
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
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
Router(config-if)#cab u0 rate-limit token-bucket shaping
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
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]]
portnum | Specifies the upstream port. |
token-bucket | (Optional) Applies the token bucket filter algorithm. |
shaping | (Optional) Enables traffic shaping on the upstream channel. |
The rate limit of the cable upstream port with grant shaping.
Interface configuration
| Release | Modification |
|---|---|
11.3(6)NA | This command was first introduced. |
11.3(9)NA | The shaping keyword was added. |
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.
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
| Command | Description |
cable downstream rate-limit | Enables DOCSIS rate limiting on downstream traffic. |
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Thu Apr 8 20:29:06 PDT 1999
Copyright 1989-1999©Cisco Systems Inc.