Chapter 32: Packet Throttling
STANDARD Revision 1.0
C4® CMTS Release 8.3 User Guide
© 2016 ARRIS Enterprises LLC. All Rights Reserved.
944
Traffic shaping intelligently delays packets to slow down the effective packet transmission rate, while traffic policing
intelligently drops packets. For example, when traffic policing drops Transmission Control Protocol (TCP) packets, this
triggers the TCP congestion control algorithm and causes the source to throttle back the transmission rate.
Maximizing Throughput
For traffic policing to maximize throughput, a large burst size is needed in order to reduce the frequency of dropped
packets. As the desired bandwidth is made larger and larger, the burst size must also increase. Larger burst sizes result in
longer periods of time when the transmission rate for a flow is not limited, producing undesirable interactions with other
service flows.
Dual Leaky Bucket Mechanism
In order to implement the "Power Burst" function, the policer uses a dual leaky bucket mechanism.
The first leaky bucket uses the DOCSIS Tmax and burst size. The second leaky bucket limits the transmission rate during the
period that packets conform to the first leaky bucket, rather than letting a user use the full bandwidth of the link.
The second leaky bucket uses a n parameter named Tpeak and has a burst size of 0. A delay value is calculated for each
leaky bucket; the larger value is used to delay packets.
Downstream Traffic Shaping
Downstream traffic shaping helps to avoid this problem and accommodates a larger range of desired bandwidths. In
addition, a two-tiered shaping mechanism is desirable for shaping to different rates before and after the DOCSIS burst is
consumed.
Traffic shaping temporarily stores packets in buffers in such a way that packets on different flows can be transmitted out of
order while maintaining packet order within a flow. Buffers are not reused until they have transmitted or dropped their
packets.
Traffic Policing Method
Traffic policing is done by means of hardware. The policing engine determines whether a packet is non-conforming and
whether shaping is enabled for the flow carrying that packet. Instead of dropping the non-conforming packet, the policing
block calculates how long the packet must be delayed to make it conform.