Reading tutorial
MikroTik RouterOS • View topic - Using RouterOS to prioritize (Qos) traffic for a Class C net
I dont understand why create two top level tree nodes same ether-wan iface, instead of single top level node with parent = ether-wan and children under single parent. What is the reason for level_A and level_B ?
It seems that two top level queue trees having same parent would throttle independently form each other and contend for bandwidth without knowning about each other. That is LEVEL_A_UP and LEVEL_B_UP both with max = 900k, when maxed out would create need for 1800k, thus overflowing the upload link capacity.
add name="LEVEL_A_UP" parent=ether-WAN queue=default max-limit=900k
add name="LEVEL_A_DOWN" parent=ether-LAN queue=default max-limit=4M
add name="LEVEL_B_UP" parent=ether-WAN queue=default max-limit=900k
add name="LEVEL_B_DOWN" parent=ether-LAN queue=default max-limit=4M
Add our marked connections as children of queue so priority works.
In the example you posted, there are 2 queues, each at 4M for a total of 8M. This allows VOIP some dedicated bandwidth, though the example isn’t a very effecient way to do it.
The better way, would be to create a parent to hold all the bandwidth, then several children to divy that bandwidth up. You might reserve 256k up/down for VOIP, another 256k up/down for ssh/telnet/icmp/dns, 6M for web browsing, and the final 1.5M for everything else.
This would ensure that you always have enough bandwidth for VOIP and interactive stuff, have a snappy browsing experience, while still letting your torrents (or whatever) hammer away at whatever bandwidth it can find.
PCQ adds another dimension to this. Various protocols will always have priority when they need it, but otherwise, available bandwidth can be used by something else. It’s pretty cool to be able to talk on the phone and play FSP games while you have torrents running full-speed in the background.
There are a few decnet PCQ/QT QOS scripts floating around that should give you a great start on bandwidth management.
You’d have to ask the authors of the configs you’re looking at.
All-Bandwidth should be just that… a queue for all bandwidth. In my experience, you will want to set this to slightly below your actual bandwidth from your provider so everything has some breathing room. This should be a parent for any child queues that will eventually divy up your bandwidth on a per-user and/or per-service basis.