I have small Wisp in Buenos Aires where iam implementing QoS. I have read all type of documents, manuals, videos, etc. Including "NetworkPro" and "Workshop QoS Best Practice".
Anyhow, i have found incomplete this documents. Or there is something that iam not understanding.
Theoretically i could assign differents rates per type of user and then priorize traffic.
This is a simplified configuration with only one type of user (so here, there is no priority for types of users, this works great!) and priorize only icmp traffic following the concepts of "Workshop QoS Best Practice".
First of all the firewall mangle:
Code: Select all
[admin@Casa] /ip firewall mangle> print
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; Conexiones
chain=forward action=mark-connection new-connection-mark=conexion
passthrough=yes src-address-list=prueba
1 chain=forward action=mark-packet new-packet-mark=trafico passthrough=yes
connection-mark=conexion
2 chain=prerouting action=mark-packet new-packet-mark=icmp passthrough=no
protocol=icmp
3 chain=prerouting action=mark-packet new-packet-mark=not imcp passthrough=n>
protocol=!icmp
Code: Select all
[admin@Casa] /queue type> print
0 name="default" kind=pfifo pfifo-limit=50
... others types.......
///////////////////////ATTENTION: MY RATES PER USERS ARE 2M FOR DOWNLOAD AND 1M FOR UPLOAD//////////////////////////////////
5 name="UP" kind=pcq pcq-rate=1M pcq-limit=50 pcq-classifier=src-address
pcq-total-limit=2000 pcq-burst-rate=0 pcq-burst-threshold=0
pcq-burst-time=10s pcq-src-address-mask=32 pcq-dst-address-mask=32
pcq-src-address6-mask=128 pcq-dst-address6-mask=128
6 name="DW" kind=pcq pcq-rate=2M pcq-limit=50 pcq-classifier=dst-address
pcq-total-limit=2000 pcq-burst-rate=0 pcq-burst-threshold=0
pcq-burst-time=10s pcq-src-address-mask=32 pcq-dst-address-mask=32
Code: Select all
[admin@Casa] /queue tree> print
Flags: X - disabled, I - invalid
/////////////////Here is the per connection queues/////////////////////////
0 name="Total Download" parent=local limit-at=0 priority=8 max-limit=0 burst-limit=0
burst-threshold=0 burst-time=0s
1 name="Download" parent=Download packet-mark=trafico limit-at=0 queue=DW
priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s
2 name="Total Upload" parent=public limit-at=0 priority=8 max-limit=0 burst-limit=>
burst-threshold=0 burst-time=0s
3 name="Upload" parent=Subida packet-mark=trafico limit-at=0 queue=UP
priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s
/////////////////Here is the traffic priozitation///////////////////////////////
//////////////////////ATTENTION: Max-limit=10M////////////////////////////
4 name="global" parent=global-in packet-mark="" limit-at=0 priority=8
max-limit=10M burst-limit=0 burst-threshold=0 burst-time=0s
5 name="ICMP" parent=global packet-mark=icmp limit-at=0
queue=default-small priority=1 max-limit=0 burst-limit=0
burst-threshold=0 burst-time=0s
6 name="NOT ICMP" parent=global packet-mark=not imcp limit-at=0
queue=default-small priority=8 max-limit=0 burst-limit=0
burst-threshold=0 burst-time=0s
This is not priorizing icmp traffic with one to five users (2M*5=10M). Pings are delayed.
Why not?
Because HTB with Queue Tree only priorize traffic if the actual bandwidth have reached Max-Limit, wich is seted on the parent queue.
Only this model works if i had a more than five users that are demanding more than 10M in total. In that case, pings are okay.
So..while the net, is not reaching the max-limit there is no traffic priozation.
Could be solved this problem?
I hope i have been clear.
My apologies for my poor english.
Take care!
Mathew