Global Parent für Simple Queue wirklich nötig?
Hallo Admins,
ROS v7.5:
Als ich meine Mikrotiks vor etwa zwei Jahren bekam, hat der Verkäufer eine Grundkonfiguration erstellt, die Folgendes mit beinhaltet:
Dank der Unterhaltung mit BRMateus2 über PCQ Queue size and total queue size recommendations for 1G/50M internet habe ich die Simple Queue aktualisiert, aber immer noch kein Globales Parent verwendet, da mir gesagt wurde, dass ROS dafür sorgt, dass die Bandbreite gleichmäßig verteilt wird.
und
ABER Kürzlich ist mir jedoch aufgefallen, dass ein VLAN, das kontinuierlich Downloads durchführt, die gesamte Bandbreite verbraucht, obwohl für Benutzer 3 eine Mindestbandbreite festgelegt ist.
der Hardware geht es auch gut:
also habe ich die Konfiguration noch einmal überprüft:
basic:
advanced:
Die einzige "Abhilfe", die ich gefunden habe, ist die Verwendung eines Globalen Parents:
und machte alle vorherigen Einträge, wie im ersten Code-Block zu einem Child dieses Global Parent.
Es funktioniert nur, wenn das Ziel auf 0.0.0.0/0 gesetzt ist; wenn es nur auf dem Uplink liegt, hat das keine Auswirkungen.
Meine Theorie ist, dass dem Algorithmus nicht bekannt ist, auf welche Route/Schnittstelle sich die 20M beziehen, d.h. er weiß nicht, dass alle VLAN-Schnittstellen vom selben Kuchen essen. Wenn also Benutzer 6 kontinuierlich herunterlädt, frisst er immer freie Bandbreite, wenn ein anderer Benutzer eine Pause macht und am Ende die volle Bandbreite frisst. Wie kann ich dem Algorithmus sagen, dass die 20M zwischen allen Warteschlangen der obersten Ebene geteilt werden müssen?
Da mein Verkäufer hatte den gleichen Ansatz wie im obigen Code Block für die Anfangskonfiguration verwendet, daher bin ich ziemlich überrascht, dass ich dieses Global Parent benötige.
Gibt es einen Anhaltspunkt, warum?
merci
Stefan
ROS v7.5:
Als ich meine Mikrotiks vor etwa zwei Jahren bekam, hat der Verkäufer eine Grundkonfiguration erstellt, die Folgendes mit beinhaltet:
/queue simple
add limit-at=100M/100M max-limit=1G/1G name=admin target=vlan20-admin.sfp+
add limit-at=100M/100M max-limit=1G/1G name=mieter1 target=vlan21-mieter1.sfp+
add limit-at=100M/100M max-limit=1G/1G name=mieter2 target=vlan22-mieter2.sfp+
add limit-at=100M/100M max-limit=1G/1G name=mieter3 target=vlan23-mieter3.sfp+
add limit-at=50M/50M max-limit=100M/100M name=wlan-gast target=br.wlan-gast
Dank der Unterhaltung mit BRMateus2 über PCQ Queue size and total queue size recommendations for 1G/50M internet habe ich die Simple Queue aktualisiert, aber immer noch kein Globales Parent verwendet, da mir gesagt wurde, dass ROS dafür sorgt, dass die Bandbreite gleichmäßig verteilt wird.
/queue simple
add limit-at=0/0 max-limit=0/0 name=Intranet_unlimited target=10.10.0.0/18 dst=10.10.0.0/18 queue=pcq-up/pcq-down
add limit-at=10M/10M max-limit=90M/90M name=USER1 target=VLAN_USER1 queue=pcq-up/pcq-down
add limit-at=10M/10M max-limit=90M/90M name=USER2 target=VLAN_USER2 queue=pcq-up/pcq-down
add limit-at=10M/10M max-limit=90M/90M name=USER3 target=VLAN_USER3 queue=pcq-up/pcq-down
add limit-at=10M/10M max-limit=90M/90M name=USER4 target=VLAN_USER4 queue=pcq-up/pcq-down
add limit-at=10M/10M max-limit=90M/90M name=USER5 target=VLAN_USER5 queue=pcq-up/pcq-down
add limit-at=10M/10M max-limit=90M/90M name=USER6 target=VLAN_USER6 queue=pcq-up/pcq-down
add limit-at=10M/10M max-limit=90M/90M name=USER7 target=VLAN_USER7 queue=pcq-up/pcq-down
add limit-at=10M/10M max-limit=90M/90M name=USER8 target=VLAN_USER8 queue=pcq-up/pcq-down
add limit-at=10M/10M max-limit=90M/90M name=GUEST target=VLAN_GUEST queue=pcq-up/pcq-down
add max-limit=10M/10M name=SERVICES-GLOBAL target=Combo1
add limit-at=1M/1M max-limit=10M/10M name=COMMON-SERVICES target=VLAN_COMMON queue=pcq-up/pcq-down parent="SERVICES-GLOBAL"
add limit-at=1M/1M max-limit=10M/10M name=SYSTEM-SERVICES target=VLAN_SYS queue=pcq-up/pcq-down parent="SERVICES-GLOBAL"
add limit-at=1M/1M max-limit=10M/10M name=IoT target=VLAN_IoT queue=pcq-up/pcq-down parent="SERVICES-GLOBAL"
[adminuser@CR_2B_MT-CCR1009-8G-1S-1S+] /queue/type> print
Flags: * - default
5 name="pcq-up" kind=pcq pcq-rate=0 pcq-limit=4KiB pcq-classifier=src-address,dst-address pcq-total-limit=400KiB 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="pcq-down" kind=pcq pcq-rate=0 pcq-limit=4KiB pcq-classifier=src-address,dst-address pcq-total-limit=400KiB 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
ABER Kürzlich ist mir jedoch aufgefallen, dass ein VLAN, das kontinuierlich Downloads durchführt, die gesamte Bandbreite verbraucht, obwohl für Benutzer 3 eine Mindestbandbreite festgelegt ist.
der Hardware geht es auch gut:
also habe ich die Konfiguration noch einmal überprüft:
basic:
advanced:
Die einzige "Abhilfe", die ich gefunden habe, ist die Verwendung eines Globalen Parents:
1 name="UPLINK" target="" parent=none packet-marks="" priority=8/8 queue=default-small/default-small limit-at=0/0 max-limit=20M/20M burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s bucket-size=0.1/0.1
Es funktioniert nur, wenn das Ziel auf 0.0.0.0/0 gesetzt ist; wenn es nur auf dem Uplink liegt, hat das keine Auswirkungen.
Meine Theorie ist, dass dem Algorithmus nicht bekannt ist, auf welche Route/Schnittstelle sich die 20M beziehen, d.h. er weiß nicht, dass alle VLAN-Schnittstellen vom selben Kuchen essen. Wenn also Benutzer 6 kontinuierlich herunterlädt, frisst er immer freie Bandbreite, wenn ein anderer Benutzer eine Pause macht und am Ende die volle Bandbreite frisst. Wie kann ich dem Algorithmus sagen, dass die 20M zwischen allen Warteschlangen der obersten Ebene geteilt werden müssen?
Da mein Verkäufer hatte den gleichen Ansatz wie im obigen Code Block für die Anfangskonfiguration verwendet, daher bin ich ziemlich überrascht, dass ich dieses Global Parent benötige.
Gibt es einen Anhaltspunkt, warum?
merci
Stefan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4833128143
Url: https://administrator.de/contentid/4833128143
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
6 Kommentare
Neuester Kommentar
Deine einzelnen Simple-Queues gelten immer nur für einen User da aber ein Queue wenn er nicht mehrere User mit einbezieht nicht die Bandbreite auf mehrere User verteilen kann braucht es eine Instanz die festlegt was insgesamt an Bandbreite da ist nämlich einen Parent-Queue mit Max-Limit auf den max. Durchsatz gesetzt.
Alternativ markierst du die Pakete der User und trägst die PaketMark in einen Queue ein dann gilt ein Queue für mehrere User und die Bandbreite wird wieder korrekt aufgeteilt, weil die User alle zu diesem Queue gehören.
Ich würde solche Szenarien lieber mit Queue-Trees und Tags realisieren. Simple-Queues sind hier um einiges eingeschränkt unter anderem wenn es um aktiviertes Fasttracking geht dann gehen die Pakete mal eben bei Simple-Queues an diesen vorbei und nicht mehr durch den Queue.
Und zur Info, Shaping wird immer nur aus den jeweiligen Interfaces ausgehend vorgenommen, siehe PacketFlow.
Siehe:
https://help.mikrotik.com/docs/display/ROS/Queues
Uk.
Alternativ markierst du die Pakete der User und trägst die PaketMark in einen Queue ein dann gilt ein Queue für mehrere User und die Bandbreite wird wieder korrekt aufgeteilt, weil die User alle zu diesem Queue gehören.
Ich würde solche Szenarien lieber mit Queue-Trees und Tags realisieren. Simple-Queues sind hier um einiges eingeschränkt unter anderem wenn es um aktiviertes Fasttracking geht dann gehen die Pakete mal eben bei Simple-Queues an diesen vorbei und nicht mehr durch den Queue.
Und zur Info, Shaping wird immer nur aus den jeweiligen Interfaces ausgehend vorgenommen, siehe PacketFlow.
Siehe:
https://help.mikrotik.com/docs/display/ROS/Queues
Uk.