Hi!
I have some questions about Microtik's QoS and I would appreciate your help. My collegue an I are
trying to implement class-based queuing for VoIP. Our intention is to implement something as close
as possible as CBWFQ (Class-Based Weighted Fair Queuing) with one LLQ (Low-Latency Queue).
As much as we understand Microtik's QoS, class-based queuing is implemented through
Queue Tree. It is possible to mark certain types of traffic with DSCP values and then put them in
some queues. Also, it's possible to guarantee each queue a certain amount of traffic in bytes or
packets, which is close to CBWFQ (CBWFQ can do this in percentages, but this is close enough),
and then put priority on each queue to give it aditional amount of traffic. Although this priority will
guarantee certain (additional) amount of traffic, this is not good enough because it will not solve
the delay problem. The algorithm here is (we think) WRR (Weighted Round Robin), which is ok for
normal traffic, but we want one queue to be LLQ, so that VoIP traffic is allways sent immediatley,
without waiting for algorithm to go through all the queues. Is this possible to do in MikroTik?
We thought of using Simple queue as our LLQ, since the router will always send from this
queue first, but this is problematic because Simple queue is a flow-based queue, and not a class-
based queue. This means that if we make a mangle in which we include our VoIP traffic, Simple
queue can use it only as a condition for matching packets and then putting it in a flow. We want the
router to be able to mark certain traffic himself (if it isn't already marked) with appropriate DSCP
value, and then to put it in a certain (LLQ) queue. If the packet already has DSCP value, we want it
simply to be put in that queue and sent as soon as possible. Simple queue can't do that, but only use
mangle as a condition. Is this true?
Thanks.