Posted: Sun Jun 09, 2024 21:29 Post subject: QoS small-packet priority best practices?
I'm digging into my network; getting it set up, dialed in, tuned properly.
Quality of Service is probably one the biggest differentiators for a high-quality connection vs a mediocre connection. Bandwidth and throughput are no longer an issue for most people, but the amount of connected devices has skyrocketed, with each connected device sending its stupid little messages, making networks more and more congested.
Anyway, for QoS packet scheduling, we have the following options:
Code:
Prioritize small TCP-packets with the following flags:
ACK SYN FIN RST ICMP
Any best practices here? Should I just select all of them?
Finally how does QoS on end user devices and wifi access points work? Windows has QoS options, and WiFi access points have their own QoS options. Where/how does this work on the network? Are there benefits to be had? WiFi bufferbloat still hasn't been solved. _________________ Google is Spyware
The attached link above also mentions about important issues of nominal bandwidth allocation and priority precedence in QoS.
Using my case as example, I mainly use QoS priority sparingly for only specifically needed devices (using their 192.168.x.x/32 addresses) for the simple reason. Borrowing water as an analogy here. The volume of water delivered per set time (from the street) to a house should, preferably, cover the total volume of water needed from critical faucets, concurrently. Otherwise, QoS settings would only be a half-useful exercise.
Furthermore, I am only familiar with the term QoS being referred to the router's priority assigned to traffic traversing through it. And it's mainly on outgoing packets, i.e. those leaving the router.
And finally, SFE is incompatible with QoS. Good luck.
The attached link above also mentions about important issues of nominal bandwidth allocation and priority precedence in QoS.
Using my case as example, I mainly use QoS priority sparingly for only specifically needed devices (using their 192.168.x.x/32 addresses) for the simple reason. Borrowing water as an analogy here. The volume of water delivered per set time (from the street) to a house should, preferably, cover the total volume of water needed from critical faucets, concurrently. Otherwise, QoS settings would only be a half-useful exercise.
Furthermore, I am only familiar with the term QoS being referred to the router's priority assigned to traffic traversing through it. And it's mainly on outgoing packets, i.e. those leaving the router.
And finally, SFE is incompatible with QoS. Good luck.
This helps but opens more questions. By all means feel free to go deep into the theory of TCP packet filtering!
Is QoS an automated thing, or do I have to specify specific application/device for it to do anything? My goal is to reduce bufferbloat on the network, which is AFAIK the greatest source of lag on the fiber fed network with fast wifi distributed throughout the living space.
I've attached a screenshot of my QoS settings as I've set them up.
What I'm curious about... My setup is basically:
Code:
fiber --> <modem> --> <x86 dd-wrt main router> --> <various access points: 1. dd-wrt AP and 5 cisco APs>
Each of these devices has options for QoS on them, additionally windows has QoS settings. What is the point of QoS on the access points and in windows? The Mac doesn't seem to have QoS settings?
Additionally I'm seeing the following from the dd-wrt QoS wiki:
dd-wrt Wiki on Qos wrote:
Set Port to "WAN". This works for all QoS setups EXCEPT, when using QoS by interface on a BRIDGED interface under "interface priority", UNBRIDGED interfaces work fine with WAN port setting. If you want to use QoS on a BRIDGED interface you must select port as "LAN & WLAN", which also works for all other QoS setups, but with slightly more CPU usage.
My understanding is that bridging is only for a wireless bridge? So my DD-WRT router that's acting as an access point over ethernet is not in a bridged configuration?
Then you bring up SFE being incompatible with QoS. Now you really put me in my place. I had both enabled, but reading about it, it seems it's only on Qualcomm based routers, so it makes no sense on my x86 router since it doesn't have a Qualcomm chip? Or is it entirely a software implementation?
dd-wrt help wrote:
Shortcut Forwarding Engine
The options are Disable SFE or CTF. SFE is a Qualcomm's opensource in Linux kernel IP packet forwarding engine, providing very high speed IP packet forwarding based on IP connection tracking. CTF is a Broadcom's proprietary Cut Through Forwarding software optimization technique to accelerate NAT traffic.
From the wiki, it seems dd-wrt disables SFE if QoS is enabled, so it's been disabled regardless.
Now regarding hte specific packets:
[url=https://en.wikipedia.org/wiki/Acknowledgement_(data_networks)?useskin=vector]ACK packet[/url]
Wouldn't an ACK packet help with file transfer throughputs like FTP?
What's the logic in not selecting certain packets? Reduce "fast-lane" bloat? I guess QoS interrupts normal traffic... like if you have two security lanes at an airport, one being a priority lane. If the priority lane always gets precedent over the normal lane, and the priority lane is always used, then the normal lane people will be stuck?
I did a quick test on my main PC that's over a ~500mbit WiFi connection (1 GBit WAN to the router). Three ookla speedtests tests: 1. QoS enabled, SFE disabled; 2. QoS disabled SFE enabled, 3. QoS and SFE disabled. Neither the throughput, nor ping times, nor measured bufferbloat were appreciably different between the three tests.
Yes I went pretty in depth on my questions, but otherwise I could simply use a web search to find the answer and/or the dd-wrt Wiki.
I do not have QoS enabled on my other devices, however I am curious what those might do/be. What does QoS in windows do? What does QoS on an access point do, or a router running dd-wrt acting as an access point.
You bring up a really interesting point: why not set the MAC addresses of my access points with QoS priority. For some reason my access points don't really show up in dd-wrt, not their IP Addresses, not their MAC addresses.... but the cisco ones can (sometimes) see the other cisco ones.
That said, I want them all to have equal (full) bandwidth, and equal priority, but priority higher than any other device on the network. How would that be implemented? _________________ Google is Spyware