Community discussions

MikroTik App
 
hadarelv
just joined
Topic Author
Posts: 9
Joined: Sat Jan 15, 2022 10:59 am

Limit-at not satisfied

Mon Jan 24, 2022 7:21 pm

Good day

I want to configure my wAP ac in such way, that it will always guarantee desired amount of bandwidth for a specific TCP connection. I have 4 streams - high prio, medium prio, low prio and bulk.
All 4 streams are generated by iperf3 (run at full speed <=> send as much as you can). I am transferring data over 2.4GHz B-channel to simulate low available bandwidth (I get ~5.5-6Mbps).

Requirements:
1. I need that high prio streams always gets 3Mbps in every situation, even if max-limit is not reached.
2. Max-limit can not be set to 90% of the link capacity as everyone suggests, because I do not know the current max-limit of my connection. It can be 5Mbit, can also be 3 or 6depending on conditions.
3. At any point I want to use all of currently available Bandwidth, so "hard-limiting" my connection with a max-limit is not a solution

What I see is that if the max-limit is not reached, the available bandwidth is divided equally between all flows, not respecting the limit-at parameter. Hence, high prio stream does not get enough bandwidth, but low prio gets more than needed.

If I set max-limit to say 5M, everything is distributed correctly -> 3M to high prio, 500k to medium, etc..

After (a lot of ) experimenting with different configurations, reading wiki, forums I still can not get it right.
My packets are marked and classified correctly, appropriate counters increase in the Queue Tree Tab.

Hardware used:
# model = RBwAPG-5HacT2HnD

Current Queue Tree configuration:

/queue tree

add max-limit=10M name=to-fr-parent parent=global

add limit-at=3M max-limit=10M name=to-fr-high-prio packet-mark=br-high-prio-to-fr-5150 parent=to-fr-parent priority=1 queue=default-small
add limit-at=1M max-limit=10M name=to-fr-low-prio packet-mark=br-low-to-fr-5170 parent=to-fr-parent queue=default-small
add limit-at=500k max-limit=10M name=to-fr-medium-prio packet-mark=br-medium-to-fr-5160 parent=to-fr-parent priority=4 queue=default-small
add limit-at=500k max-limit=10M name=to-fr-iperf packet-mark=iperf-to-fr-5101 parent=to-fr-parent queue=default-small

How can I make limit-at work even if my max-limit is not achieved? Is it possible to guarantee specific bandwidth to a specific stream at all times (considering there is enough physical bandwidth available)?

Thank You in advance

Who is online

Users browsing this forum: GoogleOther [Bot], McSee and 30 guests