Leaky Bucket
Leaky Bucket
Leaky Bucket
Jump to: navigation, search Although the leaky bucket algorithm has several uses, it is best understood in the context of network traffic shaping or rate limiting. Typically, the algorithm is used to control the rate at which data is injected into a network, smoothing out "burstiness" in the data rate.
Contents
[hide]
1 Traffic shaping algorithms 2 What is the Leaky-Bucket algorithm used for? 3 Automobile traffic analogy 4 The Leaky-bucket algorithm 5 Inefficiency of the Leaky-bucket implementation 6 See also 7 References
Figure 1: A simple Leaky Bucket [1] The leaky-bucket implementation is used to control the rate at which traffic is sent to the network (see Figure 1). A leaky bucket provides a mechanism by which bursty traffic can be shaped to present a steady stream of traffic to the network, as opposed to traffic with erratic bursts of low-volume and high-volume flows.
Arriving packets (network layer PDUs) are placed in a bucket with a hole in the bottom. The bucket can queue at most b bytes. If a packet arrives when the bucket is full, the packet is discarded. Packets drain through the hole in the bucket, into the network, at a constant rate of r bytes per second, thus smoothing traffic bursts.
The size 'b' of the bucket is limited by the available memory of the system. The Generic Cell Rate Algorithm, I , L used in traffic shaping of ATM networks is equivalent to the leaky bucket algorithm.
Token bucket Traffic shaping Rate limiting Congestion Avoidance in Broadband Networks
[edit] References
"Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice" by John Evans, Clarence Filsfils (Morgan Kaufmann, 2007, ISBN 0-12-370549-5) Ferguson P., Huston G., Quality of Service: Delivering QoS on the Internet and in Corporate Networks, John Wiley & Sons, Inc., 1998.