I'm working on an application, that does IP routing and QoS. Today we have the QoS implemented, with 3 priorities (low, normal and high) and for each level we create a Queue and as soon as the packages are queued, we send it forward in a FIFO way (the scheduler spend 60% of time with the high queue, 30% the time with normal and 10% with the low queue). It works, but as FIFO it has some drawbacks like:

  • An aggressive traffic will fill in the queue and all other flows with the same priority will be stucked

  • under high usage, TCP will slow down and UDP will keep flooding our Queue. It means in the end UDP flows will have better priorization then TCP flows

I was thinking a way to improve it and my idea is to implement a SFQ with the following algorithm:

  • keep the high, normal, low, but they aren't just 3 queues, but one per (seen) protocol

  • The scheduler still spending 60% of time we spend with the high queues, 30% the time with normal and 10% with the low queues. But now, it does a round-robin between the queues with the same priority. The choosen Queue, will still forward the packets in a FIFO way.

drawbacks from this implementation:

  • it is more expensive to the CPU

Am I missing something? Any recommendation?

1 Answer 1


Have a look at Hurst or long range dependent network traffic for example this paper. If it is your problem, then you cannot reduce long range dependent traffic with queueing policies.

  • the difference is that my application will be running as first hop of a network not in a backbone. I think the paper is related with high-speed networks and i'm sitting on the edge of the network.
    – VP.
    Aug 14, 2012 at 13:45
  • 1
    It maybe worth doing a tests on your data. If you are assuming a Normal distribution of traffic, you will underestimate the size of your buffers. Hurst work was on a dam over the rive Nile so just "one" source ^_~ yet the flooding data was long range dependent. Then again, you maybe right and it does not matter. Aug 14, 2012 at 13:51
  • definitely i didn't discard it :-)
    – VP.
    Aug 14, 2012 at 14:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.