May 14, 2001, 12:00 AM — Some organizations, in addition using to the queuing techniques we
talked about last time, take a more active hand in improving quality of
service (QoS) by applying traffic shaping technology. Traffic shaping
aims to decrease the burstiness of UDP and TCP traffic, thereby
decreasing the load on the router and switch buffers as well as the
latency jitter caused by long queues. Traffic shaping identifies
traffic flows, then manages their maximum transmission rates based on
Traffic shaping's great advantage is that it can be implemented in a
device inserted anywhere in the dataflow. An enterprise can use traffic
shaping techniques even if it doesn't control the network core -- to
smooth the traffic flow to its ISP, for example, and to allocate
bandwidth among applications or departments.
As with queuing in routers, there are multiple techniques that can be
used for traffic shaping.
* Class-based queuing (CBQ) is a way of setting the maximum
committed data rates by type of application, called a class. CBQ
slices the available bandwidth into subchannels based on IP
header information. The data flows therefore grab bandwidth only
within their channel. Most implementations can temporarily
distribute excess overall capacity to the various subchannels.
CBQ is somewhat similar in operation to custom queuing's dynamic
bandwidth reservation, but is typically employed at network entry
points rather than in backbone routers. It is also analogous to
frame relay's committed information rate (CIR) mechanism, except
that it works with IP traffic at layer 3 rather than at layer 2
as frame relay does.
* Unlike CBQ, rate control works directly with TCP or UDP to
manipulate transmission rates instead of relying on the existing
TCP channel-capacity feedback mechanism. For TCP, rate control
manipulates TCP's acknowledgements as they pass through the rate
control device. It adjusts the size of the acknowledgement
window, inserts new acknowledgements, and respaces existing
Rate control cannot manipulate acknowledgement window sizes in
UDP, as UDP packets don't use acknowledgements or flow-control
windows. Instead, standard "leaky bucket" flow control can be
used to buffer uneven UDP traffic as it arrives and feed it out
at a steady rate.
* Frame relay traffic shaping operates at layer 2 and thus can
complement higher-layer TCP/IP traffic shaping or queuing
mechanisms. You can enforce rates on a per virtual circuit basis
by setting the CIR to a value lower than the link speed. When
there are multiple VCs on a frame relay access link, you can use
CIRs to allocate bandwidth among VCs.