Jump to content

Blue (queue management algorithm)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by W Nowicki (talk | contribs) at 19:09, 8 June 2013 (verify the 2009 paper). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Blue is an active queue management algorithm for a router or other computer network device. Like random early detection (RED), it operates by randomly dropping or marking packet with explicit congestion notification packets in a router's queue before it overflows. Unlike RED, however, it requires little or no tuning on the part of the network administrator.[1]

Operation

A Blue queue maintains a drop/mark probability p, and drops/marks packets with probability p as they enter the queue. Whenever the queue overflows, p is increased by a small constant pd, and whenever the queue is empty, p is decreased by a constant pi<pd.

Assuming the mix of traffic on the interface doesn't change, p will slowly converge to a value that keeps the queue within its bounds with full link utilisation.

Stochastic fair Blue

The main flaw of Blue, which it shares with most single-queue queueing disciplines, is that it does not distinguish between flows, and treats all flows as a single aggregate. Therefore, a single aggressive flow can push out of the queue packets belonging to other, better behaved, flows.

Stochastic fair Blue (SFB) is a stochastically fair variant of Blue which hashes flows and maintains a different mark/drop probability for each hash value. Assuming no hash collisions, SFB is able to provide a fair share of buffer space for every flow. In the presence of hash collisions, SFB is only stochastically fair.[2]

Unlike other stochastically fair queuing disciplines, such as SFQ, SFB can be implemented using a bloom filter rather than a hash table, which dramatically reduces its storage requirements when the number of flows is large.

When a flow's drop/mark probability reaches 1, the flow has been shown to not react to congestion indications from the network. Such an inelastic flow is put in a "penalty box", and rate-limited.

Resilient stochastic fair Blue

Active queue management (AQM) algorithms, including the fairness-aimed ones, are notably vulnerable to spoofing distributed denial-of-service (DDoS) attacks. A resilient stochastic fair Blue (RSFB) algorithm was proposed in 2009 against spoofing DDoS attacks. The basic idea behind RSFB is to record the responsive normal TCP flows and rescue their dropped packets. RSFB algorithm is effective in preserving the TCP throughput in the presence of spoofing DDoS attacks.[3]

Implementations

An implementation of Blue is part of ALTQ, the alternative AQM framework for BSD Unix.[4]

An implementation of SFB for Linux[5] has been included in Linux since version 2.6.39.[6]

References

  1. ^ Wu-chang Feng; Dilip D. Kandlur; Debanjan Saha; Kang G. Shin (1999). "BLUE: A New Class of Active Queue Management Algorithms" (PDF). Computer Science Technical Report (CSE–TR–387–99). University of Michigan. Retrieved June 8, 2013. {{cite journal}}: Unknown parameter |month= ignored (help)
  2. ^ Wu-Chang Feng; Dilip D. Kandlur; Debanjan Saha; Kang G. Shin (2001), "Stochastic Fair Blue: an algorithm for enforcing fairness" (PDF), Proc. INFOCOM 2001, 3: 1520–1529, doi:10.1109/INFCOM.2001.916648, retrieved 2010-01-02 {{citation}}: Unknown parameter |month= ignored (help)
  3. ^ Changwang Zhang, Jianping Yin, and Zhiping Cai (2009). "RSFB: a Resilient Stochastic Fair Blue algorithm against spoofing DDoS attacks" (PDF). International Symposium on Communication and Information Technology (ISCIT): 1566–1567. ISBN 978-1-4244-4521-9.{{cite journal}}: CS1 maint: multiple names: authors list (link) Abstract
  4. ^ BLUE
  5. ^ Juliusz Chroboczek. An implementation of SFB for the Linux kernel
  6. ^ Kernel Newbies - Linux 2.6.39 - Networking