Hi everyone.
I am new to networks and RouterOS, and I am trying to QoS my internet.
My router is the RB951G-2HnD, my internet line is a 35Mbps/3Mbps VDSL2 (soon upgraded to 50/10), and I have a bit large SOHO network that connects 3 households, with about 40-50 different devices and many demanding users.
Most used applications are online games (so need of ultra-low latency), VoIP calls (Skype, Viber) cloud transfers (Google Drive/Dropbox/Onedrive), torrent downloading/seeding (24/7), HD streaming, and also 2 Windows servers offering HTTP/FTP/VPN services to the outside.
As you understand, big amount of upload traffic that has to be prioritized. The target I want to achieve is to use as much as possible bandwidth, but keep the low-bandwidth and ultra-low-latency applications working (Online gaming, VoIP calls, SSH). I have started reading on the internet, and I have understood that you have to create Mangles for marking the traffic and them add them on a Queue Tree.
The problem I am experiencing is that when 2 different priority upload tasks are working (e.g. a Google Drive upload and a torrent seeding), latency problems and packet loss show up (seems that all the available bandwidth exhausts), even I have a priority for VoIP/OnlineGaming/ICMP.
I am submitting my Queue Tree and Mangles, for anyone that has the time to help me to this big problem.
/queue tree
add comment=---DOWNLOAD--- disabled=yes max-limit=32500k name=Download \
parent=global queue=pcq-download-default
add comment=---UPLOAD--- disabled=yes name=Upload parent=global queue=\
pcq-upload-default
add comment="TCP, ACK, DNS, ICMP, NTP, SNMP" disabled=yes limit-at=1M \
max-limit=32500k name=1-DL packet-mark=QoS_1-dl parent=Download priority=\
1 queue=pcq-download-default
add comment="P2P, Torrents" disabled=yes max-limit=32M name=8-DL packet-mark=\
QoS_8-dl parent=Download queue=pcq-download-default
add comment="Downloading, FTP, Sync" disabled=yes max-limit=32M name=7-DL \
packet-mark=QoS_7-dl parent=Download priority=7 queue=\
pcq-download-default
add comment="All Others" disabled=yes limit-at=1M max-limit=32M name=6-DL \
packet-mark=QoS_6-dl parent=Download priority=6 queue=\
pcq-download-default
add comment="Browsing, Email, FTP" disabled=yes limit-at=2M max-limit=32500k \
name=5-DL packet-mark=QoS_5-dl parent=Download priority=5 queue=\
pcq-download-default
add comment="PRTG - VPN (PPTP, OpenVPN) - RDP - Winbox - Webfig" disabled=yes \
limit-at=1M max-limit=32500k name=4-DL packet-mark=QoS_4-dl parent=\
Download priority=4 queue=pcq-download-default
add comment="VoIP, PRTG Cloud" disabled=yes limit-at=1M max-limit=32500k \
name=3-DL packet-mark=QoS_3-dl parent=Download priority=3 queue=\
pcq-download-default
add comment="Online Gaming" disabled=yes limit-at=1M max-limit=32500k name=\
2-DL packet-mark=QoS_2-dl parent=Download priority=2 queue=\
pcq-download-default
add comment="TCP, ACK, DNS, ICMP, NTP, SNMP" disabled=yes limit-at=512k \
max-limit=2750k name=1-UL packet-mark=QoS_1-up parent=Upload priority=1 \
queue=pcq-upload-default
add comment="Online Gaming" disabled=yes limit-at=512k max-limit=2750k name=\
2-UL packet-mark=QoS_2-up parent=Upload priority=2 queue=\
pcq-upload-default
add comment="VoIP, PRTG Cloud" disabled=yes limit-at=512k max-limit=2750k \
name=3-UL packet-mark=QoS_3-up parent=Upload priority=3 queue=\
pcq-upload-default
add comment="PRTG - VPN (PPTP, OpenVPN) - RDP - Winbox - Webfig" disabled=yes \
limit-at=512k max-limit=2750k name=4-UL packet-mark=QoS_4-up parent=\
Upload priority=4 queue=pcq-upload-default
add comment="Browsing, Email, FTP" disabled=yes limit-at=512k max-limit=2750k \
name=5-UL packet-mark=QoS_5-up parent=Upload priority=5 queue=\
pcq-upload-default
add comment="All Others" disabled=yes limit-at=128k max-limit=2500k name=6-UL \
packet-mark=QoS_6-up parent=Upload priority=6 queue=pcq-upload-default
add comment="Downloading, FTP, Sync" disabled=yes max-limit=2500k name=7-UL \
packet-mark=QoS_7-up parent=Upload priority=7 queue=pcq-upload-default
add comment="P2P, Torrents" disabled=yes max-limit=2500k name=8-UL \
packet-mark=QoS_8-up parent=Upload queue=pcq-upload-default
/ip firewall mangle
add action=mark-packet chain=forward comment=TCP in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_1-dl passthrough=no protocol=tcp tcp-flags=syn
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=tcp tcp-flags=syn
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_1-dl passthrough=no protocol=tcp tcp-flags=fin,ack
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=tcp tcp-flags=fin,ack
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_1-dl passthrough=no protocol=tcp tcp-flags=rst,ack
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=tcp tcp-flags=rst,ack
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_1-dl passthrough=no protocol=tcp tcp-flags=rst
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=tcp tcp-flags=rst
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_1-up passthrough=no protocol=tcp tcp-flags=syn,ack
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=tcp tcp-flags=syn,ack
add action=mark-packet chain=forward comment=ACK in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_1-dl packet-size=0-123 passthrough=no protocol=tcp \
tcp-flags=ack
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
PPPoE-Ethernet1 packet-size=0-123 passthrough=no protocol=tcp tcp-flags=\
ack
add action=mark-packet chain=forward comment=ICMP in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_1-dl passthrough=no protocol=icmp
add action=mark-packet chain=forward new-packet-mark=QoS_1-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=icmp
add action=mark-packet chain=input in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_1-dl passthrough=no protocol=icmp
add action=mark-packet chain=output new-packet-mark=QoS_1-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=icmp
add action=mark-packet chain=input comment=DNS in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_1-dl passthrough=no protocol=udp src-port=53
add action=mark-packet chain=output dst-port=53 new-packet-mark=QoS_1-up \
out-interface=PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_1-dl passthrough=no protocol=udp src-port=53
add action=mark-packet chain=forward dst-port=53 new-packet-mark=QoS_1-up \
out-interface=PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-packet chain=prerouting in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_1-dl passthrough=no protocol=udp src-port=53
add action=mark-packet chain=postrouting dst-port=53 new-packet-mark=QoS_1-up \
out-interface=PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-packet chain=forward comment=NTP in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_1-dl passthrough=no protocol=udp src-port=123
add action=mark-packet chain=forward dst-port=123 new-packet-mark=QoS_1-up \
out-interface=PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-packet chain=input in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_1-dl passthrough=no protocol=udp src-port=123
add action=mark-packet chain=output dst-port=123 new-packet-mark=QoS_1-up \
out-interface=PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-packet chain=forward comment=SNMP in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_1-dl passthrough=no protocol=udp \
src-port=161
add action=mark-packet chain=forward dst-port=161 new-packet-mark=QoS_1-up \
out-interface=PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-connection chain=forward comment=LOL connection-state=new \
new-connection-mark=LOL port=2099,5223,5222,8393-8400,8088 protocol=tcp
add action=mark-connection chain=forward connection-state=new \
new-connection-mark=LOL port=5000-5500,8088 protocol=udp
add action=mark-packet chain=forward connection-mark=LOL in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_2-dl passthrough=no
add action=mark-packet chain=forward connection-mark=LOL new-packet-mark=\
QoS_2-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment=Skype connection-state=new \
new-connection-mark=SkypeDesktop port=53456,54567 protocol=tcp
add action=mark-connection chain=forward connection-state=new \
new-connection-mark=SkypeDesktop port=53456,54567 protocol=udp
add action=mark-packet chain=forward connection-mark=SkypeDesktop \
in-interface=PPPoE-Ethernet1 new-packet-mark=QoS_3-dl passthrough=no
add action=mark-packet chain=forward connection-mark=SkypeDesktop \
new-packet-mark=QoS_3-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment="PRTG Cloud" \
connection-state=new new-connection-mark=PRTG-Cloud-SRC protocol=tcp \
src-address-list=host_api.prtgcloud.com
add action=mark-connection chain=forward connection-state=new \
dst-address-list=host_api.prtgcloud.com new-connection-mark=\
PRTG-Cloud-DST protocol=tcp
add action=mark-packet chain=forward connection-mark=PRTG-Cloud-DST \
new-packet-mark=QoS_3-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-packet chain=forward connection-mark=PRTG-Cloud-SRC \
in-interface=PPPoE-Ethernet1 new-packet-mark=QoS_3-dl passthrough=no
add action=mark-connection chain=forward comment=PRTG connection-state=new \
new-connection-mark=PRTG port=8443 protocol=tcp
add action=mark-packet chain=forward connection-mark=PRTG in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_4-dl passthrough=no
add action=mark-packet chain=forward connection-mark=PRTG new-packet-mark=\
QoS_4-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment=RDP connection-state=new \
new-connection-mark=RDP port=21234,22345,23456,24567,3389 protocol=tcp
add action=mark-connection chain=forward connection-state=new \
new-connection-mark=RDP port=21234,22345,23456,24567,3389 protocol=udp
add action=mark-packet chain=forward connection-mark=RDP in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_4-dl passthrough=no
add action=mark-packet chain=forward connection-mark=RDP new-packet-mark=\
QoS_4-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=input comment=Winbox connection-state=new \
dst-port=8921 new-connection-mark=Winbox protocol=tcp
add action=mark-packet chain=input connection-mark=Winbox in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_4-dl passthrough=no
add action=mark-packet chain=output connection-mark=Winbox new-packet-mark=\
QoS_4-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment="Webfig Secure" \
connection-state=new new-connection-mark=Webfig port=9443 protocol=tcp
add action=mark-packet chain=forward connection-mark=Webfig in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_4-dl passthrough=no
add action=mark-packet chain=forward connection-mark=Webfig new-packet-mark=\
QoS_4-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment=VPN connection-state=new \
dst-port=53 in-interface=PPPoE-Ethernet1 new-connection-mark=Softether \
protocol=udp
add action=mark-packet chain=forward connection-mark=Softether in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_4-dl passthrough=no
add action=mark-packet chain=forward connection-mark=Softether \
new-packet-mark=QoS_4-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=input connection-state=new dst-port=1723 \
in-interface=PPPoE-Ethernet1 new-connection-mark=PPTP protocol=tcp
add action=mark-packet chain=input connection-mark=PPTP in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_4-dl passthrough=no
add action=mark-packet chain=output connection-mark=PPTP new-packet-mark=\
QoS_4-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment=HTTP dst-port=80,443,8080 \
new-connection-mark=HTTP-TCP protocol=tcp
add action=mark-packet chain=forward connection-bytes=0-5000000 \
connection-mark=HTTP-TCP in-interface=PPPoE-Ethernet1 new-packet-mark=\
QoS_5-dl passthrough=no protocol=tcp
add action=mark-packet chain=forward connection-bytes=0-1000000 \
connection-mark=HTTP-TCP new-packet-mark=QoS_5-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=tcp
add action=mark-packet chain=forward connection-bytes=5000000-0 \
connection-mark=HTTP-TCP in-interface=PPPoE-Ethernet1 new-packet-mark=\
QoS_7-dl passthrough=no protocol=tcp
add action=mark-packet chain=forward connection-bytes=1000000-0 \
connection-mark=HTTP-TCP new-packet-mark=QoS_7-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=tcp
add action=mark-connection chain=forward connection-state=new dst-port=\
80,443,8080 new-connection-mark=HTTP-UDP protocol=udp
add action=mark-packet chain=forward connection-bytes=0-5000000 \
connection-mark=HTTP-UDP in-interface=PPPoE-Ethernet1 new-packet-mark=\
QoS_5-dl passthrough=no protocol=udp
add action=mark-packet chain=forward connection-bytes=0-1000000 \
connection-mark=HTTP-UDP new-packet-mark=QoS_5-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-packet chain=forward connection-bytes=5000000-0 \
connection-mark=HTTP-UDP in-interface=PPPoE-Ethernet1 new-packet-mark=\
QoS_7-dl passthrough=no protocol=udp
add action=mark-packet chain=forward connection-bytes=1000000-0 \
connection-mark=HTTP-UDP new-packet-mark=QoS_7-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=udp
add action=mark-connection chain=forward comment=\
"Email (POP3/POP3S/IMAP/IMAPS/SMTP/SMTPS)" connection-state=new dst-port=\
25,102,110,119,143,379,389,390,465,522,563,585,587,993,995 \
new-connection-mark=Email protocol=tcp
add action=mark-connection chain=forward connection-state=new dst-port=\
636,691,3268,3269 new-connection-mark=Email protocol=tcp
add action=mark-packet chain=forward connection-mark=Email in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_5-dl passthrough=no
add action=mark-packet chain=forward connection-mark=Email connection-state=\
established new-packet-mark=QoS_5-up out-interface=PPPoE-Ethernet1 \
passthrough=no
add action=mark-connection chain=forward comment=FTP connection-state=new \
dst-port=20,21 new-connection-mark=FTP protocol=tcp
add action=mark-packet chain=forward connection-mark=FTP in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_7-dl passthrough=no
add action=mark-packet chain=forward connection-mark=FTP new-packet-mark=\
QoS_7-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment="Bittorrent Sync" \
connection-state=new new-connection-mark=Sync port=\
41234,42345,43456,44567 protocol=tcp
add action=mark-connection chain=forward connection-state=new \
new-connection-mark=Sync port=41234,42345,43456,44567 protocol=udp
add action=mark-packet chain=forward connection-mark=Sync in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_7-dl passthrough=no
add action=mark-packet chain=forward connection-mark=Sync new-packet-mark=\
QoS_7-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment=P2P connection-state=new \
new-connection-mark=P2P port=31234,32345,33456,34567,40500 protocol=tcp
add action=mark-connection chain=forward connection-state=new \
new-connection-mark=P2P port=31234,32345,33456,34567,40500 protocol=udp
add action=mark-connection chain=forward connection-state=new \
new-connection-mark=P2P p2p=all-p2p
add action=mark-packet chain=forward connection-mark=P2P in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_8-dl passthrough=no
add action=mark-packet chain=forward connection-mark=P2P new-packet-mark=\
QoS_8-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment=AllOthers connection-state=\
new new-connection-mark=AllOthers
add action=mark-packet chain=forward connection-mark=AllOthers in-interface=\
PPPoE-Ethernet1 new-packet-mark=QoS_6-dl passthrough=no
add action=mark-packet chain=forward connection-mark=AllOthers \
new-packet-mark=QoS_6-up out-interface=PPPoE-Ethernet1 passthrough=no
add action=mark-connection chain=forward comment="All others" \
connection-state=new new-connection-mark=AllOthers protocol=tcp
add action=mark-connection chain=forward connection-state=new \
new-connection-mark=AllOthers protocol=udp
add action=mark-connection chain=forward connection-state=new \
new-connection-mark=AllOthers
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_7-dl passthrough=no
add action=mark-packet chain=forward new-packet-mark=QoS_7-up out-interface=\
PPPoE-Ethernet1 passthrough=no
add action=mark-packet chain=input in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_7-dl passthrough=no
add action=mark-packet chain=output new-packet-mark=QoS_7-up out-interface=\
PPPoE-Ethernet1 passthrough=no
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_7-dl passthrough=no protocol=tcp
add action=mark-packet chain=forward new-packet-mark=QoS_7-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=tcp
add action=mark-packet chain=forward in-interface=PPPoE-Ethernet1 \
new-packet-mark=QoS_7-dl passthrough=no protocol=udp
add action=mark-packet chain=forward new-packet-mark=QoS_7-up out-interface=\
PPPoE-Ethernet1 passthrough=no protocol=udp