Académique Documents
Professionnel Documents
Culture Documents
Implementation of QoS (Quality of Services) at the Mikrotik much depends on the system
HTB (Hierarchical Token Bucket). HTB allows us to create a queue to be more structured, by
performing multilevel groupings. What many do not realize is, if we do not implement the
HTB Queue (both Simple Queue and Queue Tree), there were some parameters that do not
work as we inginkan.Beberapa parameters that do not work is the priority, and dual limitation
(CIR / MIR) .
In the discussion of this article, we will take the example of a simple QoS system, where we
want to allocate bandwidth of 400kbps for 3 clients, where each client can get a maximum of
200kbps. Among these three clients, have different priorities, namely: 1.2, and 3.
To facilitate the monitoring and verification, we will use the queue tree.
The easiest way to do queue with queue tree, is to determine the parameters:
- Max-limit (which is the maximum speed limit), or also known as MIR (Maximum Information
Rate)
For the initial experiment, all the priority required the same numbers: 8, and parameters-at
the limit we are not content. The following figure is an illustration of what will happen with the
above configuration.
Since the allocation of available bandwidth is only 400kbps, while the third cumulative
exceeding client (600 kbps), then the client will be the third fight each other, and can not be
predicted who will win (using the full bandwidth) and who will lose (do not get the bandwidth
that appropriate).
Suppose that Q1 is the client with the highest priority, and Q3 is the client with the lowest
priority. We will try to enter the priority value for each client in accordance with priorities
Shown in the picture above, though now Q1 already has the highest priority, but the third
The following picture will try to implement the value-at the limit. It should, limit-at the CIR
(Committed Information Rate), a parameter in which a client will get bandwidth, regardless
It turned out that Q1 is still not getting the bandwidth in accordance with the limit-at (CIR) it.
In fact, since the available bandwidth is 400kbps, should be sufficient to supply each client in
Next, we will use the parent queue, and queue a third place as a child had been a client of
the parent queue queue that we will create. At the parent queue, we simply include
outgoing-interface on the parent parameter, and for the third child, we change the
parameters of parent to parent queue name. First of all, we are not going to put the value of
max-limit on the parent-queue, and delete all the parameters at the limit, all clients.
Shown in the example above, because we did not include the value of max-limit on the
parent, then the priority on the child could not even awake.
After we put max-limit parameter on the parent queue, then the priority on the client will run.
Shown in the example above, Q1 and q2 have almost as much bandwidth max-limit, whereas
almost missed Q3 bandwidth. Priority has been going well. However, in actual conditions, we
certainly do not want a client who did not get the bandwidth.
For that, we need to set the limit value-at on each client. Value-at this limit is the minimum
speed that will be found by the client, and not be distracted by other clients, other clients
how besarpun ’suck’ bandwidth, or whatever priorities. We set the value as the limit-75kbps
on all clients at
Seems that the Q3, which has the lowest priority, get the bandwidth of the limit-at him. Q1
which has the highest priority, can get bandwidth of max-limit, while the priority q2 between
Q1 and Q3, can get over the bandwidth limit-at, but did not reach max-limit. In the example
above, all clients will be guaranteed a bandwidth of the limit-at, and if any remaining, will be
distributed until the total reaches max-limit parent, in accordance with the priorities of each
client.
The amount accumulated from the limit-at not exceed max-limit parent. If that happened,
like the example below, the number of limit-at the third client is 600kbps, while the value of
max-limit parent is 400kbps, then the max-limit parent will leak. The example below assumes
that the overall capacity is able to reach a total value of the limit-at. However, if the available
bandwidth does not reach the total limit-at, then the client will return a scramble and a
happens, then the client will never reach the max-limit, and will only get a maximum speed
If all clients have the same priority, then the client will share the remaining bandwidth. Look
at the example below, all clients get the same bandwidth, approximately 130kbps (400kbps
1. HTB can only work, if the client queue rule under the level of at least 1 parent, every client
has a queue-limit parameter at and max-limit, and the parent queue must have a max-limit
quantities.
2. The total number of limit-at the client must not exceed the max-limit parent.
4. For the parent with the highest level, requires only max-limit (the limit does not require
parameters-at).
5. For all parent, or sub-parent, priority parameters are not taken into account. Priority is
6. Calculation of the new priority will be done after all limit-at (both at the queue or sub-child
know is:
1. What is the maximum number of clients who use the internet at the same time. This
amount is not necessarily equal to the number of computers available, if all the client never
2. What is the minimum number of clients who use the internet at the same time. For
Thus, for each client (created 1 client rule 1 queue), the limit is, at its 1000 / 50 = 20kbps,
Do not forget to add the parent with max-limit of 1000kbps (no limit-at), and put all the
client queue under the parent queue. If for some terminals require a greater priority, then we